Simulation Of Elections
Systems tested: Acceptance, Instant Runoff, Ranked (Borda), Rated, Condorcet, and some variations of those. These procedures and the results are explained in the...
Election Simulation Paper (HTML 36k)
(PDF, 44k)
Results
Forms of Rated voting achieve the best results when voters cast
honest and accurate votes. Acceptance voting is very simple
and produces good results, so may be more practical to implement
(and it should be implementied as soon as possible).
Condorcet has some good properties but due to complexity it may not go
over well with a public that would have trouble understanding it.
Instant Runoff produces results only barely better than the current single
vote system and has some bad properties which make in undesirable.
Two representative graphs with captions. This is the short-short version of my results.
Many graphs over various numbers of voters and choices and error rates. Includes newly graphed data on reliability and consensus.
I've seen a few contrived voting sets
online to illustrate points. Just as a check I ran them.
Reccomendations
Use Normalized Ratings, Cordorcet Rankings or Acceptance Votes.
All fairly and accurately record the will of the people, considering the votes in whole, and all are resistant to strategic voting, encouraging voters to vote their consciences.
Simulator
Download (release or nightly) the C++ source code to the simulator.
Includes all the voting systems.
See Also Voting Utility source code.
To Do:
-
Test elections where different voters have different strategies.
See if there can be inequality based on a few applying a strategy to a system.
(Variations on Rated show that it's not a global optimum to do anything other than voting your true preference.)
Ideally this will use artificial-intelligence techniques to discover potential strategies for any voting system.
-
Investigate choose-some-from-many council/legislature elections.
Some form of proportional representation.
Defining a measure for 'good' is even hard.
Making the most people the happiest isn't enough as this is supposed to move away from the tyranny of the majority.
-
Try Instant Runoff variations of Borda, Normalized-Rating, (others?).
The initial advantage of considering the whole-ballot, combined with the final 'fairness' of putting your whole vote on the candidate you like.
-
Work all this out as closed form probability equasions to find expected values, instead of just running brute force simulations.
-
Condorcet-counted Acceptance ballots.
Can this back-end process change produce a better result than simple summation?
I kinda bet it can.
Acceptance ballots are, of course, very cost effective and convenient.
-
Simulate 2000 presidential election.
50455156 (47.87%) Bush, 50992335 (48.38%) Gore, 2882897 (2.74%) Nader.
Not sure exactly how to set up sims based on that.
Probably divide by 1000 or so, down to a total electorate of 104330.
First choice preference will be clear, maybe even design in second choice.
See how much error it takes for Bush to win :)
-
Test elections where there are a few generally preferred candidates instead of a random field of equivalent, indestinguishable candidates.
Links
Email me.