Simulation Of Various Voting Models for Close Elections

Brian Olson


In close elections one vote can only serve to differentiate between two candidates. 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. The simulation varies numbers of voters, numbers of candidates and conditions of error.

The latest results in this ongoing research shall be available at

The Voter Model

A voter has some preference for every candidate. The preference ranges from total dislike to total like, represented as -1.0 to 1.0.

A voter's happiness with respect to the outcome of an election is equal to the voter's preference for the candidate that won the election.

In simulations so far, all preferences have been random and independent to the extent that the random() function is random and independent. No bias was introduced to organize a voter to have a coherent set of preferences, or to group the population into any kind of structure. The expected preference of any voter for any candidate is 0.0, no like or dislike. An average election thus simulated is closely contested, with no candidate having a major advantage over another.

To simulate a voter's imperfect self-knowledge of preferences, or equivalently, confusion about what a candidate stood for I introduced an error factor that ranged from 0.0 to 2.0. Before voting, a random value from 0.0 to the error factor with a random sign is added to each preference of each voter for each candidate. The errant preference is still constrained to -1.0 to 1.0. The systems are run on the errant voter preferences, and the happiness of the winner is determined from the original unmodified voter preferences.

The Voting Systems, methods of choosing one from many


A population of voters is initialized with random preferences. Without changing that population, each voting system is run over the voters and the happiness data is collected. After all systems have been run over a set of voters, a new set of voters is created the process repeats.

I used various numbers of voters from 10 to 100,000. I also varied the number of candidates from 2 to 99. Each combination of numbers of voters and candidates was run on 10,000 sets of voters to collect mean happiness and standard deviation.

Data for determining the effect of error was gathered on simulations over the full range of error, 2 to 99 candidates, and 1,000 voters.


The result data is best portrayed by the graphs available on my web site: . Two representative graphs from the hundreds available are included here in figure 1 and 2.

Figure 1: In this graph we see how One Vote, Instant Runoff and Ranked Vote are specially fragile under conditions of voter error. Modified Ranked Vote follows a little later. No system is completely immune to error, though Condorcet degrades least rapidly.

Figure 2: In general, when there are more choices there is a better chance that one of them will make more people happy. One Vote and Instant Runoff fail to take advantage of this beyond about six or seven candidates. They become fractured and results approach random.


Traditional One Vote was reliably the worst performer, and it should be sacked.

IRV is only barely better than present methods. I believe that the flaw is in that it is still based initially on the present method of only counting one vote from every person. Although it can solve some fractured electorate problems it is still very limited and unexpressive.

Acceptance Voting, while collecting less data then IRV, processes all that data at once to better match the will of the people. It is also simpler to implement and explain to a real electorate.

Condorcet voting, while not the top performer, had a uniquely better response to error in the voters. For this it deserves further study.

Ranked Voting collects the same data as IRV but uses it to better effect because the overall will of the voters is considered at once. The variant where no points are awarded to disliked candidates does not actually aid the voter. That variant is just throwing away data, and if a voter doesn't get a desired candidate they have no influence to get a lesser evil.

The various Rated Voting systems reliably got the highest happiness results. Unfortunately it would require relatively complicated or expensive, almost necessarily computerized, voting equipment. I'm imagining a GUI with a slider next to each candidate's name and image.

Fortunately, ``Rated 1..N'' and 1..10 don't have that problem and get results often identical to and always at least very close to pure Rated Voting.

Based on these findings Acceptance Voting or Rated Voting should be put into practice immediately. Acceptance Voting may be the easiest to implement with present equipment. The IRV advocacy sites I saw claimed that more and more voting equipment was capable of collecting IRV-type candidate rankings, but if such rankings can be collected, Rated Voting should be applied to the data.

An interesting trend in Max Happiness: it increases with more candidates. In a field of otherwise undifferentiated candidates, when there are more candidates there is a better chance that there will be one candidate that more people will agree on preferring. This may be the most important reason to break away from the One Vote system to a system that doesn't punish the voters for the existence of many choices.

Why such close elections? What about clear majorities?

Clear majorities aren't interesting. A clear majority wins the election and gets what they want and is happy. A happy majority is an easy average positive happiness.

It might be an interesting problem to explore systems that effect consensus building. Increase the weight of negative happiness in evaluating which systems make the fewest people the least unhappy. One real world problem with this is that it might be perceived as giving more power to people who chose to object.

