Thinking more about the PEP 13 change, do we really need to change it? Very few people will care (current company excluded of course :-). Also fudging with election rules shortly before the election can feel suspicious (certainly in the current US political climate).
If possible I would rather amend PEP 8107 to clarify STAR’s “pre-established tiebreaker” to use randomness except in the final round, when PEP 13 takes over.
PS. Maybe someone can clarify the following to me. If there’s a tie in round N of Block-STAR, where N is not the last round, isn’t the loser of the tie going to be the winner of the next round?
PPSS. If the answer to that PS is yes, maybe if there’s a K-way tie we should resort to manual resolution if N + K - 1 is larger than the total number of rounds. Of course this gets more and more academic.
Nobody has shown the slightest suspicion here, and I don’t expect anyone to. The PEP 13 text was suitable for Block Approval, but is underspecified for Bloc STAR. The change is clearly motivated and very straightforward.
Seems like needless complication to me. @zware’s proposed change is easy, simple, and uniform.
The most obvious hole is that ties can be K-way for K > 2. In which case there are K-1 > 1 losers, so “the” loser doesn’t apply. Whether the next K-1 winners must be those is something I don’t want to burn time thinking about.
Mostly because I don’t see value to finding “an answer”. A tie means the electorate expressed no preference among those tied. The time to express preferences was when casting the ballots.
Or, to my eyes, more needless complication .
In any case, BetterVoting supports none of that stuff. Part of the 'voting experience" is picking a service and letting it tell us who “the winners are”. When voting ends, the results are available instantly, with a nice graphically illustrated account (on the site) of how the winners were picked.
An alternative would be to use BetterVoting only to collect the ballots, and ignore its idea who the winners are. We could then download the ballot data and use @larry’s software to implement whatever tiebreaking scheme we like (including manual intervention).
Nor attractive to me, but wouldn’t fight hard against it.
In each round we use total scores (6, 6 and 5) to choose a pair of candidates and then do the runoff where we count how many times one was preferred to the other by each of the voters. In a runoff Cand1 vs Cand2 would tie while otherwise Cand3 would always win. In the first round Cand3 is not selected because Cand1 and Cand2 have higher total scores so the rounds are:
Cand1 vs Cand2: tie break (choose e.g. Cand1)
Cand2 vs Cand3: Cand3 wins
The same thing could happen without ties that Cand3 is not selected in the first round even though they would beat either of the candidates that was. The reason is that the scores are treated as numeric values to be summed linearly when selecting who goes into the runoff but then the same scores are only treated as ordinal values for deciding the outcome of the runoff. The big number 5 given by some voters is decisive in the first step but becomes irrelevant in the runoff.
It is possible I have misunderstood the intended tallying method though…
Nice, @oscarbenjamin! You’re right. The loser of the first-round 2-way tie goes on to lose in the 2nd round too. Here’s how @larry’s package scores it:
$ py -m starvote oscar.starvote
[Bloc STAR]
Tabulating 3 ballots.
Maximum score is 5.
Want to fill 2 seats.
[Bloc STAR: Round 1: Scoring Round]
The two highest-scoring candidates advance to the next round.
Cand1 -- 6 (average 2) -- First place
Cand2 -- 6 (average 2) -- Second place
Cand3 -- 5 (average 1+2/3)
Cand1 and Cand2 advance.
[Bloc STAR: Round 1: Automatic Runoff Round]
The candidate preferred in the most head-to-head matchups wins.
Cand1 -- 1 -- Tied for first place
Cand2 -- 1 -- Tied for first place
No Preference -- 1
There's a two-way tie for first.
[Bloc STAR: Round 1: Automatic Runoff Round: First tiebreaker]
The highest-scoring candidate wins.
Cand1 -- 6 -- Tied for first place
Cand2 -- 6 -- Tied for first place
There's still a two-way tie for first.
[Bloc STAR: Round 1: Automatic Runoff Round: Second tiebreaker]
The candidate with the most votes of score 5 wins.
Cand1 -- 1 -- Tied for first place
Cand2 -- 1 -- Tied for first place
There's still a two-way tie for first.
[Bloc STAR: Round 1: Automatic Runoff Round: Predefined permutation tiebreaker]
Permutation was defined in 'oscar.starvote'.
Pre-permuted list of candidates:
1. Cand1
2. Cand2
3. Cand3
Tiebreaker candidates will be selected from this list, preferring candidates with lower numbers.
Choosing the earliest of these candidates from the permuted list:
Cand1
Cand2
Selected winner: Cand1
[Bloc STAR: Round 2: Scoring Round]
The two highest-scoring candidates advance to the next round.
Cand2 -- 6 (average 2) -- First place
Cand3 -- 5 (average 1+2/3) -- Second place
Cand2 and Cand3 advance.
[Bloc STAR: Round 2: Automatic Runoff Round]
The candidate preferred in the most head-to-head matchups wins.
Cand3 -- 2 -- First place
Cand2 -- 1
No Preference -- 0
Cand3 wins.
[Bloc STAR: Winners]
Cand1
Cand3
Thanks! Even if itt urns out to be even subtler, this is why I asked a question about it instead of posting my guess as fact (even though the latter would be the modern internet convention :-).
Regardless of that the answer was “no”, there’s a different way to handle this that doesn’t require changing anything, if it comes up. Suppose Ada, Brian, and Charlene tie for the 5th open seat. Suppose Ada wins the virtual 3-sided coin toss.
But Ada would prefer that Brian or Charlene get the seat. Fine! Ada can resign immediately, and what remains of the SC can pick anyone else they like (although one would hope they pick either Brian or Charlene).
From PEP 13:
Council members may resign their position at any time.
Whenever there is a vacancy during the regular council term, the council may vote to appoint a replacement to serve out the rest of the term.
Which hints at deeper things in play: cardinal and ordinal systems have different weaknesses, and it’s supremely intentional that STAR combines some of each. It’s not so much that it’s trying to combine the best of both than that t’s trying to use each to counter the worst of the other.
For example, a weakness of cardinal systems is that they’ve vulnerable to distortion via “strategic” (insincere) voters, who exaggerate their honest scores to try to game the system. But, as you observed, the magnitude of scores is irrelevant in the runoff stage. If you don’t express your true preferences in the scoring stage, it can backfire on you in the runoff stage.