Ping (zestyping) wrote,

Condorcet elections.

This evening at our weekly house meeting, my house voted nearly unanimously to put Condorcet elections on the next paper ballot. If the bylaw change passes by a 2/3 vote, we will use Condorcet (specifically the Schulze method) for all house elections from now on.

Condorcet voting is based on a simple principle:
The Condorcet winner is the candidate who defeats all the other candidates in one-on-one contests.
In sports, a "round-robin tournament" is one in which each contestant is matched against every other contestant. Condorcet is instant round-robin voting.

In a Condorcet election, the voters are asked to rank the candidates by writing numbers next to candidates on the ballot. Voters can rank multiple candidates with the same number to indicate that they are equally preferred, and can leave candidates unmarked if they don't care about them. Voters can vote for one candidate if they want (as in plurality), vote equally for all acceptable candidates (as in approval), or provide more detailed rankings if they want.

To count the ballots, each candidate is compared with every other candidate in a one-on-one contest. For each contest, the ballots are counted based on which of the two candidates is ranked higher, thus revealing which one is more preferred by the voters as a whole.

Usually, one candidate will defeat all the others in these pairwise contests; that candidate is the Condorcet winner. In rare cases, it is possible for there to be no Condorcet winner; for example, it is possible that most voters prefer A to B, most prefer B to C, and most prefer C to A. The Schulze method resolves this ambiguity by successively disregarding the narrowest defeat until there is a winner.

(The Schulze method is known by many names, including "Beatpath", "Path Winner", and "SSD". On Wikipedia it is called Cloneproof Schwartz Sequential Dropping. This is the Condorcet completion method used by Debian and UserLinux.)

I was pretty surprised that there was such strong support for a method that is relatively complicated and requires a computer to run. I can hardly believe it, actually. But i'm delighted to see it. If this passes, Kingman will have the most accurate election method in all of the USCA.

To make elections feasible to run, i put together a Schulze implementation in Python and packaged it on a CD with the necessary scaffolding to make it run on Linux, Mac OS, and Windows. The files include detailed instructions. The interface is crude, but i tried hard to make it foolproof. The hope is that long after i'm gone someone will be able to just pop in this CD and successfully run a Condorcet election. Here is a zip file of the contents of the CD. If you feel like giving it a whirl, I'd love to hear feedback about what works or doesn't work, what is obvious or hard to figure out. Please feel free to take the distribution, use it anywhere, make your own CDs, etc.

Does anyone know of any other co-ops that use a Condorcet method? Or organizations of any kind, for that matter, other than those listed on Wikipedia?

I did a little reading about Tideman (ranked pairs) and Schulze (beatpath) when trying to choose a completion method, but couldn't find much information to help compare them on objective criteria. I'd be interested in hearing arguments for or against either option.

I still find approval voting to be more practical as a proposal for general election reform. Here's a nice colourful page illustrating how approval solves all of the important problems with plurality. Condorcet is a more expressive method than approval, and having Condorcet here in our small 48-member organization would be great, but i don't see how we could possibly get the general public to fully understand how a Condorcet election is conducted.
  • Post a new comment


    default userpic

    Your IP address will be recorded