[EM] Who comes "second" in Ranked Pairs?
Jobst Heitzig
heitzig-j at web.de
Tue Oct 14 14:39:12 PDT 2008
Hi folks,
you're right, the option ending up second in the ranking constructed in
RP is also the one that wins when you exclude the first winner. Even
more so, the whole new ranking is just the old one with the top removed.
There is, by the way, a related major difference between RP and the
otherwise very similar methods Beatpath (aka Schulze) and River: In
those two the 2nd place winner (= winner when 1st place winner is
removed) cannot nearly as easily be determined from the original result.
And in those two methods it can even happen that the 2nd place winner is
an option which defeats the 1st place winner pairwise. To see this,
consider a situation with four options A,B,C,D and the following
pairwise defeats in order of descending defeat strength: B>D, A>C, C>D,
D>A, A>B, B>C. In this situation Beatpath will elect B 1st and will
elect A when B is removed. Also River will elect B 1st, locking in the
defeats B>D>A>C only, and will elect A when B is removed. So under both
methods the 2nd place winner A defeats the 1st place B. But RP will lock
in all defeats but D>A, making A the 1st place winner and B the 2nd place.
This property is one of the very few in which RP, Beatpath, and River
differ. The other two such properties are (ii) that only River fulfills
IPDA and ISDA, and (iii) only Beatpath fulfills (by definition) the
requirement that for each beatpath against the winner there is a
stronger (or equally strong) beatpath back. So each of the three similar
methods has at least one desirable property the other two don't share.
Yours, Jobst
Kristofer Munsterhjelm schrieb:
> Scott Ritchie wrote:
>> I'm writing a ranked pairs counter as practice for learning python, and
>> I realized I don't know the answer to this question.
>>
>> Suppose I want to know who comes in second in a ranked pairs election.
>> Is it:
>>
>> 1) Run ranked pairs algorithm on the ballots, find that candidate A
>> wins, then purge A from all the ballots and rerun the algorithm to find
>> a new winner and call him the second place candidate OR
>>
>> 2) Run ranked pairs algorithm on the ballots, lock in all pairs in their
>> order that don't create cycles, then look at whom is second in the graph
>> (ie, whoever beats all but A)
>>
>>
>> Or will these two always be the same? It'd be nice if I could see an
>> example where that's not the case.
>
> I think they're the same. I don't have proof of this, but I think it was
> given in an earlier post on this list.
>
> In any event, your #2 answer is the right one. When you lock in
> victories, you'll either go through all 0.5*n*(n-1) possible victories,
> or enough that you have a complete ordering. In either case, you use
> that ordering as the final result.
>
> For instance, if you have a situation with candidates A, B, and C, and
>
> 1. A > B
> 2. B > A
> 3. A > C
> 4. B > C
> 5. C > B
>
> in that order, you lock A > B, A > C, B > C, which gives A > B > C. Thus
> B comes in second.
> ----
> Election-Methods mailing list - see http://electorama.com/em for list info
More information about the Election-Methods
mailing list