Skip to content

Social-choice simulator

The Voting Paradox

Same ballots, different winners. Feed one set of 6 ballots to three "fair" voting methods and they crown different candidates - a live Condorcet cycle from PoliticalScience.Governance. The winner is not a fact about the voters; it is an artifact of the counting rule.

Head-to-head majorities
MatchupResultWinner
Amy vs Beto4-2Amy beats Beto
Amy vs Cruz2-4Cruz beats Amy
Beto vs Cruz4-2Beto beats Cruz

Every candidate beats exactly one rival and loses to exactly one, by the same margin - a closed loop. Condorcet.FindWinner -> null: no Condorcet winner exists.

Three "fair" methods, three tallies of the identical ballots
Schulze (beatpath)Amy
IRV (instant runoff)Beto
Borda countAmy
Verdict

The methods DISAGREE - 2 different winners from identical ballots. The "winner" is not a fact about the voters; it is an artifact of which counting rule was chosen. Even where Schulze and Borda agree on Amy, the head-to-head table is a perfect symmetric tie - so that agreement is itself a tie-break artifact, not a deeper shared preference.

Real program output
KullGames.VotingParadox -- same ballots, different winners
============================================================

6 ballots over 3 candidates, a perfect rock-paper-scissors cycle:
  2x Amy > Beto > Cruz    2x Beto > Cruz > Amy    2x Cruz > Amy > Beto

Head-to-head majorities (computed from the ballots above):
  Amy vs Beto: 4-2  ->  Amy beats Beto
  Amy vs Cruz: 2-4  ->  Cruz beats Amy
  Beto vs Cruz: 4-2  ->  Beto beats Cruz

Condorcet.FindWinner (does anyone beat BOTH rivals head-to-head?)
  -> null -- NO Condorcet winner exists (cycle confirmed)

  Schulze (beatpath)   -> Amy
  IRV (instant runoff) -> Beto   (2 elimination round(s))
  Borda count          -> Amy

  IRV round 1: Amy=2, Beto=2, Cruz=2  ->  eliminate Amy
  IRV round 2: Amy=0, Beto=4, Cruz=2  ->  majority reached, done

VERDICT: the methods DISAGREE -- 2 different winners from IDENTICAL ballots.