Committee monotonicity (1 of 2) — one seat, and the consensus candidate takes it¶
Generated from abc_committee_monotonicity_1seat_c3_b10.yaml — do not edit by hand. Regenerate: python STARVote_LH_tabulation_engine/tools_adam/scripts/build_yaml_pages.py.
Method: Approval Voting · 1 seat · Expected winner: C
Scenario¶
Half of a matched pair. The SAME ten ballots are counted twice, once for one seat and once for two: this file is the one-seat count, its companion abc_committee_monotonicity_2seats_c3_b10.yaml is the two-seat count.
Ten voters, three candidates: two approve only A, three approve A and C, three approve B and C, two approve only B. Approval counts: C 6, A 5, B 5.
For ONE seat, eleven of the thirteen rules in Lackner & Skowron's Table 3.1 elect the consensus candidate C - Approval Voting, CC, PAV, seq-PAV, seq-CC, Monroe, Greedy Monroe, seq-Phragmen, leximax-Phragmen, the Method of Equal Shares and MAV. C is the only candidate a majority approves, and she is nobody's enemy. (SAV and rev-seq-PAV instead pick A or B here, because SAV divides each ballot's vote among its marks: A and B score 3.5 to C's 3.)
The interesting half is the companion file. Committee monotonicity (Definition 3.2) says that growing the committee from k to k+1 should ADD a member, never reshuffle: the one-seat winner should still be seated when there are two seats. Approval Voting and the sequential rules honour that. Chamberlin-Courant, PAV, Monroe, leximax-Phragmen and MAV all elect {A,B} for two seats and drop C entirely - the candidate who won outright when there was a single seat is not even on the committee once a seat is ADDED. That is Proposition A.2 in the book, and it is the ✗ in Table 3.1's committee monotonicity column.
Reproduce it: python 06_Other/abcvoting_tabulation_engine/abc_axiom_check.py
Source: Lackner, M. & Skowron, P. (2023), "Multi-Winner Voting with Approval Preferences", SpringerBriefs, doi:10.1007/978-3-031-09016-5, Proposition A.2.
Ballots¶
Row 1 = candidate names; each later row is one voter's approvals (1 = approve, 0/blank = not approved).
A,B,C
1,0,0 # 2 voters — approve A only
1,0,0
1,0,1 # 3 voters — approve A and C
1,0,1
1,0,1
0,1,1 # 3 voters — approve B and C
0,1,1
0,1,1
0,1,0 # 2 voters — approve B only
0,1,0
What the engine says¶
Full report from the _tabulated mirror (regenerated on every run; every analysis forced on):
--- Approval Voting (single winner) ---
Tabulating 10 ballots (any non-zero score = approval).
Ballots:
columns = A, B, C (1 = approve; 0 = not approved)
2 × 1,0,0
3 × 1,0,1
3 × 0,1,1
2 × 0,1,0
C -- 6 (60%) -- Elected
A -- 5 (50%)
B -- 5 (50%)
[Approval Distribution] (how many candidates each ballot approved)
16 approvals across 10 ballots — average 1.6 of 3 (range 1–2).
approved 1: 4 ballots
approved 2: 6 ballots
[Co-Approval Matrix]
Of the voters who approved the ROW candidate, the % who ALSO approved the COLUMN candidate.
| C | A | B |
-------------------------------
C | -- | 50% | 50% |
A | 60% | -- | 0% |
B | 60% | 0% | -- |
Winner — Approval Voting (single winner)
C
Run it yourself:
python STARVote_LH_tabulation_engine/starvote_larry_hastings.py 04_Approval/03_Criteria/cases/abc_committee_monotonicity_1seat_c3_b10.yaml
See also¶
More cases in this set: abc_committee_monotonicity_2seats_c3_b10 · cc_pareto_dominated_c4_b2 · monroe_pareto_dominated_c4_b24 · 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