When writing an algorithm, one tries to anticipate all possible circumstances. I've thought of one that does not really require a change in the algorithm, just an additional sentence to cover the odd case.

Suppose there are many, many more candidates than there are seats, the electorate is pretty close to evenly divided, and everybody "bullet votes" for their favorite, i.e. everybody lists only their first choice, nobody else. In that case, nobody would meet the winning threshold WT on the first ballot, and the algorithm for GB 2.2 would count the same ballots over and over until the tallies rose above the WT.

In that case, GB 2.2 is equivalent to Plurality; whichever candidate had the most first-choice votes would win the seat. If there were more than one seat to be filled, then the N candidates with the highest totals would take the N seats.

The extra sentence needed would be in "subroutine R":
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).


In this scenario, the number of contributing ballots would actually be less than the WT, so R would be negative. So the extra sentence would be: "If R is negative, set the tally of each contributing group to zero."
--
----------------------------------
John B. Hodges, jbhodges@ @usit.net
Do Justice, Love Mercy, and Be Irreverent.
----
Election-methods mailing list - see http://electorama.com/em for list info

Reply via email to