STAR made clone-resistant is a Condorcet method (Ranked Score, Sorted Margins)

As a basic method, score voting is intuitive, reasonable and simple, but the lack of whole vote may be an impediment to public adoption.

STAR (Score + Automatic Runoff) addresses that by doing an automatic runoff between the Score winner and the runner-up, but is not resistant to the highest scoring faction running more than one candidate (i.e., it is not clone-resistant). It also does not have a clear extension to multi-winner.

After thinking about the problem for some time, I realized that the generalization of STAR is to find a Condorcet-winner, if one exists, or alter the score sum ranking as minimally as possible in order to achieve a ranking that is in order pairwise.

Back in 2005, Forest Simmons proposed a new method called Approval Sorted Margins. The basic idea of this method was that a ranking or rating would be combined with an approval threshold, and Approval would be used to automatically handle any Condorcet cycles in the pairwise contests.

The way Sorted Margins works is based on an initial ranking sorted in decreasing order of an approval metric. One could sort this ranking by pairwise contests using Bubble or Sink sort, but neither of those would be symmetric. So the question is, how does one sort based on an approval rating seed, with minimal impact to the initial order?

In Sorted Margins, the ranking is successively examined, and the pairwise out-of-order pair with minimum approval margin is swapped, until there are no longer any pairwise out-of-order pairs. This is symmetric and modifies the initial seed order as minimally as possible.

If there is a Condorcet winner, that candidate will automatically sift upward to the top of the ranking. Similarly, if there is a Condorcet loser, that candidate will automatically sift downward to the bottom of the ranking. And clones are also handled automatically, since they would sift upwards or downwards together.

In considering how Approval Sorted Margins could be adapted to a multiwinner method, I recalled a quota-based Range Reweighted Voting method I had worked on back in 2011: https://github.com/dodecatheon/range-transferable-vote

I didn’t pursue it further because of the reasons I already discussed about plain Range Voting.

But this method could easily be adapted to use Sorted Margins, if the approval rating seed uses Score Sums instead of Approval (from an approval cutoff). It turns out that what I’m calling Ranked Score Sorted Margins gives virtually the same results as Approval Sorted Margins when the score range is large enough (0 to 5 or larger), and is as easy to explain and use as basic Score Voting.

Ranked Score Sorted Margins is Condorcet Winner, Condorcet Loser, Monotonic, Clone Immune, Chicken Dilemma resistant, and more resistant to Burial strategies than other clone-immune Condorcet methods such as Schulze, Ranked Pairs or River.

Toward that end, I wrote a quick python script to implement the method. It is the program rssmqrv.py in the GitHub repository https://github.com/dodecatheon/approval-sorted-margins

If you don’t have a system with Python and NumPy available, send me an example and I would be happy to run it for you.

Probably worth appending this to your post, since it generalizes a lot of what you’re saying: https://electowiki.org/wiki/Pairwise_Sorted_Methods

Noted. Edited the electowiki pages also.

Clone-resistant STAR doesn’t have to be Condorcet. There are other ways to make it clone resistant.

One way is to start off by cloning every candidate. Then instead of having the top two scoring candidates in a run-off, you hold a two-seat sequential proportional election, and the run-off is between the two winners of that.

If the two winners are a candidate and their clone, then no run-off is required. That candidate is considered to be far enough ahead on the scores to not be subject to a run-off against another candidate.

1 Like

Making cardinal methods clone-resistant while keeping them mostly cardinal seems very difficult overall. Consider the following example:

Overview: 52 A voters vs. 49 B voters, but the A voters split their votes a bit letting both B candidates enter the STAR runoff

26 A1:10 A2:8
26 A1:8 A2:10
48 B1:10 B2:10 (A1/2:0)
1 B1:3 B1:2 A1:1 (A2:0)

If we assume each voter would give their 2nd favorite of the clone set (A1, A2) the score they gave to their favorite clone if the favorite clone dropped out, then we could say that A1 ought to win in either Score or STAR. But this makes the cardinal information a lot less involved in determining the result, since it means that you can’t really indicate an honest weak preference for less-preferred candidates. It also makes tabulation a lot harder, since you’d have to look at all of these possible clone-type sets (even if it’s not exactly a clone set) per ballot.

Can you then give a quick summary or make an electowiki page?

He made this page https://electowiki.org/wiki/Approval_Sorted_Margins#Score_Sorted_Margins_variation

The summary would be “rank all the candidates based on their scores, and then find all of the pairs of candidates in the ranking that are out of order pairwise and right next to each other in the ranking (i.e. a candidate is actually pairwise defeated by their next-lower-ranked candidate). Repeatedly swap the out-of-order pairs in the ranking with the smallest difference in scores within the pair until all candidates in the ranking are in order pairwise.” This makes it a Smith-efficient Condorcet method, since the candidate(s) that pairwise beat all others will guaranteeably be sorted to the top. The only part I’m unsure of is what to do when there are pairwise ties.

Pairwise ties are not out of order

1 Like

Would it then be alright with you if I edited the electowiki pages to say “each candidate in the ranking must beat or tie the next-ranked candidate”?

This system is not

It is however a pretty reasonable majoritarian type system. I have expressed before that I think Utilitarian systems are better but that is a matter of opinion. That post is here.

Let me take a look. I thought it could be inferred from the description, however. An out of order pair is when the lower-ranked candidate defeats the next-higher-ranked candidate in the ordering. If it doesn’t defeat that candidate, it is defeated or tied itself.

Hi Keith,

Your example is interesting in that there is a majority coalition (also Smith Set) of A, B, and C that defeat D 60:40 based on ranking. Also in this example, STAR would return one of A, B or C as the winner over D.

As with all of the contrived examples we come up with, I think it is interesting to examine how they behave under small perturbations. With a small amount of cross support from the D block over to the Smith set, the utilitarian winner might shift from D. Similarly, with more cross support by A or B blocks, the majoritarian winner might shift to D.

1 Like

Note that I have modified the Approval Sorted Margins wiki page, Score Sorted Margins subsection, to include an explicit definition.

1 Like

Hi Toby, the two-winner PR election is an interesting idea, but I see some problems.

First off, I think it might be highly dependent on which PR method you use.

Secondly, it isn’t necessary to clone every candidate. All you have to do is not remove a candidate after they are seated.

Finally, even if you use a PR method that is compatible with a score ballots, such as Sequential Monroe Voting, it is entirely possible that neither of the two winners is the same as the overall score winner and the score runner up.

I don’t really see these as problems. Yes, you don’t need to clone every candidate, but that’s little more than a semantic point really. It’s the same method.

And you would just use a method that would reduce to score in the single winner case. It’s not a problem - just something to clarify.