[EM] Generalized Bucklin PR 2.3, basic PR examples
John B. Hodges
jbhodges at usit.net
Sat Aug 23 11:15:08 PDT 2003
This post is to put on record a corrected version, with some
examples, to demonstrate its ability to do elementary PR.
-------------------------------
Credit for the basic idea of this method goes to Chris Benham. The
following is intended to be a description of his proposed method,
written in the form of an algorithm.
Working through examples raised some issues of interpretation; after
clarification from Chris Benham I have corrected the algorithm. Call
this Generalized Bucklin 2.3. DISCLAIMER: this is my translation of
his descriptions of his method; any errors in translation or
interpretation are my own.
Voters submit ranked ballots, listing candidates in rank order,
most-preferred as rank 1, next-most-preferred as rank 2, and so
forth, equal preferences ok. The ballot will offer space for as many
ranks as there are candidates. The voter may list as many candidates,
or as few, as they wish, but only one vote per candidate. The voter
may assign as many candidates as they wish to any particular rank,
but ranks must begin with 1 and proceed through 2, 3, and so forth,
with no ranks skipped between candidates. This is the sort of ballot
used in a single-seat method known as "Majority Choice Approval",
except that the number of ranks is not arbitrarily limited.
Sort the ballots into groups with identical rankings. Tally each group.
(1) Set Candidate tallies to zero. Calculate the Winning Threshold
(Do subroutine Q).
(2) Count the ballots, each ballot being added to the tally of the
highest-ranked candidate still in the race. Equal preferences are
counted in the style of Approval voting, as a full vote for each
candidate.
(3) Does any candidate's tally exceed the WT?
If so, go to (4).
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 (2).) Go to (3).
(4) Mark the (so far unmarked) candidate with the highest tally as a
"winner", but do not remove them from the contest yet. (If there is a
tie, do subroutine T.)
(5) Are there still more empty seats than "winners"?
If not, Award seats to all candidates marked as "winners".
You are finished.
If so, Reduce the ballots contributing to the tally of the
most recently marked "winner". (Do subroutine R.) Because a ballot
may contribute a vote to more than one candidate, some of the tallies
of other candidates may also have been reduced. Recount the tallies
of the remaining candidates.
Does any OTHER candidate, besides the one(s) already marked
as "winners", now exceed the WT? If so, go to (4).
If not, Award seats to all candidates marked as
"winners", and remove them from the race. Go to (1).
Subroutine Q: Calculate the Winning Threshold WT. Sum the tallies of
the groups with identical rankings to find the total number of
ballots. Ballots in which all listed candidates have already been
seated and removed from the race are NOT to be counted. Count S = the
seats yet to be matched with "winners". Droop quota DQ =
(#ballots)/(S+1) ,
Set WT = DQ.
Subroutine T: Breaking ties. Look at the ballots contributing to the
tally of each of the tied candidates. Whichever candidate has the
greater number of first-rank votes wins the tie. If they are tied in
first-rank votes, then whichever has the greater number of
second-rank votes wins the tie, and so forth. If they are tied all
the way down, flip a coin.
Subroutine R: Reducing ballots after a candidate wins a seat. Count
the ballots that contributed to the victory of the candidate = CB.
(These should already be sorted into groups with identical rankings,
as mentioned above.) Multiply the tally of each contributing group by
R= (CB-WT)/(CB). If R is negative, set the tally of each contributing
group to zero.
-----------------------------------------
EXAMPLE CASE 1:
(JBH) For reference, I will copy: From Adam Tarr:
>the nightmare scenario of IRV:
>
>10% FarRight>Right>Centrist>Left>FarLeft [call this group "A""- JBH]
>10% Right>FarRight>Centrist>Left>FarLeft [B]
>15% Right>Centrist>FarRight>Left>FarLeft [C]
>16% Centrist>Right>Left>FarRight>FarLeft [D]
>15% Centrist>Left>Right>FarLeft>FarRight [E]
>13% Left>Centrist>FarLeft>Right>FarRight [F]
>11% Left>FarLeft>Centrist>Right>FarRight [G]
>10% FarLeft>Left>Centrist>Right>FarRight [H]
>
>Centrist has the most first place votes, the most second place votes, and
>the most third place votes. Centrist is the only candidate who does not
>appear fourth or fifth on any ballot. Centrist would win in a landslide
>over any other candidate in a two-way race. Centrist is quite obviously
>the popular choice by ANY reasonable measure.
>
>In Condorcet, plurality, top two runoff, or really any reasonable method,
>Centrist wins. But in IRV, Centrist is eliminated before the final runoff,
>and Right wins in a squeaker.
Consider what would result from using Generalized Bucklin 2.3 with
this example. Assume 1000 voters. #seats = 1, Droop quota = 500
First Round: 100 FarRight, 250 Right, 310 Centrist, 240 Left, 100
FarLeft. Nobody exceeds Winning Threshold with first-rank votes.
Second-rank votes added to the tallies:
200 FarRight, 510 Right, 590 Centrist, 490 Left, 210 FarLeft. Two
candidates exceed WT, seat awarded to candidate with the largest
tally.
Centrist wins.
---------------------------
Assume the same set of voters, with four seats to be filled instead
of one. 1000 ballots, S=4, WT= DQ= 200
First Round: First-rank votes tallied. Three candidates exceed the
WT, Centrist (with 310 votes) marked as a "winner". Tallies of groups
D and E are multiplied by R= (310-200)/(310) = 0.3548387, so now
A = 100 ballots B= 100 C= 150 D= 56.774192 E= 53.225807 F= 130 G=
110 H= 100
Loop back to (4). Right (with 250 votes) marked as a "winner".
Tallies of groups B and C are multiplied by R= (250-200)/(250) = 0.2,
so now
A= 100 B= 20 C= 30 D= 56.774192 E= 53.225807 F= 130 G= 110 H= 100
Loop back to (4). Left (with 240 votes) now marked as a "winner".
Tallies of groups F and G are multiplied by (240-200)/(240)=
0.1666... , so now
A= 100 B= 20 C= 30 D= 56.774192 E= 53.225807 F= 21.6666... G=
18.3333... H= 100
No candidates' tallies presently exceed WT.
Proceeding by looping back to (1).
Centrist, Right, and Left are seated and removed from the race.
Tallies for FarLeft and FarRight are reset to zero. Ballots total
400, Seats remaining = 1, Droop Quota= 200. Highest-rank votes are
tallied.
FarRight gets 100 from A, 20 from B, 30 from C, 56.774192 from D.
Total= 206.774192
FarLeft gets 53.225807 from E, 21.6666 from F, 18.3333 from G, 100
from H. Total= 193.2257
FarRight wins the last seat.
-----------------------------
The above is originally an IRV example, and voters filled out their
ballots with complete rankings, of ALL candidates, even their last
choice. Under GB rules, they probably wouldn't do that. Following are
the ballots I guess the same voters would submit under GB:
A 10% (FR) > (R)
B 10% (R, FR) > (C)
C 15% (R, C) > (FR)
D 16% (C, R) > (L)
E 15% (C, L) > (R)
F 13% (L, C) > (FL)
G 11% (L, FL) > (C)
H 10% (FL) > (L)
First Round: All five candidates exceed the WT. Skipping to the
interesting part: Centrist, Right, and Left are marked as "winners".
After each designation we did subroutine R, which now leaves
A= 100 B= 34.40799 C= 34.116394 D= 36.390819 E= 31.949772 F= 27.689802
G= 35.445135 H= 100
FarRight now has 134.4, FarLeft has 135.4, Both have now fallen below
the WT, so Centrist, Right, and Left are seated and removed from the
race. We loop back to (1). Tallies for FarLeft and FarRight are
reset to zero. Ballots for groups D and E are exhausted. Ballots now
total 331.65931, Seats remaining = 1, Droop Quota= 165.82965.
Highest-rank votes are tallied. FarRight gets 168.52438, FarLeft
gets 163.13493,
FarRight wins the last seat.
SO: In this example, GB 2.3 seems to perform OK as a method of PR. I
invite suggestions for harder cases.
--
----------------------------------
John B. Hodges, jbhodges@ @usit.net
Do Justice, Love Mercy, and Be Irreverent.
More information about the Election-Methods
mailing list