election_title: SAV vs AV — the same ballots elect two disjoint committees

# Machine-readable BV tracker fields (ignored by the tabulation engine; read by
# tools_adam/scripts/build_bv_registry.py to generate the index + number registry).
bv_test_id: BV2271
bv_election_id: 4hfwqd
bv_results_url: https://bettervoting.com/4hfwqd/results

scenario_description: |-
  Brams & Kilgour's own worked example (Satisfaction Approval Voting, MPRA
  22709, 2010, section 2) — the proof of their Proposition 2: "AV and SAV can
  elect disjoint subsets of candidates." Ten voters, four candidates, TWO
  seats. Four voters approve a two-person slate; six bullet-vote.

  The paper's candidates a,b,c,d are named Ada, Ben, Cleo, Dev here.

    AV  (one vote per mark, the LH engine's Approval_Multi_Winner):
        Ada 4, Ben 4, Cleo 3, Dev 3   ->  Ada, Ben
    SAV (one vote per BALLOT, split evenly among the marks):
        Ada 4x1/2 = 2, Ben 2, Cleo 3x1 = 3, Dev 3   ->  Cleo, Dev

  Not one candidate in common. The slate voters' marks were worth a whole vote
  each under AV and half a vote each under SAV, and half was not enough.

  Which is "right" depends on what you count. AV's pair represents 4 of the 10
  voters; SAV's represents 6 — the paper's argument for SAV. Run the file
  through the abcvoting engine for the whole spectrum:

    python 06_Other/abcvoting_tabulation_engine/abc_tabulation.py \
      04_Approval/02_Examples/multiwinner/cases/approval_sav_disjoint_c4_b10_brams_kilgour.yaml \
      --rules av,sav,pav,seqpav,cc,seqphragmen

  PAV splits the difference — it ties {Ada,Cleo}, {Ada,Dev}, {Ben,Cleo},
  {Ben,Dev}, one seat from each side, which is the proportional answer for a
  40% bloc holding 2 seats. Concept page:
  04_Approval/01_Learn/Multiwinner_Approval/satisfaction_approval_voting.md

  Live on BetterVoting (BV2271, election 4hfwqd): the SAME ten voters under the
  three methods BV can tabulate — Approval, STAR and Ranked Robin, all bloc at
  2 seats. All three elect Ada and Ben, so SAV is the lone dissenter rather
  than bloc Approval being the outlier. Two-view page:
  bv2271_4hfwqd_sav_disjoint.md
  Live results: https://bettervoting.com/4hfwqd/results

voting_method: Approval_Multi_Winner
num_winners: 2

ballots: |-
  Ada,Ben,Cleo,Dev
  1,1,0,0   # 4 voters — the two-person slate
  1,1,0,0
  1,1,0,0
  1,1,0,0
  0,0,1,0   # 3 voters — Cleo only
  0,0,1,0
  0,0,1,0
  0,0,0,1   # 3 voters — Dev only
  0,0,0,1
  0,0,0,1

expected_winners:
  - Ada
  - Ben

# file: approval_sav_disjoint_c4_b10_brams_kilgour.yaml
