STV versus Condorcet forms of STV

Disregarding complexity (unless it’s extreme), which leads to better results?

Also, can STV with equal-ranking (either one vote per candidate, and only one candidate elected at a time, or one vote split up between candidates) capture some of the consensus benefits of Condorcet-STV methods?

My best guess as to how Condorcet can be applied to STV in the least controversial way possible is if there was a way to focus it on individual Droop Quotas, where a moderate in the quota could be elected instead of being eliminated for having fewer 1st choice votes.

Schulze-STV does pairwise comparisons of winner sets rather than of candidates. It only compares winner sets that differ by one candidate, for example, {A1,…, An} and {B, A2,…, An}. A ballot may be assigned to any candidate Ai in the first set A if it prefers Ai to B. It may also be unassigned. The ballots are assigned in a way that maximizes the minimum number of ballots assigned to a candidate in the first set, which is the votes for the first set beating the second set. To determine the number of votes for the second set beating the first, this procedure is done in reverse.

When sets that differ by more than one candidate, they can only be compared by comparing the strength of the strongest path from the first set to the second against the strongest path from the second set to the first. The Schulze method is used to determine the winning set. (There is guaranteed to be a set for which the path strength from that set to any other is greater than the reverse. That set is the winner.)

It is a lot more complicated than STV. However, it is still Droop Proportional, and as resistant to vote management as is possible to do while remaining Droop Proportional.

Here is an example where Bucklin PR is resistant to vote management in the same way Schulze STV is, whereas STV fails:

Hare Quota is 45
1st choice tallies are:
38 Andrea, 25 Carter, 27 Brad. Nobody has a Hare Quota, so include the next rank.
2nd choice-included tally:
63 Andrea, 51 Carter, 39 Brad
Andrea has the largest Hare Quota so she is elected. After fractional exhaustion:
14.57 Carter, 30.43 Brad. Nobody has a Hare Quota so include the next rank.
3rd choice-included tally:
18 Carter, 45 Brad
Brad has a Hare Quota and is elected. Final winners are Andrea and Brad.

Yellow party could bullet vote Carter and it could still work, though they’d need to move a couple Andrea>Carter>Brad voters. That said, if you move 5 more Andrea>Carter>Brad voters to Carter>Andrea>Brad, then the DPC requires Andrea and Carter to win.

Wait, with Schulze STV, it would only take 3 A>C>B voters switching to C>A>B to move the outcome. That’s a few votes shy of being forced by the DPC.

The solution for this example for Bucklin PR (which I’ve been told may just be a variant of the Expanding Approvals Rule) seems to be to avoid exhausting ballots until the number of candidates ranked by a quota equal the number of winners (and if there are more candidates ranked by a quota than the number of winners, I’m not sure, but maybe just take only the ones furthest over the quota? it seems like you’d have to test for every permutation of candidates), and then see if it’s possible to exhaust votes such that all the candidates ranked by a quota win. If not, continue adding ranks, etc.

With a Droop Quota (Hare seems to elect Brad unless voters truncate him), with only 1st choices included, Andrea is the only one with a quota, so we add in 2nd choices. Now both Andrea and Carter are over the quota, and we have 2 candidates ranked by a quota equalling the 2 seats to be filled, so we check the ballots that rank them to see if both can be elected. If we start by testing exhausting the ballots ranking only one of them, and then exhaust the ballots that rank one more than that (both of them) until we reach ballots that rank all candidates up for consideration, we get 12 Andrea>Brad ballots exhausted, then we take only enough of the 26 Andrea>Carter ballots to give Andrea a quota (18 ballots; I think the algorithm should prioritize trying to elect the candidate ranked on more ballots first, might be wrong), we have 33 ballots left that support Carter, which is a Droop Quota, so Andrea and Carter win.

Let me just make sure I understand Bucklin STV.

  • Voters cast a rank-order ballot.
  • If any candidates have a Droop Quota of votes, then they are elected, and they lose votes in proportion to what they have (e.g. if I have 50 votes and the quota is 40, then I lose 4/5 of my votes).
  • If no candidates meet the quota, then second choices are added on, which doubles the number of votes required to meet the quota, right?

I heard an idea to make votes that rank the winner higher exhaust first or exhaust more, but ignoring that, this is the idea.

Nope. Quota stays the same throughout. If the quota doubled, I don’t think it’d be proportional anymore.

In addition to this Bucklin PR method, my previous comment was developing an optimal version of the method.

Also, I have taken a look at the paper on the Expanding Approvals Rule, and it appears that “Bucklin STV” really just is EAR. Still, I think working out an optimal version of that method may provide a good guideline for ordinal method performance; in the above example, it makes no sense to me that 2 Droop Quotas are denied representation when some of them rank A>C but get representation when they rank C>A. It’s a tolerable issue with a sequential method, but the fact that Schulze STV, an optimal method, didn’t represent them, makes me think that there may be room for improvement for ordinal optimal methods.

Actually, looking at the example above for EAR but done with Droop Quotas, it seems Andrea and Carter win; when looking at 1st choices, Andrea has 38 votes, 8 more than a quota, and then when including 2nd choices, Carter has 25 1st choices + 5.47 2nd choices from the partially spent Andrea-top ballots, so he wins.

I’ve implemented my own versions of Bucklin PR / EAR, and there are various alternatives one can consider.

