On Wed, Mar 27, 2002 at 11:38:59AM -0600, Manoj Srivastava wrote: > This year we are using a new method of properly determining > concordcet ballots using the Cloneproof SSD method. The script that > calculates this is appended below.
"Condorcet" ballots. The history's this: way back in the day, some guy called "Condorcet" invented some nice properties voting systems should have, then created some ballot counting systems that had them, and was then promptly ignored. The people who study such things seem to think that condorcet ballot counting is the way to go, and when the constitution was proposed it included a system (as far as anyone knows) mistitled "Concorde" voting that is a hybrid of a condorcet system and an alternate vote system, which is good, but not as good as some other systems. After the non-free vote died last year, some of us got together with some election methods geeks, to try to fix various bugs, and almost got to a consensus on using a condorcet method called "Cloneproof SSD". I wrote a script to do this processing, which I think is what Manoj is using, and is at http://people.debian.org/~ajt/cloneproof_ssd.pl . Note, though, that Cloneproof SSD is *not* the system given in the constitution; it'll choose the same result in most cases (including all the votes we've had so far, I believe), but in some corner case, it's won't. > As far as I can see, this script does handle repeated ranking > (I'm sure I'll be corrected post haste if I have misread the > script). If we're talking about my script, I believe it does cope with equal rankings, and also with interprets all ranked candidate as being preferred over all unranked candidate. That is, it interprets "---1" the same as "2221", and takes that as not expressing any preference between any of the candidates, but ranking none-of-the-above as better than all of them. Note that condorcet voting is a full preferential system -- even if you'd rather none of the candidates become DPL and vote that way, your vote can still indicate who you dislike less, and that will be used in the final result. I'd thought Manoj was planning on running both scripts (the one based on the constitution and the one implementing Cloneproof SSD) over the ballots. For those who care, the Cloneproof SSD (Schwartz Sequential Dropping) system works like this: 1. For each pair of candidates A, B; calculate ranking[A,B], the number of ballots that indicated a preference for candidate A over candidate B. A is said to have beaten B if ranking[A,B] is strictly greater than ranking[B,A]. 2. A "defeats" list is setup, listing pairs of candidates A,B where candidate A beats candidate B. A defeat (of A over B, versus C over D) is considered stronger if ranking[A,B] > ranking[C,D], or, if they're equal, ranking[B,A] < ranking[D,C]. 3. The Schwartz set of candidates is calculated based on the defeats list: * An unbeaten set is a set of candidates such that no candidate outside the set defeats any candidate inside the set. * An innermost unbeaten set is an unbeaten set that doesn't have a proper subset that is also unbeaten. * The Schwartz set is the union of all the innermost unbeaten sets. Innermost unbeaten sets will have more than one member in the event of cycles, eg 28 people vote Branden > Raphael > Bdale, 30 people vote Raphael > Bdale > Branden, 32 people vote Bdale > Branden > Raphael (which has Bdale beats Branden, Branden beats Raphael, and Raphael beats Bdale). There can be more than one innermost unbeaten set in the event of exact ties between candidates. 4. If the Schwartz set has just one candidate, that candidate wins. 5. If not, drop the weakest defeat between candidates in the Schwartz set, then recalculate go back to step (3). If there's more than one weakest defeat, drop all weakest defeats. If there weren't any defeats left to drop, then there is a tie between the candidates remaining in the Schwartz set. Cheers, aj -- Anthony Towns <[EMAIL PROTECTED]> <http://azure.humbug.org.au/~aj/> I don't speak for anyone save myself. GPG signed mail preferred. ``Debian: giving you the power to shoot yourself in each toe individually.'' -- with kudos to Greg Lehey
msg01596/pgp00000.pgp
Description: PGP signature