Chicken / Burr dilemma — Approval, both sides defect: C wins on 40%¶
Generated from chicken_approval_both_defect.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¶
The third horn of the Burr dilemma, and the one the set previously only described in prose. Same 100 voters as chicken_approval and chicken_star: 60 prefer either ally to C, 40 want C.
In chicken_approval the 60 cooperate honestly and A and B tie 60-60 — the 1800 Jefferson-Burr outcome, and the reason each side is tempted to defect. Here both sides give in to that temptation. The 35 A-first voters approve only A; the 25 B-first voters approve only B. Neither is voting dishonestly about who they prefer; each is simply withholding approval from an ally to win the intra-faction contest.
A 35, B 25, C 40. C wins with 40 of 100 while SIXTY voters preferred either ally. The faction did not lose because the ballot forced it to split — Approval never forces that. It lost because its two halves each declined to support the other.
This is Approval's exact counterpart to STAR's residual split (method_comparisons/split_voting/_main/05a_residual_split_bullet-voting.yaml, where a 60% side loses to a 40% opponent the same way). Both are SELF-inflicted: the ballot offered a remedy and the voters declined it. That is a real and meaningful difference from Choose-One, where no remedy is on offer at all — but it is not immunity, and neither method should be sold as immune.
Where the avalanche starts: with a of the 35 A-first voters and b of the 25 B-first voters bullet-voting, A holds 60 - b approvals and B holds 60 - a. C takes the lead only once BOTH a > 20 and b > 20 — so it is not one defector who does the damage, it is defection becoming general. That threshold is what makes the Approval slope slippery, and it is exactly what STAR's runoff removes: see chicken_star.yaml, where supporting both allies honestly costs nothing.
Ballots¶
Row 1 = candidate names; each later row is one voter's approvals (1 = approve, 0/blank = not approved).
Count:A,B,C
35:1,0,0 # A-first voters bullet-vote — no approval for ally B
25:0,1,0 # B-first voters bullet-vote — no approval for ally A
40:0,0,1 # the C bloc, unchanged and undivided
What the engine says¶
Full report from the _tabulated mirror (regenerated on every run; every analysis forced on):
--- Approval Voting (single winner) ---
Tabulating 100 ballots (any non-zero score = approval).
Ballots:
columns = A, B, C (1 = approve; 0 = not approved)
35 × 1,0,0
25 × 0,1,0
40 × 0,0,1
C -- 40 (40%) -- Elected
A -- 35 (35%)
B -- 25 (25%)
[Approval Distribution] (how many candidates each ballot approved)
100 approvals across 100 ballots — average 1.0 of 3 (range 1–1).
approved 1: 100 ballots
[Co-Approval Matrix]
Of the voters who approved the ROW candidate, the % who ALSO approved the COLUMN candidate.
| C | A | B |
-------------------------------
C | -- | 0% | 0% |
A | 0% | -- | 0% |
B | 0% | 0% | -- |
Winner — Approval Voting (single winner)
C
Run it yourself:
python STARVote_LH_tabulation_engine/starvote_larry_hastings.py method_comparisons/chicken_dilemma/cases/chicken_approval_both_defect.yaml
See also¶
- Ties & tie-breaking (topic hub)
- Vote splitting (worked set)
- Runoff reversal (worked set)
- Glossary · all cases by method
More cases in this set: chicken_approval · chicken_star