[EM] Bend it like Benham (his Bucklin-Condorcet PR]
John B. Hodges
jbhodges at usit.net
Sun Aug 10 12:58:04 PDT 2003
From Chris Benham:
-------- Original Message --------
Subject: [EM] Bucklin-Condorcet PR Date: Fri, 08 Aug 2003 11:59:50
+0930 From: Chris Benham
<mailto:chrisbenham at bigpond.com><chrisbenham at bigpond.com> To:
<mailto:election-methods-electorama.com at electorama.com>election-methods-electorama.com at electorama.com
(much snipped)
I now propose a non-elimination version of ranked-ballot PR, which
combines Bucklin and Condorcet.
Ranked ballots, equal preferences ok. Count the first preference
votes. Equal preferences are divided into equal fractions (which sum
to 1).If any candidates have a Droop quota they are elected, and
then reduce the values of the ballots which have elected members by
an amount which sums to a Droop quota.
If more than one place remains unfilled, proceed to to the second
round. Add the second preference votes to the first preferences
(based on the value of the ballots after the any reductions that were
made the previous round). If this gives any candidate a Droop quota,
then elect the candidate with the highest tally. If there is a tie,
then elect the tied candidate who had the bigger tally at the last
round, if still tied then the round before that if there was one,
otherwise the Condorcet winner of the tied candidates based on the
ballots after the most recent devaluations. Reduce the value of the
ballots that elected this winner by an amount that sums to a Droop
quota. If there is still more than one place unfilled and if after
the latest devaluing of ballots any candidates have a Droop quota,
then elect the one with the highest tally (same tie-breaking
proceedure) and so on.
If there is more than one place to be filled, then add the third
preference votes to the tallies of first and second preferences and
if that gives any candidate a Droop quota, then as before the
candidate with the highest tally is elected and so on.
If proceeding in this way leads to the situation where there is one
and only one more place to be filled, then based on the ballots after
all the devaluations elect the Condorcet Winner.
This method is I think simpler to count than any version of STV, and
it might be monotonic.It performs very well in all the examples that
I have seen that showed up Condorcet Loser elimination STV. In the
simple example at the top, it elects C A E in that order.
Soon I will post more on this, going through some examples.
Chris Benham
--------------------------------------------
John Hodges here- Based on the above, I've written an algorithm,
which perhaps simplifies his method slightly- I left out his
Condorcet elements. I disclaim any credit- this is Chris Benham's
method translated, any errors in translation are my own. (The title
of this post is meant to be complimentary- FYI there is a movie
playing currently in theatres, "Bend It Like Beckham", which refers
to the international Soccer star.)
Call this Multiseat Bucklin v.2.0
Ranked ballots, equal preferences ok. Equal preferences are divided
into equal fractions (which sum to 1).
(1) Count the ballots to find the total number, count the seats yet
to be filled, calculate the Droop quota ( #ballots / #seats+1 )
(rounding to the next higher digit.)
(2) Set candidate tallies to zero.
(3) Count the ballots, each ballot being added to the tally of the
highest-ranked candidate still in the race.
(4) Does any candidate's tally exceed the quota?
If so, award one seat to the candidate with the highest
tally. (If there is a tie, break the tie with a Borda Count. If they
are tied by Borda Count, flip a coin.) Do subroutine R. Go to (5).
[subroutine R] Count the ballots that contributed to the
victory of the candidate. (Count fractional votes as fractional
ballots, i.e. if someone has x candidates listed as tied for some
rank on their ballot, so that the ballot contributed 1/x of a vote
toward the candidate's tally, then count 1/x of that ballot as having
contributed.) Mark each of those ballots (or 1/x fractions of
ballots) as being worth R times their previous value, where R =
((#contributing-ballots minus Droop-quota) / (#contributing-ballots)).
If not, count voter's next-ranked choices, and add these
counts to the candidate's tallies. (If there is no candidate ranked
next, the ballot counts as an abstention. If there are no ballots
with anyone ranked next, go to (3).) Go to (4).
(5) Do any seats remain to be filled?
If not, you are finished.
If so, go to (1).
Considering Alex Small's example that sank my last proposal
>From: "Alex Small"
>Here's an example (snip)
>
>2 parties, party A getting 40% of the vote and party B getting 60%. There
>are 5 seats up for grabs. Clearly, A should 2 seats and B should get 3
>seats. Each party runs 5 candidates, and the voters within each party are
>largely indifferent, so each candidate within each party has the same
>number of first place votes, the same number of second place votes, etc.
>
>First round: All candidates in party A have 8%, and all candidates in
>party B have 12%. Nobody meets or exceeds the Droop threshold of
>16.6667%.
>
>Second Round: Add in second-place votes. All candidates in party A have
>16%, all candidates in party B have 24%. All 5 candidates in party B
>exceed the Droop quota (and the Hare quota, for that matter) and all 5
>candidates in party A fall short of the Droop quota.
Say we have a thousand voters, 600 for party B and 400 for party A.
a. 80 A1>A2>A3>A4>A5
b. 80 A2>A3>A4>A5>A1
c. 80 A3>A4>A5>A1>A2
d. 80 A4>A5>A1>A2>A3
e. 80 A5>A1>A2>A3>A4
f. 120 B1>B2>B3>B4>B5
g. 120 B2>B3>B4>B5>B1
h. 120 B3>B4>B5>B1>B2
i. 120 B4>B5>B1>B2>B3
j. 120 B5>B1>B2>B3>B4
Droop quota to this point has been 167 votes to get a seat. Two
thousand votes have been cast; the five candidates of party B have
240 votes each, The five of party A have 160.
We give one seat to B1. Ballots of groups f and j are marked as now
being worth 0.3041666 of a ballot. Ballots now total 833, new Droop
quota is 167.
New Round. No candidates exceed quota from first-place votes, so we
count second-places again. B3 and B4 exceed quota and tie for first
place at 240. We give one seat to B3. Ballots of groups g and h are
marked as being worth 0.3041666 of a ballot. Ballots now total 666,
new Droop quota is 167.
New round. After counting first and second-place votes, B4 and B5
exceed quota and tie for first place, at 193 votes each. We give one
seat to B4. Ballots of groups g, h, and i are marked as being worth
0.1556886 of their previous value. That leaves group
f = 0.3041666 x 120 ballots = 36.5 votes total for the group
g = 0.0473552 = 5.682624
h = 0.0473552 = 5.682624
i = 0.1556886 x 120 ballots = 18.682632 votes total for the group
j = 0.0473552 x 120 ballots = 5.682624 votes total for the group
which totals to 72.230504 votes total remaining for the voters of
party B. Add in the 400 of party A, ballots now total 472.23, new
Droop quota is 158. (Odd. Perhaps multiplying fractions raises issues
of precision? Or did I just make an error somewhere?)
At any rate, it's clear that the voters of party A will take the
remaining two seats. So in this example at least, the algorithm gives
the proper answer.
--
----------------------------------
John B. Hodges, jbhodges@ @usit.net
Do Justice, Love Mercy, and Be Irreverent.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.electorama.com/pipermail/election-methods-electorama.com/attachments/20030810/0882e284/attachment-0002.htm>
More information about the Election-Methods
mailing list