Exercise 5 — The squeezed bridge-builder¶
Method: STAR (single winner) · 1 seat · Expected winner: Brook · full count →
A club elects its president. Two wings can't stand each other's candidate — and there's Brook, whom everyone can live with. Every single voter scores Brook a 3 or better. Run the same nine opinions as ranked ballots under RCV-IRV and as score ballots under STAR: do both counts find the bridge-builder?
▶ Live on BetterVoting: vote · results ↗ (election 6bry7c, Test ID BV2192 — STAR, RCV-IRV, and Ranked Robin races on the same opinions: the squeeze happens live).
You practice: the center squeeze mechanism — predicting when first-choice elimination discards a consensus candidate — and how a scoring round reads the support that first choices can't see.
Work each part on paper before opening its solution. The YAML at the bottom is runnable; its expected_winners key is regression-tested, and the _tabulated mirror is the full audit report.
The ballots¶
Nine voters, three candidates, scores 0–5 (rows are candidates, columns are voter blocs):
| ×4 voters | ×3 voters | ×1 voter | ×1 voter | |
|---|---|---|---|---|
| Avi | 5 | 0 | 3 | 0 |
| Brook | 3 | 3 | 5 | 5 |
| Cole | 0 | 5 | 0 | 3 |
Avi's wing (4 voters), Cole's wing (3 voters), and two Brook-first voters who lean opposite ways. For RCV-IRV, rank each column by its scores.
Your task¶
- (a) Count first choices. Then run RCV-IRV: who is eliminated first, where do their votes go, who wins?
- (b) Now run STAR: scoring round, finalists, runoff. Who wins?
- (c) Check Brook against each rival head-to-head. What is Brook, in Condorcet terms — and which of your two winners agrees with that verdict?
- (d) The squeeze needed specific conditions. Change ONE number in the table so that RCV-IRV does elect Brook. What does your fix reveal about what the squeeze depends on?
Solutions¶
(a) RCV-IRV — Brook is eliminated first; Avi wins
First choices: Avi 4, Cole 3, **Brook 2** — the candidate everyone accepts is *nobody's* first choice but two. IRV eliminates Brook immediately. Brook's two voters split: one transfers to Avi (scored 3), one to Cole (scored 3). Final round: **Avi 5, Cole 4 — Avi wins.** The 3 Cole-wing voters, who scored Avi zero, get their least-acceptable outcome; Brook's broad 3s were never looked at. That is the center squeeze.(b) STAR — Brook, 5–4
[Divergence from STAR]
STAR = Brook
Choose-One (Plurality) = Avi (differs from STAR)
RCV-IRV = Avi (differs from STAR)
Note: no ballots had tied scores, so RCV-IRV vs STAR here is a genuine
method difference, not a tie-breaking artifact.
Note: Ranked Robin (RCV-RR) agrees with STAR, so RCV-IRV is the lone
outlier — the classic center-squeeze signature.
Full round-by-round reports (generated for review):
RCV-IRV rounds: cases_tabulated/ex05_center_squeeze_RCV-IRV_tabulated.txt
--- STAR Voting Method (single winner) ---
[STAR Voting]
Tabulating 9 ballots.
Count × Avi,Brook,Cole
4 × 5, 3, 0
3 × 0, 3, 5
1 × 3, 5, 0
1 × 0, 5, 3
[STAR Voting: Scoring Round]
The two highest-scoring candidates advance to the next round.
Brook -- 31 -- First place
Avi -- 23 -- Second place
Cole -- 18
Brook and Avi advance.
[STAR Voting: Automatic Runoff Round]
The candidate preferred in the most head-to-head matchups wins.
Brook -- 5 -- First place
Avi -- 4
Equal Support -- 0
Brook wins.
Runoff math:
9 ballots cast
− 0 Equal Support (no preference between the two finalists)
─
9 voters with a preference (majority = 5)
Brook 5 (56%) · Avi 4 (44%)
[STAR Voting: Winner — STAR Voting Method (single winner)]
Brook
(c) Brook is the Condorcet winner
Brook vs Avi: 5–4 (Cole's wing plus both Brook voters). Brook vs Cole: 6–3 (Avi's wing plus both Brook voters). **Brook beats everyone head-to-head** — the Condorcet winner — and STAR's verdict agrees while IRV's doesn't. (The engine's divergence block prints the same: `RCV-IRV = Avi`, with the note that no scores are tied, so this is a genuine method difference, not a conversion artifact.) This is the textbook pattern of Burlington 2009 and Alaska 2022 — see the [center-squeeze comparison set](../../method_comparisons/center_squeeze/README.md) for the fuller treatment.(d) Break the squeeze — and see what it depends on
One clean fix: move one Avi-wing voter's Brook score from 3 up to *first place* (Avi 3, Brook 5). First choices become Avi 3, Cole 3, Brook 3 — the elimination tie breaks the clean story, but push it to two voters and Brook simply stops being last in first-choices, survives the first round, and then beats either rival in the final. The reveal: the squeeze depends on **first-choice count alone deciding who survives** — Brook's actual support (nine voters at 3+) never mattered, only the accident of how many put Brook *strictly first*. Any repair must route around that bottleneck, which is precisely what a scoring round is.Reading this fairly¶
The squeeze is the rare "whoops" that passes the whole four-part test: structural (a whole region of spatial electorates, not a knife-edge), sincere (no strategy anywhere above), realistic (two wings + a bridge-builder is ordinary politics), and really happened (Burlington 2009, Alaska 2022). The fairness note runs the other way: STAR is not squeeze-proof in some absolute sense — it simply doesn't gate survival on first choices; its own honest limits live in exercise 1 and exercise 2.
Run it yourself¶
python STARVote_LH_tabulation_engine/starvote_larry_hastings.py 01_STAR/05_Practice/cases/ex05_center_squeeze.yaml
Source: ex05_center_squeeze.yaml. Full audit report: mirror.
Where this comes from. Original to this repo (ballots and cast); the mechanism it drills is the classic center squeeze — concept home RCV-IRV center squeeze, live comparison set method_comparisons/center_squeeze (BV2137).
Back to the exercises set · curriculum home: Voting 301