Monroe elects a committee every voter would trade away¶
Generated from monroe_pareto_dominated_c4_b24.yaml — do not edit by hand. Regenerate: python STARVote_LH_tabulation_engine/tools_adam/scripts/build_yaml_pages.py.
Method: Approval Voting · 2 seats · Expected winners: B, C
Scenario¶
Example 3.1 from Lackner & Skowron. Twenty-four voters, four candidates, two seats. Two voters approve only A; one approves A and C; one approves A and D; ten approve B and C; ten approve B and D.
Monroe's rule elects {C,D}, scoring 22 - it assigns each winner an equal-sized constituency, and C and D each have exactly twelve voters to represent. But {C,D} is DOMINATED by {A,B} in the book's sense (Definition 3.1): every one of the 24 voters approves someone in {A,B}, while only 22 approve someone in {C,D}. Nobody is worse off under {A,B} and two voters - the two who approve A alone - go from no representative at all to one. Every voter would weakly prefer {A,B}, and Monroe elects {C,D} anyway.
That is what Pareto efficiency forbids, and the example shows exactly WHY Monroe fails it: equal-sized constituencies are a constraint, and a rule that insists on the constraint must sometimes refuse a committee that is better for everybody.
Approval Voting - the count in this file - is the control. B leads with 20; C and D tie at 11 for the second seat, settled here by priority order. AV never elects a dominated committee (Proposition A.1), which is the "strong" in Table 3.1's Pareto column.
Reproduce the Monroe side: python 06_Other/abcvoting_tabulation_engine/abc_axiom_check.py --verbose
Source: Lackner, M. & Skowron, P. (2023), "Multi-Winner Voting with Approval Preferences", SpringerBriefs, doi:10.1007/978-3-031-09016-5, Example 3.1.
Ballots¶
Row 1 = candidate names; each later row is one voter's approvals (1 = approve, 0/blank = not approved).
A,B,C,D
1,0,0,0 # 2 voters — approve A only
1,0,0,0
1,0,1,0 # 1 voter — approves A and C
1,0,0,1 # 1 voter — approves A and D
0,1,1,0 # 10 voters — approve B and C
0,1,1,0
0,1,1,0
0,1,1,0
0,1,1,0
0,1,1,0
0,1,1,0
0,1,1,0
0,1,1,0
0,1,1,0
0,1,0,1 # 10 voters — approve B and D
0,1,0,1
0,1,0,1
0,1,0,1
0,1,0,1
0,1,0,1
0,1,0,1
0,1,0,1
0,1,0,1
0,1,0,1
What the engine says¶
Full report from the _tabulated mirror (regenerated on every run; every analysis forced on):
--- Approval Voting (2 winners) ---
Tabulating 24 ballots (any non-zero score = approval).
Ballots:
columns = A, B, C, D (1 = approve; 0 = not approved)
2 × 1,0,0,0
1 × 1,0,1,0
1 × 1,0,0,1
10 × 0,1,1,0
10 × 0,1,0,1
B -- 20 (83%) -- Elected
C -- 11 (46%) -- Elected
D -- 11 (46%)
A -- 4 (17%)
Note: C, D each have 11 approvals and tie for the last 1 seat.
Candidate priority order (C > D) broke the tie: C elected, D not elected.
[Approval Distribution] (how many candidates each ballot approved)
46 approvals across 24 ballots — average 1.9 of 4 (range 1–2).
approved 1: 2 ballots
approved 2: 22 ballots
[Co-Approval Matrix]
Of the voters who approved the ROW candidate, the % who ALSO approved the COLUMN candidate.
| B | C | D | A |
----------------------------------------
B | -- | 50% | 50% | 0% |
C | 91% | -- | 0% | 9% |
D | 91% | 0% | -- | 9% |
A | 0% | 25% | 25% | -- |
Winners — Approval Voting (2 winners)
B, C
Run it yourself:
python STARVote_LH_tabulation_engine/starvote_larry_hastings.py 04_Approval/03_Criteria/cases/monroe_pareto_dominated_c4_b24.yaml
See also¶
More cases in this set: abc_committee_monotonicity_1seat_c3_b10 · abc_committee_monotonicity_2seats_c3_b10 · cc_pareto_dominated_c4_b2 · resign_av_holds_after_kai_c6_b5 · resign_av_holds_c7_b5 · resign_rrv_after_hana_c4_b5 · resign_rrv_seated_c5_b5 · resign_star_pr_after_bruno_c3_b5 · resign_star_pr_seated_c4_b5 · sav_strategy_bullet_vote_c5_b2