Crowded field, rung 5 — 5 candidates, 65 voters, counted by Approval¶
Generated from crowded_field_c5_approval.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: Diego
Official tie-break (lot) order: Ana > Bruno > Diego > Elsa > Greta — consulted only if every deterministic tiebreaker stays tied (how the ladder works).
Scenario¶
RUNG 2, counted by Approval. Diego again, 34 to Bruno's and Elsa's 29 — Approval is still with STAR, Score and Ranked Robin at five candidates, while RCV-IRV and Choose-One have already left.
Standing caveat: Approval's answer is the most cutoff-dependent of the six methods on this ladder. Approve-at-3 and approve-at-4 are different elections, which is why there is no such thing as "Approval's result" without the rule attached.
Same 65 voters and the same fixed candidate positions as crowded_field_c5_star.yaml; the approval ballot is that file's 0–5 ballot thresholded at 4 (approve everyone you would score 4 or 5). Change the cutoff in build_ladder.py and this file changes with it.
Construction: build_ladder.py in this folder. 65 voters in seven blocs at 0, 4, 8, 12, 16, 20, 24 (sizes 6, 10, 13, 9, 12, 8, 7); candidates fixed at Ana 1 · Bruno 6 · Clara 9 · Diego 11 · Elsa 14 · Felix 16 · Greta 22; utility = minus distance; scores = each bloc's own min-max scaling onto 0–5. Nothing is tuned, and no count at any rung is settled by a tie-break.
Ballots¶
Row 1 = candidate names; each later row is one voter's approvals (1 = approve, 0/blank = not approved).
Count:Ana,Bruno,Diego,Elsa,Greta
6:1,1,0,0,0 # bloc at 0
10:1,1,0,0,0 # bloc at 4
13:0,1,1,0,0 # bloc at 8
9:0,0,1,1,0 # bloc at 12
12:0,0,1,1,0 # bloc at 16
8:0,0,0,1,1 # bloc at 20
7:0,0,0,0,1 # bloc at 24
What the engine says¶
Full report from the _tabulated mirror (regenerated on every run; every analysis forced on):
--- Approval Voting (single winner) ---
Tabulating 65 ballots (any non-zero score = approval).
Ballots:
columns = Ana, Bruno, Diego, Elsa, Greta (1 = approve; 0 = not approved)
16 × 1,1,0,0,0
13 × 0,1,1,0,0
21 × 0,0,1,1,0
8 × 0,0,0,1,1
7 × 0,0,0,0,1
Diego -- 34 (52%) -- Elected
Bruno -- 29 (45%)
Elsa -- 29 (45%)
Ana -- 16 (25%)
Greta -- 15 (23%)
[Approval Distribution] (how many candidates each ballot approved)
123 approvals across 65 ballots — average 1.9 of 5 (range 1–2).
approved 1: 7 ballots
approved 2: 58 ballots
[Co-Approval Matrix]
Of the voters who approved the ROW candidate, the % who ALSO approved the COLUMN candidate.
| Diego | Bruno | Elsa | Ana | Greta |
-----------------------------------------------------
Diego | -- | 38% | 62% | 0% | 0% |
Bruno | 45% | -- | 0% | 55% | 0% |
Elsa | 72% | 0% | -- | 0% | 28% |
Ana | 0% | 100% | 0% | -- | 0% |
Greta | 0% | 0% | 53% | 0% | -- |
Winner — Approval Voting (single winner)
Diego
Run it yourself:
python STARVote_LH_tabulation_engine/starvote_larry_hastings.py method_comparisons/crowded_field/cases/crowded_field_c5_approval.yaml
See also¶
More cases in this set: crowded_field_c3_approval · crowded_field_c3_irv · crowded_field_c3_ranked_robin · crowded_field_c3_star · crowded_field_c5_irv · crowded_field_c5_ranked_robin · crowded_field_c5_star · crowded_field_c7_approval · crowded_field_c7_irv · crowded_field_c7_ranked_robin · crowded_field_c7_star