Exercise 9 — Game night: nobody is unbeatable (a Ranked Robin ladder drill)¶
Generated from ex09_game_night_cycle.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: Azul
Official tie-break (lot) order: Azul > Boggle > Catan > Dominion — consulted only if every deterministic tiebreaker stays tied (how the ladder works).
Scenario¶
Ten friends rank four board games. Azul beats Boggle 7-3, Boggle beats Catan 7-3, Catan beats Azul 6-4 — a rock-paper-scissors cycle, so there is NO Condorcet winner — and everything beats Dominion 10-0. Ranked Robin walks its ladder: most pairwise wins first (Azul, Boggle, and Catan all tie at 2-1), then TOTAL WIN MARGIN: Azul +12, Boggle +10, Catan +8 — Azul wins, deterministically, no lot needed. This is an LH-only exercise on purpose: BetterVoting resolves a 3-way wins tie at RANDOM (the BV2142 caveat), so a frozen BV result cannot exist. Exercise: ex09_game_night_cycle.md. Ballots and cast are this repo's own.
Ballots¶
Each row is one voter's ranking, most-preferred first (N: prefix = N identical ballots).
Azul>Boggle>Catan>Dominion
Azul>Boggle>Catan>Dominion
Azul>Boggle>Catan>Dominion
Azul>Boggle>Catan>Dominion
Boggle>Catan>Azul>Dominion
Boggle>Catan>Azul>Dominion
Boggle>Catan>Azul>Dominion
Catan>Azul>Boggle>Dominion
Catan>Azul>Boggle>Dominion
Catan>Azul>Boggle>Dominion
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 10 ballots (ranked ballots).
Ballots:
4 × Azul > Boggle > Catan > Dominion
3 × Boggle > Catan > Azul > Dominion
3 × Catan > Azul > Boggle > Dominion
Round-Robin — every pair, head-to-head (For – Against):
Azul beats Boggle 7 – 3
Catan beats Azul 6 – 4
Azul beats Dominion 10 – 0
Boggle beats Catan 7 – 3
Boggle beats Dominion 10 – 0
Catan beats Dominion 10 – 0
--- Pairwise (Round-Robin) Matrix ---
Head-to-head / pairwise comparison — the Ranked Robin tally
Legend: For - Equal Support - Against (row vs column)
| Azul | Boggle | Catan | Dominion |
-----------------------------------------------------------------------
Azul > | --- | 7 - 0 - 3 | 4 - 0 - 6 |10 - 0 - 0 |
Boggle > | 3 - 0 - 7 | --- | 7 - 0 - 3 |10 - 0 - 0 |
Catan > | 6 - 0 - 4 | 3 - 0 - 7 | --- |10 - 0 - 0 |
Dominion > | 0 - 0 - 10 | 0 - 0 - 10 | 0 - 0 - 10 | --- |
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 Azul 2–1–0 2 +12 Boggle, Dominion
2 Boggle 2–1–0 2 +10 Catan, Dominion
3 Catan 2–1–0 2 +8 Azul, Dominion
4 Dominion 0–3–0 0 -30 —
Winner — Ranked Robin (RCV-RR): Azul
*** 3 candidates tie for the most wins (Azul, Boggle, Catan) — a Condorcet cycle (no candidate beats all others). Resolved by total margin, then lot order. (This is where Minimax / Ranked Pairs / Schulze differ — see 05_Ranked_Robin/01_Learn/cycle_resolution.md.)
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): Azul, Boggle, Catan
Outside (1): Dominion
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.
Ranked Robin (RCV-RR) winner Azul 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 01_STAR/05_Practice/cases/ex09_game_night_cycle.yaml
See also¶
More cases in this set: ex01_district_combined · ex01_district_east · ex01_district_west · ex02_bella_exits · ex02_nine_ballots · ex02_tenth_ballot · ex03_five_verdicts · ex04_olympics_1994 · ex05_center_squeeze · ex06_bullet_backfire · ex06_bullet_honest · ex07_vanishing_votes · ex08_minimal_reversal_2c · ex08_minimal_reversal_3c · ex10_generous · ex10_reticent · ex11_spoiler_added · ex11_two_way_base · ex12_bloc_sweep · ex12_proportional_share · ex13_approve3 · ex13_approve4 · ex13_bullet · ex13_opinions · ex14_two_novels · ex14_two_novels_fullranks · ex15_approval_pairwise · ex15_approval_yes_no · ex15_score_profile