Tomasz-
There are many simple programs to calculate Condorcet winner, like this one: http://www.eskimo.com/~robla/politics/condorcet-program.html
That's exactly the problem -- instead of the voting process being so simple that a six year old could understand it, you now need a program to determine the winner. Voting systems of this complexity are prone to a problem which the geeky voting analysts usually ignore: voter confusion. This confusion in turn can be exploited for a strategy known under the name "bad advice": "If you vote so and so, the Condorcet winner will be FOO. You want FOO to win, don't you?" It can also be used for fraud as fewer people will be able to validate the results, and can lead to voter fatigue, because it leaves many voters unsatisfied as they do not understand why a certain candidate won.
Debian has Condorcet software integrated with GPG-signed voting by mail, but it's a bit too heavy procedure for us.
Nice that even you admit that. Learning from Debian when it comes to usability is never a good idea. Their voting procedure is described this way in their constitution:
- - - 1. Each voter's ballot ranks the options being voted on. Not all options need be ranked. Ranked options are considered preferred to all unranked options. Voters may rank options equally. Unranked options are considered to be ranked equally with one another. Details of how ballots may be filled out will be included in the Call For Votes. 2. If the ballot has a quorum requirement R any options other than the default option which do not receive at least R votes ranking that option above the default option are dropped from consideration. 3. Any (non-default) option which does not defeat the default option by its required majority ratio is dropped from consideration. 1. Given two options A and B, V(A,B) is the number of voters who prefer option A over option B. 2. An option A defeats the default option D by a majority ratio N, if V(A,D) is strictly greater than N * V(D,A). 3. If a supermajority of S:1 is required for A, its majority ratio is S; otherwise, its majority ratio is 1. 4. From the list of undropped options, we generate a list of pairwise defeats. 1. An option A defeats an option B, if V(A,B) is strictly greater than V(B,A). 5. From the list of [undropped] pairwise defeats, we generate a set of transitive defeats. 1. An option A transitively defeats an option C if A defeats C or if there is some other option B where A defeats B AND B transitively defeats C. 6. We construct the Schwartz set from the set of transitive defeats. 1. An option A is in the Schwartz set if for all options B, either A transitively defeats B, or B does not transitively defeat A. 7. If there are defeats between options in the Schwartz set, we drop the weakest such defeats from the list of pairwise defeats, and return to step 5. 1. A defeat (A,X) is weaker than a defeat (B,Y) if V(A,X) is less than V(B,Y). Also, (A,X) is weaker than (B,Y) if V(A,X) is equal to V(B,Y) and V(X,A) is greater than V(Y,B). 2. A weakest defeat is a defeat that has no other defeat weaker than it. There may be more than one such defeat. 8. If there are no defeats within the Schwartz set, then the winner is chosen from the options in the Schwartz set. If there is only one such option, it is the winner. If there are multiple options, the elector with the casting vote chooses which of those options wins.
Note: Options which the voters rank above the default option are options they find acceptable. Options ranked below the default options are options they find unacceptable.
- - -
Now try to explain this procedure to the average American voter. Hilarity and/or violence ensues.
Regards,
Erik