Skip to content

Exercise 14 — The transfer machine, fully ranked (BV probe variant)

Generated from ex14_two_novels_fullranks.yaml — do not edit by hand. Regenerate: python STARVote_LH_tabulation_engine/tools_adam/scripts/build_yaml_pages.py.

Method: STV (proportional, ranked ballots) · 2 seats · Expected winners: Austen, Camus

▶ Live on BetterVoting: vote · results ↗ (election bj8dfc · test BV2202).

Scenario

The same nine voters as ex14_two_novels.yaml with every ballot completed to a full ranking — 5×(Austen>Bronte>Camus>Dickens), 1×(Bronte>Camus> Austen>Dickens), 3×(Camus>Dickens>Bronte>Austen). The added trailing rankings are never reached by any transfer, so the quota, the rounds and the seats are identical to the exercise — under whichever of the two published Droop quotas the count applies: Austen elected in round 1, her surplus transferring to Bronte, and Camus taking the second seat. Seats: Austen + Camus. This variant exists as a bug probe: BetterVoting's STV tabulator returns a server error on the exercise's truncated ballots (BV2201, tk776t) — and, it turns out, on this fully-ranked copy too (BV2202, bj8dfc), acquitting truncation. The bug has since been fully DIAGNOSED (probes BV2203-2205): any STV count whose eliminations leave ONE remaining hopeful who then reaches quota crashes — BV's IRV.ts redistributes the winner's surplus over an empty candidate list, and [].reduce with no initial value throws. This count is exactly that shape (Camus elected last and alone). Full bisection, evidence table, and ready-to-file issue: 06_Other/STV/bv_stv_sole_survivor_crash/; narrative: ex14_transfer_machine.md. Live on BetterVoting (Test ID BV2202): https://bettervoting.com/bj8dfc — the vote page works; /results currently errors (the bug above).

Ballots

Each row is one voter's ranking, most-preferred first (N: prefix = N identical ballots).

5:Austen>Bronte>Camus>Dickens
1:Bronte>Camus>Austen>Dickens
3:Camus>Dickens>Bronte>Austen

What the engine says

The count, step by step — the rounds and how the winner is reached:

--- STV / Single Transferable Vote (multi-winner — 2 seats) ---
  Exercise 14 — The transfer machine, fully ranked (BV probe variant)
 Tabulating 9 ballots (ranked ballots).
 2 seats; quota = 3.00 (exact Droop, votes/(seats+1)) — 33.3% of 9.
 Elected at >= quota, and every surplus is measured from it.
 (Hand-count Droop, floor(9/3)+1 = 4, is a different but equally standard rule.)

ROUND 1
Candidate      Votes  Status
-----------  -------  --------
Austen             5  Elected
Camus              3  Hopeful
Bronte             1  Hopeful
Dickens            0  Hopeful

FINAL RESULT
Candidate      Votes  Status
-----------  -------  --------
Austen          3.00  Elected
Camus           3.00  Elected
Bronte          3.00  Rejected
Dickens         0.00  Rejected


Winner(s) — STV / Single Transferable Vote (multi-winner — 2 seats)
  Austen
  Camus

Full audit — preference matrix, Condorcet, and score distribution

--- Smith Set (the generalized Condorcet winner) ---
The smallest group whose every member beats every candidate outside it —
the honest answer to "who is even in contention?".
   Smith set (1 of 4): Austen
   Outside (3):        Bronte, Camus, Dickens
   One member ⇒ Austen is the Condorcet winner, beating every rival head-to-head.
   More: 07_Concepts/topics/smith_set.md

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 01_STAR/05_Practice/cases/ex14_two_novels_fullranks.yaml

See also

More cases in this set: ex01_district_combined · ex01_district_east · ex01_district_west · ex02_bella_exits · ex02_nine_ballots · ex02_tenth_ballot · ex03_five_verdicts · ex04_olympics_1994 · ex05_center_squeeze · ex06_bullet_backfire · ex06_bullet_honest · ex07_vanishing_votes · ex08_minimal_reversal_2c · ex08_minimal_reversal_3c · ex09_game_night_cycle · ex10_generous · ex10_reticent · ex11_spoiler_added · ex11_two_way_base · ex12_bloc_sweep · ex12_proportional_share · ex13_approve3 · ex13_approve4 · ex13_bullet · ex13_opinions · ex14_two_novels · ex15_approval_pairwise · ex15_approval_yes_no · ex15_score_profile