[EM] STV and weighted positional methods

Kristofer Munsterhjelm km-elmet at broadpark.no
Wed Jan 28 11:57:14 PST 2009

Lately, I've been busy trying to generalize STV, the method, to be 
applicable to any weighted positional method. At first, this seems quite 
easy to do. STV (discarding Meek) works like this:


STV for a (k,n) election (election to a council of size k, out of n 

0. If k = n, declare all remaining candidates elected. Else go to 1.

1. Count all the ballots and determine the support for each candidate.
2. Is there a candidate who is above the quota? If yes, continue along 
2, otherwise go to 3.

2.1. Declare this candidate elected. If there are more than one, the 
candidate with the greatest score wins. If there's still a tie, break it[1].
2.2. Remove the candidate from all ballots and reweight the ballots that 
supported the candidate in question.
2.3. The council includes the candidate that was declared elected, as 
well as those candidates declared elected by STV(k-1, n-1).

3. Exclude the candidate with the least score. Break ties as needed, and 
remove this candidate from all ballots.
4. The council includes those candidates declared elected by STV(k, n-1).


That's a recursive definition, and it seems that no real point demands 
the use of Plurality. If we say that a vote for x with weight r is alike 
r first preferences for x, then the "quota", for any weighted positional 
system, just treats the summed score (sum of score or support for all 
candidates) in the same way that an ordinary quota treats the number of 

However, this leaves the reweighting, which is where we run into 
trouble. If we keep treating a vote with score x as aking to x plurality 
votes, then something curious happens: the reweighting depends only on 
the number of voters that voted a particular ballot.

Consider this, for instance: We're going to pick two out of three, and

52: A > B > C
50: C > B > A
13: B > C > A

with a Borda count (2, 1, 0). You get A: 104, B: 128, C: 113, sum 345. 
The "quota" is 345/3 = 115, so B is elected. But now to reweight.

We can't simply multiply each ballot weight with a constant times the 
score given to the winner by that ballot, because then ballots that 
contributed more would have a greater weight than those that contributed 
less. Instead, it seems reasonable (and I think this is what you get if 
you carry the "treat as x first preference votes" to its logical 
conclusion) to "diminute", that is, to subtract by the product of the 
number of voters (ballot weight) and the score given to the winner, 
divided by some constant. The number of voters should be included in the 
product so that there is no difference between

	1: A > B > C
	1: A > B > C

	2: A > B > C

. So we end up with something like

52 - 52/x + 50 - 50/x + 26 - 26/x = surplus

since we want the ballots to be reweighted so that the sum of the 
ballots' contribution to the winner is equal to the surplus - which 
would be consistent with how "Plurality STV" works. The surplus in this 
case is 13. So x turns out to be about 1.11305. Hence we get

	 5.2815: A > B > C
	 5.0784: C > B > A
	 1.3204: B > C > A

But this is of the same magnitude! Multiplying the new weights by a 
constant (in this case, about 9.8455) gives the old weights.

That seems to be unfair, but is probably related to how the factors 
cancel out. To be very extreme, it seems unfair that (Range type 
ballots, but applies to any weighted positional system too) for

	  1: A (100) > B (50) > C(10)
	  1: A (0.01) > B(20) > C(13)

that both voters should have the same weight afterwards, since clearly 
the former voter contributed a lot more to A winning than did the latter.


Which leads me to the question. Is there any way of designing a 
reweighting function so that:
	it doesn't matter whether the ballots are implicitly n in number (by 
duplication) or explicitly n in number (by ballot weight),
	if a voter were to vote for A with strength 2x, and after that the 
other candidates with some other ratings, it should have the same impact 
on the other candidates as if two voters were to vote for A with 
strength x, with all other ratings/candidate scores identical,
	under no circumstances would a voter get a negative weight if he 
started with a positive,
and	if a voter doesn't vote for a candidate, or ranks the candidate 
zero, and the candidate wins, that voter's weight isn't impacted.

Are these mutually exclusive? I tried to find such a function, but I 
haven't succeeded so far.

The question might also be of only theoretical interest, since the above 
Borda-STV example was my Left-Right-Center example, where it picked 
Center first. On the other hand, it might be interesting to see how 
other weighted positional systems would fare.

Another question, though not directly related, is this: If it's possible 
to make an STV of any weighted positional system (and thus also of IRNR 
and plain old Range), if a voter gives a candidate a negative score and 
that candidate wins, should the voter's weight be increased? Or should a 
weighted positional system STV going from -1 to 9 work just like one 
going from 0 to 10? (Note that both may be true if you consider the case 
where all the voters who voted for the candidate gets deweighted while 
those that didn't remain; in that case, the 0-voters' relative strength 


[1] This can be done by the principle of first difference (if the 
candidates are A and B, find the first iteration where one of the 
candidates had a greater support count (score) than the other; that 
candidate wins), or by random (random ballot, random voter hierarchy).

More information about the Election-Methods mailing list