====================================================================== SOURCE FILE: equal_rank_five_voters.yaml TABULATED FILE: equal_rank_five_voters_tabulated.txt ====================================================================== election_title: "Equal ranks — five voters, and the two generalizations of IRV disagree" scenario_description: |- Figure 3 of Théo Delemazure & Dominik Peters, "Generalizing Instant Runoff Voting to Allow Indifferences" (EC'24, arXiv:2404.11407) — the paper's opening worked example, and the smallest election in this repo on which the two ways of extending instant runoff to equal ranks pick different winners. Five voters, four candidates, individual ballots. Read as a weak order the profile is: Aida=Bram > Chloe > Dante; Aida=Bram=Dante > Chloe; Bram > Aida=Chloe > Dante; Chloe > Aida > Bram=Dante; Dante > Aida > Chloe > Bram. Approval-IRV gives one full point to EACH candidate in a ballot's top surviving class: Chloe is top on one ballot only, so she goes first; then Dante; then Aida beats Bram head-to-head. Aida wins. Split-IRV splits one point among a ballot's top choices instead, which costs Aida the two ballots she shares — she scores 1/2 + 1/3 and is eliminated FIRST — and Bram wins. Same five ballots, opposite answers, and the only difference is what a tie is worth. STAR elects Aida, agreeing with Approval-IRV and with the pairwise count (Aida is the Condorcet winner). That agreement is not an accident of the scores chosen: across 20,000 random strictly-decreasing 0-5 encodings of this weak order, STAR elects Aida in 92.9% and never elects Bram outright. The scores below are one reading of the paper's ordinal profile; the induced weak order is exactly the paper's Figure 3. For the Approval-IRV and Split-IRV counts run tools_adam/pref_voting_tabulation_engine/approval_irv_report.py. paradoxes: [condorcet-winner] voting_method: STAR num_winners: 1 ballots: |- Aida,Bram,Chloe,Dante 5,5,4,0 # Aida and Bram equal-first 5,5,2,5 # a three-way equal-first, Chloe alone below 3,5,3,0 # Bram alone on top, Aida and Chloe equal 3,0,5,0 # Chloe alone on top, Bram and Dante equal-last 4,0,2,5 # the one fully strict ballot expected_winners: [Aida] # file: equal_rank_five_voters.yaml ====================================================================== TABULATION RESULTS ====================================================================== === Equal ranks — five voters, and the two generalizations of IRV disagree === Figure 3 of Théo Delemazure & Dominik Peters, "Generalizing Instant Runoff Voting to Allow Indifferences" (EC'24, arXiv:2404.11407) — the paper's opening worked example, and the smallest election in this repo on which the two ways of extending instant runoff to equal ranks pick different winners. Five voters, four candidates, individual ballots. Read as a weak order the profile is: Aida=Bram > Chloe > Dante; Aida=Bram=Dante > Chloe; Bram > Aida=Chloe > Dante; Chloe > Aida > Bram=Dante; Dante > Aida > Chloe > Bram. Approval-IRV gives one full point to EACH candidate in a ballot's top surviving class: Chloe is top on one ballot only, so she goes first; then Dante; then Aida beats Bram head-to-head. Aida wins. Split-IRV splits one point among a ballot's top choices instead, which costs Aida the two ballots she shares — she scores 1/2 + 1/3 and is eliminated FIRST — and Bram wins. Same five ballots, opposite answers, and the only difference is what a tie is worth. STAR elects Aida, agreeing with Approval-IRV and with the pairwise count (Aida is the Condorcet winner). That agreement is not an accident of the scores chosen: across 20,000 random strictly-decreasing 0-5 encodings of this weak order, STAR elects Aida in 92.9% and never elects Bram outright. The scores below are one reading of the paper's ordinal profile; the induced weak order is exactly the paper's Figure 3. For the Approval-IRV and Split-IRV counts run tools_adam/pref_voting_tabulation_engine/approval_irv_report.py. --- Runoff (Preference) Matrix --- Head-to-head / pairwise comparison Legend: For - Equal Support - Against * indicates Top 2 Finalist | * Aida | Bram | * Chloe | Dante | ----------------------------------------------------------------- * Aida > | --- |2 - 2 - 1 |3 - 1 - 1 |3 - 1 - 1 | Bram > | 1 - 2 - 2 | --- |3 - 0 - 2 |2 - 2 - 1 | * Chloe > | 1 - 1 - 3 |2 - 0 - 3 | --- |3 - 0 - 2 | Dante > | 1 - 1 - 3 |1 - 2 - 2 |2 - 0 - 3 | --- | [Condorcet Winner] Condorcet Winner: Aida — matches the STAR winner [Condorcet Loser] Condorcet Loser: Dante — loses every head-to-head matchup --- STAR Voting Method (single winner) --- [STAR Voting] Tabulating 5 ballots. Aida,Bram,Chloe,Dante 5, 5, 4, 0 5, 5, 2, 5 3, 5, 3, 0 3, 0, 5, 0 4, 0, 2, 5 [Score Distribution] (how many ballots gave each star rating) Score Candidate 5 4 3 2 1 0 | Total Avg Aida 2 1 2 0 0 0 | 20 4.0 Bram 3 0 0 0 0 2 | 15 3.0 Chloe 1 1 1 2 0 0 | 16 3.2 Dante 2 0 0 0 0 3 | 10 2.0 [STAR Voting: Scoring Round] The two highest-scoring candidates advance to the next round. Aida -- 20 -- First place Chloe -- 16 -- Second place Bram -- 15 Dante -- 10 Aida and Chloe advance. [STAR Voting: Automatic Runoff Round] The candidate preferred in the most head-to-head matchups wins. Aida -- 3 -- First place Chloe -- 1 Equal Support -- 1 Aida wins. Runoff math: 5 ballots cast − 1 Equal Support (no preference between the two finalists) ─ 4 voters with a preference (majority = 3) Aida 3 (75%) · Chloe 1 (25%) [STAR Voting: Winner — STAR Voting Method (single winner)] Aida