[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