But is it Fair?

Aside from mathematical perfection, a voting system must satisfy the voter's demand to be fairly represented. I'll play my own devil's advocate for a moment and try to make point and counterpoint on the above systems' fairness.

Our present one-vote system is the baseline of fairness. Everyone gets one vote, and thus equal representation. The exception is that duopoly is possible and third (and fourth, etc.) parties may go unrepresented. But, at least on a personal expression level we are all equal.

As I said above, Rated Vote gives more opinionated voters more say, so I followed with counterweighted Rated Vote which regains the ideal of everyone having equal expressive power. In favor of pure Rated Vote, at present everyone has equal expressive power but a disgraceful percentage of eligible voters don't bother to express themselves, so the more opinionated people wind up having more say anyhow. Given the better mathematical results for pure Rated Vote, it should be used because it doesn't really change the status quo.

Acceptance voting is bad if you don't want to accept any of the choices, I guess. But, that's a deeper problem than voting mechanics can solve.

IRV, Condorcet and Ranked voting operate from the same data, a ranking of the choices. Is it fair to require someone to assign ``1,2,3,4,...''? What about ``1,1,3,4,4,6,...''? Is the algorithm that handles that data fair? My abstract interpretation of the algorithms is that Condorcet and Ranked voting favor electing a consensus choice while IRV plays to more traditional factional politics. Which do we want? Perhaps the consensus building of Ranked and Condorcet explain their results, as more people are more happy.

Why IRV Fails (OR petty quibbles OR ``IRV Considered Harmful'')

Instant Runoff Voting is being enacted in a few places around the USA and the world. Because I find it to be so inadequate, I feel it important to address it directly.

Firstly, in all my tests, IRV degrades as choices are added beyond 7 choices. It doesn't just fail to give voters the benefit of a wide field of choices, it actually gets worse.

I've heard some IRV proponents claim it's better because it doesn't dilute one's vote for a most preferred choice (a Borda vote is a vote for the enemy). They assume (probably because it's true for themselves) that every voter has a strong single fist choice. When that is not the case, I have shown that any other method is superior. If they can show me a set of voters where IRV gets a better result than Ranked(Borda), Condorcet, and Acceptance, I'll be greatly amused. And then we can quibble about how likely such a set of voters are to occur in the wild.

Mathematically, IRV fails because it doesn't consider all the data at once in fitting the solution (election result) to the constraining data (voter preferences). IRV only considers a voter's first choice out of some (shrinking) field of candidates. This leads to suboptimal iterating through the solution space.

IRV is also hard to hand-recount. It can require counting all the ballots many times. At worst, one fewer times through all the ballots than the number candidates. To invoke the recent election boogeyman, imagine Florida: IRV can't just have a recount in a few counties. All millions of ballots state wide would have to be counted, maybe five or eight times. Of course all that is within the computational capabilities of my home computer, but I think it is still worth having a process that is practical for humans to use.

Next steps

Lying on Rated Voting

What if a voter votes maximally for every choice they like even a little bit, and minimally for every choice they dislike even a little bit? Such a voter will be more likely to get some choice they like. Will they be on average more happy this way or less because they lose the ability to specify which choice they want to get.

Preliminary results indicate that maximizing your vote does give you an advantage over honest rated voters. Thus, in anonymous-non-trusted communities, it would be most fair to drop directly to Acceptance Voting. The equal-sum variant of Rated Voting may yet prove to be impervious to this sort of vote distortion, and it generally scored somewhat higher than Acceptance Voting.

Quantized Rated Voting

Suppose you wanted to do Rated Voting without a complex GUI. Ok, so rate each candidate on an integer scale from 1 to 9, 1 is dislike, 5 is neutral, 9 is like. Or maybe on a scale of 1 to 5, which can be done on a simple and inexpensive Scantron machine that I took tests on in High School. How much does the result suffer from the quantization error?

Choosing Several from Many

At the simplest, each of these methods can produce a total ranking of the choices and you could simply declare that the top several are the winners. Intuitively I think that there should be a method by which the population is more accurately and represented, with candidates elected in rough proportion to the ideologies of the people electing them.

Pseudo algorithm:

  1. Elect the top choice.
  2. Decrease some measure of dissatisfaction of those people who prefer that choice.
  3. Elect a next choice such that the most remaining dissatisfaction is removed.
  4. Repeat.

Brian Olson 2003-08-31