Skip to content

Coombs Ex.21 — before: 20 voters, Coombs elects B outright

Generated from coombs_ex21_twin_before.yaml — do not edit by hand. Regenerate: python STARVote_LH_tabulation_engine/tools_adam/scripts/build_yaml_pages.py.

Method: RCV-IRV (Instant Runoff) · 1 seat · Expected winner: B

Scenario

The BEFORE half of Felsenthal's Coombs twin example. Source: Dan S. Felsenthal (2010), Appendix A7, Example 21. 20 voters, four candidates: 5×(A>B>D>C), 5×(B>C>D>A), 1×(B>A>D>C), 6×(C>A>D>B), 1×(C>B>A>D), 2×(C>B>D>A). No first-place majority, so Coombs deletes the most-hated — A, last on 7 ballots — and after the transfers B holds 11 of 20 and wins. Then two more voters with the ballot B>A>D>C arrive: see coombs_ex21_twin_after.yaml. They are "twins" of the single B>A>D>C voter already present, ranking B first, so their arrival should if anything help B. Instead the last-place counts tip, C is deleted first, and the count ends in an A/B TIE. B goes from a certain win to a coin flip because two of B's own supporters showed up. That is the weak twin paradox. Labels are Felsenthal's own A/B/C/D so the case can be read side by side with the paper's table; this is an academic reproduction, not a scenario with a cast. Coombs has no tabulator in the LH engine or on BetterVoting, so this file is tabulated as RCV-IRV, the mirror-image count — IRV eliminates on fewest FIRST places, Coombs on most LAST places. IRV elects B both before and after the twins arrive, so the failure is Coombs' alone. For the Coombs count run tools_adam/pref_voting_tabulation_engine/coombs_report.py.

Ballots

Each row is one voter's ranking, most-preferred first (N: prefix = N identical ballots).

5:A>B>D>C
5:B>C>D>A
1:B>A>D>C
6:C>A>D>B
1:C>B>A>D
2:C>B>D>A

What the engine says

Round-by-round Sankey diagram: each candidate's votes as a band, and where the votes of an eliminated candidate transferred to.

Where the votes went. Band thickness is votes; a band leaving an eliminated candidate lands on whoever that ballot ranked next, or on inactive if it ranked nobody who was left.

The count, step by step — the rounds and how the winner is reached:

--- RCV / Instant-Runoff Voting (single winner) ---
  Coombs Ex.21 — before: 20 voters, Coombs elects B outright
 Tabulating 20 ballots (ranked ballots).

ROUND 1
Candidate      Votes  Status
-----------  -------  --------
C                  9  Hopeful
B                  6  Hopeful
A                  5  Rejected
D                  0  Rejected

FINAL RESULT
Candidate      Votes  Status
-----------  -------  --------
B                 11  Elected
C                  9  Rejected
A                  0  Rejected
D                  0  Rejected


Winner(s) — RCV / Instant-Runoff Voting (single winner)
  B

Full audit — preference matrix, Condorcet, and score distribution

--- Smith Set (the generalized Condorcet winner) ---
The smallest group whose every member beats every candidate outside it —
the honest answer to "who is even in contention?".
   Smith set (3 of 4): A, B, C
   Outside (1):        D
   More than one member ⇒ NO Condorcet winner: the top of the tournament is a
   cycle, so the strongest "candidate" is a set, not a person. Which member of
   the set should win is exactly what Minimax / Ranked Pairs / Schulze disagree
   about — see 05_Ranked_Robin/01_Learn/cycle_resolution.md.
   RCV-IRV winner B is INSIDE the Smith set. ✓
      Not guaranteed — RCV-IRV is not Smith-efficient — but it holds here.
   More: 07_Concepts/topics/smith_set.md

Everything in one file: the _tabulated mirror (regenerated on every run; every analysis forced on).

Run it yourself:

python STARVote_LH_tabulation_engine/starvote_larry_hastings.py method_comparisons/felsenthal_paradoxes/cases/coombs_ex21_twin_before.yaml

See also

More cases in this set: bv2144_mxfmhm_plurality · bv2144_mxfmhm_star · bv2145_6fj2kg_irv · bv2145_6fj2kg_ranked_robin · bv2145_6fj2kg_star · bv2146_krk2px_irv · bv2146_krk2px_ranked_robin · bv2146_krk2px_star · bv2147_9gdrqg_irv · bv2147_9gdrqg_star · bv2148_h87k6v_irv · bv2148_h87k6v_star · bv2149_byk9v2_irv · bv2149_byk9v2_star · bv2150_dxg8pb_irv · bv2150_dxg8pb_ranked_robin · bv2150_dxg8pb_star · bv2151_97hbpw_irv · bv2151_97hbpw_ranked_robin · bv2151_97hbpw_star · bv2152_r6ctvy_approval · bv2152_r6ctvy_ranked_robin · bv2153_pcttmr_approval · bv2153_pcttmr_irv · bv2153_pcttmr_ranked_robin · bv2154_wq6yv7_approval · bv2154_wq6yv7_irv · bv2154_wq6yv7_ranked_robin · bv2160_r6qc8h_plurality · bv2160_r6qc8h_star · bv2161_q3h4fk_plurality · bv2161_q3h4fk_star · bv2162_4htk44_irv · bv2162_4htk44_ranked_robin · bv2162_4htk44_star · bv2163_74j6vv_irv · bv2163_74j6vv_ranked_robin · bv2163_74j6vv_star · bv2164_xbqq8t_plurality · bv2164_xbqq8t_ranked_robin · bv2164_xbqq8t_star · bv2165_9vxcj7_plurality · bv2165_9vxcj7_star · bv2166_b7b8dv_plurality · bv2166_b7b8dv_star · bv2167_f3dxq9_plurality · bv2167_f3dxq9_star · coombs_ex18_monotonicity · coombs_ex20_amalgamated · coombs_ex20_district1 · coombs_ex20_district2 · coombs_ex21_twin_after · coombs_ex22_scc · felsenthal_ex6_pareto_approval · felsenthal_ex6_ranked_robin · minimax_ex30_noshow_after · minimax_ex30_noshow_before · minimax_ex31_truncation · minimax_ex32_amalgamated · minimax_ex32_district2 · minimax_ex33_scc · succ_elim_ex10_amalgamated · succ_elim_ex10_district1 · succ_elim_ex10_district2 · succ_elim_ex11_twin_after · succ_elim_ex11_twin_before · succ_elim_ex12_sincere · succ_elim_ex12_truncated · succ_elim_ex9_noshow · succ_elim_ex9_pareto