[EM] Displaying intermediate results in Condorcet-based elections
Gervase Lam
gervase at group.force9.co.uk
Thu Oct 30 14:44:01 PST 2003
> Date: Wed, 29 Oct 2003 19:10:06 -0800
> From: Rob Brown <rob at hypermatch.com>
> Subject: Re: [EM] Displaying intermediate results in Condorcet-based
> elections (re: Rob Brown's original question)
> My original request was to suggest a way to produce a single scalar
> score per candidate which enhances, but does not conflict with, a simple
> ordered ranking.
Since only one method of doing this has been mentioned so far, I think
I'll give it a go. This is a much more consistent method than the other
method. It uses Kemeny-Young Condorcet.
I've changed things slightly so that a higher score means a better score.
Kemeny-Young is usually explained so that the lower the score, the better
the score.
(1) List all of the possible permutations (i.e. rankings) the
candidates can be arranged in to.
(2) For each permutation, pick a ballot. For each pairwise/head-to-head
comparison in the permutation that does not contradict the
pairwise/head-to-head comparison on the ballot, increase the score of the
permutation by one. Repeat this permutation scoring procedure for each of
the remaining ballots.
(3) Repeat step 2 for each of the remaining permutations.
The permutation (i.e. ranking) with the largest score is the 'winning'
ranking.
The above describes Kemeny-Young. Hopefully I got the explanation right.
Now comes getting some scalar scores. In what follows, I assume that the
'winning' permutation has been committed. In other words, nothing changes
the ranking of the candidates. So, when I say the 2nd place candidate, I
mean the 2nd place candidate according to the 'winning' permutation.
(4) Sort the list of permutations in order of decreasing permutation
scores.
(5) Start from the top most permutation on the list (i.e. the one with the
highest score). Give the 1st place candidate this permutation's score.
(6) Starting from the next permutation on the list, go down the list until
a permutation is reached that includes the 2nd place candidate in the
permutation's top 2 places. Give the 2nd place candidate this
permutation's score.
(6) Starting from the next permutation on the list, go down the list until
a permutation is reached that includes the 3rd place candidate in the
permutation's top 3 places. Give the 3rd place candidate this
permutation's score.
...and so on until all of the candidates have a score. I must admit, the
way the scalar scores are given to the candidates is a bit of a fudge.
I get the feeling that the further down the 'winning' ranking you go, the
closer the scores get to each other. I had thought of other ways of doing
it using scores from Kemeny-Young. But this meant that I had to overcome
contradictions in a similar fashion to the first Condorcet-to-Scalar
method. Either that or there was the possibility that there would not be
enough permutations.
Kemeny-Young (steps 1 to 3) is a brute force method. In this case this is
good as writing a computer program for it is more straight forward in
comparison with writing a beat-path algorithm. The down side is that the
number of permutations can really hog the CPU. For example, if there were
10 candidates, there would be about 3.5 million = 10! permutations to go
through. I don't know whether there is enough CPU power to do this in a
reasonable amount of time given the context of this thread.
I think that 10 is reasonable limit to the number of candidates allowed.
15 candidates gives you 1.3 * 10^12 permutations!
At first, I thought that you needed to keep all of the ballots verbatim in
order to do Kemeny-Young. But I then remembered that a few months ago I
had noticed that all that needs to be done for Kemeny-Young is to compare
the results matrix with each permutation, which has been converted to a
matrix. I'm sure other people have already noticed or know about this.
Thanks,
Gervase.
More information about the Election-Methods
mailing list