Resignation monotonicity — the board STAR-PR actually elects¶
Generated from resign_star_pr_seated_c4_b5.yaml — do not edit by hand. Regenerate: python STARVote_LH_tabulation_engine/tools_adam/scripts/build_yaml_pages.py.
Method: Allocated Score (proportional STAR) · 2 seats · Expected winners: Ana, Bruno
Scenario¶
A two-seat board. Four of the five voters are one bloc: every one of them backs Bruno, and they split evenly on a second name — two also back Cleo, two also back Dev. The fifth voter backs Ana and nobody else.
Allocated Score (the STAR-PR rule BetterVoting runs) does what proportional representation is supposed to do: the four-voter bloc gets one of the two seats (Bruno), and the lone voter gets the other (Ana). One seat each, no ties anywhere in the count.
This is the BEFORE half of a matched pair. Bruno then resigns, and the count is
re-run on the remaining three names in
resign_star_pr_after_bruno_c3_b5.yaml — where Ana loses her seat too.
Ballots¶
Row 1 = candidate names; each later row is one voter's 0–5 scores (a N × prefix = N identical ballots).
Ana,Bruno,Cleo,Dev
5,0,0,0 # the lone voter — Ana only
0,5,5,0 # bloc voter, Cleo wing
0,5,5,0 # bloc voter, Cleo wing
0,5,0,5 # bloc voter, Dev wing
0,5,0,5 # bloc voter, Dev wing
What the engine says¶
The count, step by step — the rounds and how the winner is reached:
--- Allocated Score Voting Method (2 winners) ---
[Allocated Score Voting]
Tabulating 5 ballots to fill 2 seats.
Count × Ana,Bruno,Cleo,Dev
2 × 0, 5, 5, 0
2 × 0, 5, 0, 5
1 × 5, 0, 0, 0
[Allocated Score Voting: Round 1]
The highest-scoring candidate wins a seat.
Bruno -- 20 -- First place
Cleo -- 10
Dev -- 10
Ana -- 5
Bruno wins a seat.
[Allocated Score Voting: Round 1: Ballot allocation round]
Allocating 2+1/2 ballots.
[Allocated Score Voting: Round 1: Ballot allocation round: Round 1]
Allocating 4 ballots at score 5.
This allocation overfills the quota. Returning fractional surplus.
Allocating only 62.50% of these ballots.
Keeping these ballots, but multiplying their weights by 3/8.
4 ballots reweighted from 1 to 3/8.
[Allocated Score Voting: Round 2]
The highest-scoring candidate wins a seat.
Ana -- 5 -- First place
Cleo -- 3+3/4
Dev -- 3+3/4
Ana wins a seat.
[Allocated Score Voting: Winners — Allocated Score Voting Method (2 winners)]
Ana
Bruno
Full audit — preference matrix, Condorcet, and score distribution¶
--- Preference Matrix ---
Head-to-head / pairwise comparison
Legend: For - Equal Support - Against
Informational only — not part of the 2-winner count below,
so no Top-2 finalists are marked.
| Ana | Bruno | Cleo | Dev |
-----------------------------------------------------------------
Ana > | --- |1 - 0 - 4 |1 - 2 - 2 |1 - 2 - 2 |
Bruno > | 4 - 0 - 1 | --- |2 - 3 - 0 |2 - 3 - 0 |
Cleo > | 2 - 2 - 1 |0 - 3 - 2 | --- |2 - 1 - 2 |
Dev > | 2 - 2 - 1 |0 - 3 - 2 |2 - 1 - 2 | --- |
[Condorcet Winner]
Condorcet Winner: Bruno — matches the STAR winner
[Condorcet Loser]
Condorcet Loser: Ana — loses every head-to-head matchup
[Score Distribution] (how many ballots gave each star rating)
Score
Candidate 5 4 3 2 1 0 | Total Avg
Ana 1 0 0 0 0 4 | 5 1.0
Bruno 4 0 0 0 0 1 | 20 4.0
Cleo 2 0 0 0 0 3 | 10 2.0
Dev 2 0 0 0 0 3 | 10 2.0
Hare quota is 5/2.
Everything in one file: the _tabulated mirror (regenerated on every run; every analysis forced on).
Run it yourself:
python STARVote_LH_tabulation_engine/starvote_larry_hastings.py 04_Approval/03_Criteria/cases/resign_star_pr_seated_c4_b5.yaml
See also¶
- Monotonicity (topic hub)
- Ties & tie-breaking (topic hub)
- Vote splitting (worked set)
- Glossary · all cases by method
More cases in this set: abc_committee_monotonicity_1seat_c3_b10 · 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 · sav_strategy_bullet_vote_c5_b2