Merging cardinal baldwin and ranked pairs to create a (probably) monotonic voting method

One of the things that bugs me about Cardinal Baldwin is it’s use of sequential elimination. Such methods automatically fail reversal symmetry (footnote) and they usually fail a lot of other things too including monotonicity (I have never seen one that was proved to not be non-monotonic unless the footnote applies).

footnote: unless the method used to find the candidate to eliminate could also find the candidate that would eventually win after the sequential runoffs which would make the sequential eliminations kind of redundant because you could just use the method you are using to find the worst candidate to instead find the best candidate.

The problem with sequential elimination methods is that each round, they try to eliminate the worst candidate to sequentially find the best candidate however the problem of trying to find the worst candidate is symmetrical to the logic of trying to find the best candidate. As a result, for any sequential elimination method one could construct what should be (according to the logic of the method) an even better sequential elimination method by using the old sequential method to find the worst candidate instead of the best (by reversing all of the scores before plugging them into the method), which would just yield a more complicated sequential elimination method of which you could apply the same process again and again.

Though I do like the idea of integrating the normalization of score ballots into the voting method so I tried to get rid of the method’s greedy sequential elimination by merging it with another voting method: ranked pairs.

If you’ve studied the ranked pairs method, one of the things that you might know is that the logic of the method can be refactored in another way: If there exists an ordering of every candidate (from best to worst) such that there is no pairwise comparison that contradicts that ranking, select it. Otherwise find the optimal ordering of every single candidate such that the largest pairwise comparison between two candidates that contradicts that ordering is minimized. If multiple orderings tie in this respect, break the tie by looking at the 2nd most contradictory pairwise comparison (if one doesn’t have a 2nd contradiction, choose that one) among the tied orderings and if those tie repeat the process with the 3rd, etc. Once the best ordering is found, elect the first candidate in that ordering.

One of the interesting things about ranked pairs is that because it passes LIIA, if you eliminate the candidate at the bottom of the ordering it outputs (which is also the candidate that would win if you reversed all the ballots), the results won’t change. This means that if you tried to sequentialize ranked pairs by using it to find the worst candidate each round, the method you would get back would just be … ranked pairs again.

Now back to cardinal Baldwin. One of the goals of cardinal Baldwin is to try to ensure that the winner beats the 2nd best candidate in a head to head runoff and ensure that they have higher scores then the next n-1 best candidates when ballots are normalized between those n candidates.

So here are the two methods merged:

Consider every possible candidate ordering. Each candidate ordering gets a primary score equal to the minimum value yielded when comparing any two candidates A and B (such that A ranks above B in the considered ordering) with the fallowing compare function:

When comparing A and B the value outputted is the (average or total) score of A minus the score of B when all ballots are normalized between candidates A and B, as well as every candidate that lies between A and B on the ordering currently being evaluated.

Each ordering also gets a secondary, 3rd, 4th, etc. score equal to the 2nd, 3rd, and 4th worst minimum values yielded from the comparisons. Select the candidate with the highest primary score, If the primary scores are tied, between the tied options, chose the one with the maximum secondary score. If those are tied, among the tied orderings, chose the one with the highest 3rd score, etc. Once an ordering has been selected, elect the first candidate in that ordering.


In a three winner election, I think this method reduces to the fallowing:

Pick the candidate with the highest score where each candidate X has a score equal to:
If min(num voters who rate Y > X - num voters who rate X > Y, #Y>Z - #Z>Y, after normalizing thee ballots: X’s score minus Z) is greater then min(num voters who rate Z > X - num voters who rate X > Z, #Z>Y - #Y>Z, after normalizing thee ballots: X’s score minus Y), then

min(num voters who rate X > Y - num voters who rate Y > X, after normalizing thee ballots: X’s score minus the score of Z)


min(num voters who rate X > Z - num voters who rate Z > X, after normalizing thee ballots: X’s score minus the score of Y)

I quite like the sound of this at a first read, but it seems a little bit complex and unwieldy for a single-winner method.

I’ll admit to having a bit of trouble wrapping my head around exactly what this variation does, and how it improves on Cardinal Baldwin, especially in some real-worldish sense.

I’d love to see it implemented (Codepen…! :slight_smile: ), and particularly love to see a set of ballots where Cardinal Baldwin does the wrong thing and this does the right thing.

(in a big picture sense, the most “wrong” thing a method can do – in my opinion – is to promote tribalism by incentivizing strategic nominations by a party/faction. So far, to me, Cardinal Baldwin seems to be the method that most straightforwardly avoids this issue)

Useful note: If you have ballots normalized for exactly 3 candidates {A, B, C} and normalize for A vs C, the score of B won’t change.

The following case suggests that a margin based approach must be taken and not just total points based.
6: A[5] B[5] C[0]
4: A[4] B[0] C[5]
2: A[0] B[5] C[0]

I mentioned a margin based approach. The compare function I mentioned outputs the score of X minus the score of Y after the ballots have been normalized between a set of candidates including X and Y.

1 Like

Right. Sorry, I misread this at first.