When implemented as Bucklin, it is a ranked method. However, Bucklin with equal rating allowed and gaps in ranking allowed can also be viewed as a median rating method.

If you use ratings instead of rankings, equal rating allowed, then the candidate who wins each seat is chosen from among those with the highest number of ballots at or above the current approval threshold. As in EAR/Bucklin the threshold starts at the highest rating, then is sequentially lowered until at least one candidate’s totals (upward) exceed the quota.

With a Bucklin-style scheme, the tie-breaker is simply the at-and-above-threshold total number of weighted ballots. This reduces to ER-Bucklin-ratings in the limiting case of single winner (with Droop quota).

But there are alternatives, among which are a Majority Judgment style in which the pairs (rating, total-at-and-above that rating) are sorted in order of increasing distance from the quota. This reduces to MJ in the single winner case.

Another alternative would be to use the average score in just the top two quota blocks. In other words, if S[r,c] is the number of ballots giving candidate c a cardinal rating of r, then let T[r,c] be the sum of S[r,c] from score r up to the maximum rating, and let W[r,c] be the sum of r * S[r,c] from rating r up to the maximum rating. Then, for candidate c find r2q such that T[r2q,c] > 2 * quota. And the two-quota score average is then (T[r2q+1,c] + (T[r2q,c] - 2*quota) * r2q) / (2 * quota). The qualifying candidate with the highest two-quota average score is the winner.

In this last case, the method reduces to median-rating // Score in the single winner case, using a Droop quota of Nvotes/(Nseats + 1). That is, the score winner tie-breaker among those candidates with highest median rating.

Interestingly, SMV done with Droop Quotas in the single-winner case roughly becomes “elect the candidate with the highest score, but ignore consensus candidates.”

Do you have a reference for SMV?

I put that here. https://electowiki.org/wiki/Sequential_Monroe

I have asked @parker_friedland to update it so it can be the canonical definition.

I think I understand SMV now.

It’s very similar to the Bucklin PR methods I discussed above, and in fact the way it exhausts a Hare quota of votes is almost exactly the same as in those methods.

The difference is that it does not use the quota-centered rating as the first tie-breaker, but rather the score within the top quota, and SMV is approximating the average score within quota/2 of the top, instead of quota from the top as in median-rating-based methods.

Other than that, it is a reasonable method. It doesn’t completely satisfy LNHelp or LNHarm, which are beneficial properties for PR methods as they encourage full rating/ranking, but the degree of failure to satisfy those is less severe in multiwinner.

It is still vulnerable to Hylland free-riding.

For a HFR-resistant method, see this variant by Kristofer Munsterhjelm:

http://lists.electorama.com/pipermail/election-methods-electorama.com/2017-September/001584.html
http://lists.electorama.com/pipermail/election-methods-electorama.com/2017-January/001276.html

1 Like

Is it possible to document all these systems somewhere? The obvious choice being https://electowiki.org

I work full time and have 3 children under 6, so fitting in non-profit documentation time is a tight squeeze :slight_smile:

I work full time and have twin 3 year olds so I feel your pain. Some copy/paste documentation would take no more time than posting here. Better than links to old mailing lists.

It turns out, you can actually get a tie between all 3 candidates if 3 of the Andrea>Brad>Carter voters move to Brad>Andrea>Carter along with the 5 ACB to CAB voters you mentioned. If we’re talking about the “moving” in the context of Asset negotiations and vote transfers, this means having to choose between prioritizing the election of candidates in a tie who started out with a Droop Quota of 1st choices (which would make all of these voters want to do Vote Management to ensure their candidates get priority), and potentially not electing a candidate with a Droop Quota of 1st choices (which seems unthinkable, though I believe those candidates’ voters are still guaranteed Hagenbach-Bischoff coalition representation among their later preferences.)

Consider that because this is a 2-winner election with 3 candidates, any randomly chosen set of 2 candidates will have at least 1 winner in it. If we look at the sets Andrea is in, (A, B) and (A, C), we see that she is preferred to Brad by the majority and has more (a Droop Quota of) 1st choices, and ditto against Carter. So clearly Andrea should be guaranteed victory on principle, yet this may not be the best thing to do all things considered.

Just a couple of updates while I have a few moments:

Kristofer Munsterhjelm has been writing up his linear programming optimized HFR method for electowiki, but ran into an issue he is trying to work out.

I was reviewing Sequential Monroe again and it appears to lack a way to handle overvote ties. For example, if two candidates both receive total votes at rating 9 that exceed the Hare quota, you need a tie-breaker.

I’m currently playing with a version of the top-quota score average (essentially SQM) plus Condorcet for the last seat (Score Sorted Margins).

The definition here is pretty clear https://electowiki.org/wiki/Sequential_Monroe

Basically you there is a score cut off point where one Hare quota of ballots is reached. All ballots above that are exhausted. Those at the split are fractionally exhausted by lowering the ballot weight to get an exact hare quota.

If you want to see it in code look here

specifically it is in the get_winners() function utils.py. This does many different methods. Sequential Monroe is Selection == ‘Hare_Ballots’ and Reweight == ‘Allocate’

Wouldn’t this create an even stronger Hylland free riding incentive?

One would be tempted to rate a favorite candidate even lower than your less popular alternatives, so that if you do help elect the popular candidate, your ballot comes in at the quota threshold and is fractionally reweighted instead of being exhausted.