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).
----
Election-Methods mailing list - see http://electorama.com/em for list info

Reply via email to