Thought Toys · Strategy & computation · Exhibit 69

Everyone was consistent. The vote wasn't.

Three candidates. Every single voter has a clear, sensible ranking and would pass any test of rationality you cared to set. Now ask the electorate which of each pair it prefers. It says it prefers A to B. And B to C. And C to A. Nobody was confused, nobody miscounted — and there is no winner.

The blocs, and every head-to-head contest between them A B C

Try it
your turn — grow any one bloc past half the voters and watch the circle break

What you're seeing

Three blocs of voters, each with its own ranking of candidates A, B and C. Nothing strange is going on inside any of them: a bloc-1 voter likes A best, then B, then C, and would tell you so consistently all day. The sliders just change how many people are in each bloc.

On the right, each side of the triangle is one head-to-head contest — a straight majority vote between two candidates, with everyone's third choice simply ignored. The arrow points from the winner to the loser, and the number is the margin. At the default setting the arrows chase each other round the triangle: A beats B, B beats C, C beats A. There is no candidate who beats both others, so majority rule has no answer. Run it as a knockout tournament and whoever you schedule last wins; that's not a quirk of the bracket, it's the only thing a cycle can do.

The threshold is sharper than it looks. Grow any one bloc and the moment it holds more than half the voters, the circle breaks and its favourite wins outright. Below that — with all three blocs under half — the cycle is there every single time. Not sometimes. The condition is exactly "nobody has a majority", which is the normal state of a three-way race. (That crisp condition is this three-bloc arrangement's own; with more candidates or more rankings in play, cycles can survive even a large bloc. What generalises is the paradox, not the formula.)

Now press line them up left to right. That leaves every bloc the same size but changes bloc 3's ranking from C, A, B to C, B, A — so that all three blocs now rank the candidates as if A, B and C sat in that order on one axis, each voter's support falling away from its favourite in both directions. Preferences shaped like that are called single-peaked. Now try to make a cycle. You can't — at any bloc sizes at all. The paradox isn't a defect in majority voting as such; it needs genuinely circular disagreement, the kind you get when there's no single dimension everyone is arguing along. When there is one, the middle candidate wins and keeps winning.

One more thing worth noticing: "won the most first preferences" and "beats everyone head to head" are two different questions, and they can have two different answers. A bloc's favourite can lead on first preferences and still lose to a candidate that nearly everyone quietly ranks second. To watch it happen, press line them up left to right and set the blocs to 4, 3 and 2: bloc 1 has the most first preferences, and B wins anyway, because every bloc-3 voter would rather have B than A.

The rule, exactly. For candidates X and Y, the margin is the number of voters ranking X above Y minus the number ranking Y above X; X beats Y when that is positive. A Condorcet winner beats both others. With the cyclic profile (bloc 1 A>B>C, bloc 2 B>C>A, bloc 3 C>A>B) and N voters in total, A beats B n2 < N⁄2,   B beats C n3 < N⁄2,   C beats A n1 < N⁄2 so all three hold — and the cycle exists — exactly when no bloc reaches half. Verified in node (improve/verify/69-condorcet.js): the bloc arithmetic is recounted one ballot at a time as an independent check, and the threshold is derived rather than assumed — across all 17,576 bloc-size combinations, "a cycle exists" and "no bloc reaches half" agree in every single case, and in all 7,800 cases where a bloc does hold a majority the Condorcet winner is exactly that bloc's first choice. Four negative controls: 9,999 single-peaked profiles enumerated exhaustively produce zero cycles and elect the median voter's favourite in every case that isn't an exact tie (Black's theorem); no profile built from only two distinct rankings can ever cycle, so genuine three-way disagreement is required; a worked profile where the plurality leader loses head to head shows "most votes" and "beats everyone" really are different questions; and at exactly half the deciding contest is a dead tie, which the exhibit reports as neither a cycle nor a win rather than rounding it into one. Arrow's theorem is the general result this is the smallest example of: no ranked voting rule can satisfy a short list of obviously reasonable conditions at once.

Also in Strategy & computation: The evolution of trust →

All 23 in Strategy & computation
  1. 10The evolution of trust
  2. 23Sorting algorithms
  3. 24PageRank & the random surfer
  4. 25Huffman coding
  5. 26Dijkstra's shortest path
  6. 27Nash equilibria
  7. 33The learning-rate cliff
  8. 36A* pathfinding
  9. 37Braess's paradox
  10. 44Diffie–Hellman key exchange
  11. 45Preferential attachment
  12. 46Aliasing & the Nyquist limit
  13. 47The secretary problem
  14. 49Freeze too fast, stay stuck
  15. 51Cross one line, and its territory closes
  16. 56Catch one error, miss the next
  17. 57Why more processors stop helping
  18. 58Why a busy line explodes
  19. 59The set that's only sure when it says no
  20. 60The fit that memorizes instead of learns
  21. 61When the wire breaks, pick one
  22. 67Better at both, and still better off trading
  23. 69Everyone was consistent. The vote wasn't. — you are here

← the cabinet · Thought Toys — a cabinet of explorable explanations. Exhibit 69.