<!doctype html public "-//W3C//DTD W3 HTML//EN">
<html><head><style type="text/css"><!--
blockquote, dl, ul, ol, li { padding-top: 0 ; padding-bottom: 0 }
 --></style><title>Bend it like Benham (his Bucklin-Condorcet 
PR]</title></head><body>
<div>From Chris Benham:<br>
-------- Original Message --------</div>
<div>Subject: [EM] Bucklin-Condorcet PR Date: Fri, 08 Aug 2003
11:59:50 +0930 From: Chris Benham <a
href="mailto:chrisbenham@bigpond.com"><chrisbenham@bigpond.com></a
> To: <a
href="mailto:election-methods-electorama.com@electorama.com"
>election-methods-electorama.com@electorama.com</a></div>
<div>(much snipped)</div>
<div>I now propose a non-elimination version of ranked-ballot PR,
which combines Bucklin and Condorcet.</div>
<div>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.<br>
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.<br>
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.<br>
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.<br>
<br>
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.</div>
<div>Soon I will post more on this, going through some examples.<br>
<br>
Chris Benham</div>
<div>--------------------------------------------</div>
<div>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.)</div>
<div><br></div>
<div>Call this Multiseat Bucklin v.2.0</div>
<div><br></div>
<div>Ranked ballots, equal preferences ok. Equal preferences are
divided into equal fractions (which sum to 1).</div>
<div>(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.)</div>
<div>(2) Set candidate tallies to zero.</div>
<div>(3) Count the ballots, each ballot being added to the tally of
the highest-ranked candidate still in the race.</div>
<div>(4) Does any candidate's tally exceed the quota?</div>
<div><x-tab>        </x-tab>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).</div>
<div><x-tab>       
</x-tab>[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)).</div>
<div><x-tab>        </x-tab>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).</div>
<div>(5) Do any seats remain to be filled?</div>
<div><x-tab>        </x-tab>If not,
you are finished.</div>
<div><x-tab>        </x-tab>If so,
go to (1).</div>
<div><br></div>
<div>Considering Alex Small's example that sank my last proposal</div>
<blockquote type="cite" cite>From: "Alex Small"</blockquote>
<blockquote type="cite" cite>Here's an example (snip)</blockquote>
<blockquote type="cite" cite><br>
2 parties, party A getting 40% of the vote and party B getting 60%. 
There<br>
are 5 seats up for grabs.  Clearly, A should 2 seats and B should
get 3<br>
seats.  Each party runs 5 candidates, and the voters within each
party are<br>
largely indifferent, so each candidate within each party has the
same</blockquote>
<blockquote type="cite" cite>number of first place votes, the same
number of second place votes, etc.<br>
<br>
First round:  All candidates in party A have 8%, and all
candidates in<br>
party B have 12%.  Nobody meets or exceeds the Droop threshold
of<br>
16.6667%.<br>
</blockquote>
<blockquote type="cite" cite>Second Round:  Add in second-place
votes.  All candidates in party A have</blockquote>
<blockquote type="cite" cite>16%, all candidates in party B have 24%. 
All 5 candidates in party B<br>
exceed the Droop quota (and the Hare quota, for that matter) and all
5<br>
candidates in party A fall short of the Droop quota.</blockquote>
<div><br></div>
<div>Say we have a thousand voters, 600 for party B and 400 for party
A.</div>
<div><br></div>
<div>a. 80 A1>A2>A3>A4>A5</div>
<div>b. 80 A2>A3>A4>A5>A1</div>
<div>c. 80 A3>A4>A5>A1>A2</div>
<div>d. 80 A4>A5>A1>A2>A3</div>
<div>e. 80 A5>A1>A2>A3>A4</div>
<div>f. 120 B1>B2>B3>B4>B5</div>
<div>g. 120 B2>B3>B4>B5>B1</div>
<div>h. 120 B3>B4>B5>B1>B2</div>
<div>i. 120 B4>B5>B1>B2>B3</div>
<div>j. 120 B5>B1>B2>B3>B4</div>
<div><br></div>
<div>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.</div>
<div><br></div>
<div>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.</div>
<div><br></div>
<div>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.</div>
<div><br></div>
<div>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</div>
<div>f = 0.3041666   x 120 ballots = 36.5 votes total for
the group</div>
<div>g =
0.0473552          <span
></span>       = 5.682624</div>
<div>h =
0.0473552          <span
></span>       = 5.682624</div>
<div>i = 0.1556886   x 120 ballots = 18.682632 votes total
for the group</div>
<div>j = 0.0473552   x 120 ballots = 5.682624  votes
total for the group</div>
<div><br></div>
<div>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?)</div>
<div><br></div>
<div>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.</div>
<x-sigsep><pre>-- 
</pre></x-sigsep>
<div>----------------------------------<br>
John B. Hodges, jbhodges@  @usit.net<br>
Do Justice, Love Mercy, and Be Irreverent.</div>
</body>
</html>