[EM] Condorcet How?
Dave Ketchum
davek at clarityconnect.com
Wed Apr 7 15:25:29 PDT 2010
This is some thought about keeping it simple, yet doable.
I will lean toward Ranked Pairs with margins, but amending toward
other types of Condorcet should be doable.
Voting: Voter can rank one or more candidates. Equal ranking
permitted. Counters care only which of any pair of candidates ranks
higher, not how voter decides on ranking. Write-ins permitted (if few
write-ins expected, counters may lump all such as if a single
candidate - if assumption correct the count verifies it; if incorrect,
must recount).
Counting: Besides the N*N matrix, I would add an N array to optimize
this. Count each ranked candidate in the array. Later the array will
be added into the matrix rows as if the ranked candidates won in every
one of their pairs. This is correct for pairs with no ranking, and
for pairs with one ranked. For pairs w/winner and loser, give loser a
negative count to adjust; for ties you can leave both winning; or mark
both losing via negative counts.
(For example, a ballot with 3 ranks gets 3 counts in N, and
adjustments for 3 pairs in N*N - even if there are a dozen pairs on
the ballot)
Completing matrix:
I had thought of doing adjustments if N was different in
different matrices. Having trouble with picking a need for this, but
it is doable - add an empty element to N and an empty row and column
to N*N.
Shortest path is to sum all the matrices and all the arrays.
Then add each array element into its matrix row as wins by its
candidate in each of its pairs.
Can want a matrix for a district - same idea as above.
Either way the diagonals (A,A thru N,N) should be zero - make
them thus.
Find the winner. What I read below sounds like an excessive amount of
labor, especially if many candidates - so, for candidates A-N (I have
not specified response for ties):
A single loss disqualifies a candidate from being CW, so start
with A vs B. If A loses, B continues; if B loses A continues. Check
final row when all but one have lost. If no losers found we have the
CW; else we have a cycle member.
Cycle members lose to other cycle members. Based on this, make
a list of all such.
There are many methods for resolving cycles. For RP I see
deleting the smallest margins from the list until what remains is not
a cycle, but does identify a winner.
Dave Ketchum
On Mar 10, 2010, at 12:54 AM, Chris Benham wrote:
Re: [EM] Burlington Vermont repeals IRV 52% to 48%
> ...
>
> I think the name "Ranked Pairs" normally applies to the Margins
> version.
>
> http://en.wikipedia.org/wiki/Ranked_Pairs
>
> "The RP procedure is as follows:
> 1. Tally the vote count comparing each pair of candidates, and
> determine the winner of each pair (provided there is not a tie)
> 2. Sort (rank) each pair, by the largest margin of victory first to
> smallest last.
> 3. "Lock in" each pair, starting with the one with the largest
> number of winning votes, and add one in turn to a graph as long as
> they do not create a cycle (which would create an ambiguity). The
> completed graph shows the winner. "
>
> Chris Benham
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.electorama.com/pipermail/election-methods-electorama.com/attachments/20100407/d65df04e/attachment.htm>
More information about the Election-Methods
mailing list