Thinking about voting

Essay: Simulation Of Various Voting Models for Close Elections

OR: Making Democracy Safe For The World

Abstract

One vote can only serve to differentiate between two candidates. In close elections, a third party "C" can become a spoiler such that "A" gets elected while the "C" voters would have preferred "B" over "A". This essay and simulation explores several improved voting systems.

Systems tested: Acceptance, Instant Runoff, Ranked (Borda), Fuzzy, Condorcet, and some variations of those. These procedures are explained in the...

Voting Essay (HTML 11k) (PDF, 76k) (RTF, 16k) (plain text, 8k)

Results

Graphs over various numbers of voters and choices and error rates.

I've seen a few contrived voting sets online to illustrate points. Just as a check I ran them.

See the raw data as html tables, which includes not-yet-graphed measures of reliability and consensus. Or, download the extra-raw archive of all the data. The source archive includes scripts I used to process this data.

Simulator

Download the C++ source code (20k) to the simulator. Includes all the voting systems.

See Also Voting Utility source code.

(included in above source archive) A perl script that makes nice ballots. (and the input data for that ballot) (CGI processing is left as an exercise to the reader)

To Do:


Email me.