Skip to content

Minimax Ex.33 — SCC: drop a loser and the winner changes

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

Method: Ranked Robin (RCV-RR / Copeland) · 1 seat · Expected winner: D

Scenario

Felsenthal's Minimax subset-choice-condition example — the spoiler failure. Source: Dan S. Felsenthal (2010), Appendix A10, Example 33, adapted from P.C. Fishburn, "Paradoxes of Voting", American Political Science Review 68 (1974: 540). Seven voters, four candidates: 3×(D>C>B>A), 2×(A>D>C>B), 2×(B>A>D>C). The social ordering cycles (A>D>C>B>A), so Minimax reaches for its second clause: worst pairwise losses are A 5, B 5, C 7, D 4, and D is elected on the smallest. Now let B — who cannot win, and does not — leave the race before the vote. On the same ballots minus B, A is ranked first by 4 of 7, an absolute majority, and wins outright. Removing a LOSER changed the winner from D to A: the subset choice condition (SCC) failure, the formal version of what campaigns call a spoiler. Reproduce the second count with: minimax_report.py --drop B, which recomputes every pairwise from the same ballots. At 4 candidates and 7 voters this is close to minimal — Brandt, Matthäus & Saile (2022) show a 3-candidate, 7-voter instance exists, so this one carries a single extra candidate. Labels are Felsenthal's own A/B/C/D so the case can be read side by side with the paper's table. Tabulated here as Ranked Robin for the pairwise matrix Minimax reads; Ranked Robin also lands on D, by a different route — Copeland ties A and D at 2 wins each and the margin tiebreak separates them.

Ballots

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

3:D>C>B>A
2:A>D>C>B
2:B>A>D>C

What the engine says

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

--- Ranked Robin (RCV-RR / Copeland) Method (single winner) ---
 Tabulating 7 ballots (ranked ballots).

Ballots:
     3 × D > C > B > A
     2 × A > D > C > B
     2 × B > A > D > C

Round-Robin — every pair, head-to-head (For – Against):
   D  beats C   7 – 0
   D  beats B   5 – 2
   A  beats D   4 – 3
   C  beats B   5 – 2
   A  beats C   4 – 3
   B  beats A   5 – 2

--- Pairwise (Round-Robin) Matrix ---
Head-to-head / pairwise comparison — the Ranked Robin tally
Legend: For - Equal Support - Against   (row vs column)
      |     D     |    C     |    B     |    A     |
----------------------------------------------------
  D > |    ---    |7 - 0 - 0 |5 - 0 - 2 |3 - 0 - 4 |
  C > | 0 - 0 - 7 |   ---    |5 - 0 - 2 |3 - 0 - 4 |
  B > | 2 - 0 - 5 |2 - 0 - 5 |   ---    |5 - 0 - 2 |
  A > | 4 - 0 - 3 |4 - 0 - 3 |2 - 0 - 5 |   ---    |

Win–loss record — Copeland score = wins + ½·ties (highest score wins; ties broken by total margin, then lot order):
    #  Candidate  W–L–T  Copeland  Margin  Beats
    1  D          2–1–0         2      +9  B, C
    2  A          2–1–0         2      -1  D, C
    3  B          1–2–0         1      -3  A
    4  C          1–2–0         1      -5  B

Winner — Ranked Robin (RCV-RR): D
   *** 2 candidates tie for the most wins (D, A) — tied on the tally, not a cycle (some of them beat others head-to-head, but no loop closes). Resolved by total margin, then lot order.

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 (4 of 4): D, A, C, B
   Outside (0):        —
   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.
   Note: the Copeland leaders (D, A) are only part of the set — the
   win–loss table's top block understates how wide the contention is.
   Ranked Robin (RCV-RR) winner D is INSIDE the Smith set. ✓
      Guaranteed: Ranked Robin (Copeland) is Smith-efficient — every member of
      the set outscores every outsider, so the top of the win–loss table is
      always inside the set, however the tie among them is then broken.
   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/minimax_ex33_scc.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_ex21_twin_before · 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 · 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