[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
candidates)
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
voters.
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
and
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
increased)
---
[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