Here's a method I constructed today - it works by the concept of a divisor method, except that instead of using parties, it uses solid coalitions in the DSC/DAC sense.

First, define the score for a potential council. The score is the error measure between the desired fraction of a coalition and the actual fraction of a coalition, for all such coalitions that exist.

The desired fraction is simply the number of voters that support this coalition (or set), divided by a specified constant which we'll call the divisor. The actual fraction of a coalition is the number of candidates in the potential council that also exist in the coalition in question.

This definition gives some leeway, since the divisor is not actually specified. The score for a potential council is the error when the divisor is chosen so that the error is minimized, subject to that the desired fraction of the coalition consisting of all the candidates is equal to the council size.

The council that has the best score (lowest minimal error) wins. Different error measures may be used - most natural would be root mean square error or the Sainte-Laguë index. If the Sainte-Laguë index is used, one should not round the desired fractions.

-

Let's show an example. I'll use an election from the PSC-CLE post:

        33 A>D>B>C
        33 B>D>A>C
        32 C>D>A>B
         2 D>A>B>C

which gives

        100: A B C D    
         68: A B D      
         32: A C D      
         34: A D        
         33: B D        
         32: C D        
         33: A          
         33: B          
         32: C          
          2: D          

(2,4) election. Let's say we want to find out the score of the council {B, D} with a divisor of 41, and the error metric is root mean square error. The line marked with L is the limit (constraint): since the coalition consists of all the candidates, the desired fraction must be equal to the number of seats, which it is in this case.

r(x) is the ordinary rounding function.

We get
                        desired         actual                  diff
        100: A B C D    r(100/41) = 2   2 (B and D) << L  0
         68: A B D      r(68/41) = 2    2 (B and D)             0
         32: A C D      r(32/41) = 1    1 (D)                   0
         34: A D        r(34/41) = 1    1 (D)                   0
         33: B D        r(33/41) = 1    2 (B and D)             1
         32: C D        r(32/41) = 1    1 (D)                   0
         33: A          1               0                       1
         33: B          1               0                       1
         32: C          1               0                       1
          2: D          0               1                       1

The squared error is 5, and so the RMSE is sqrt(0.5) ~ 0.7. This is, incidentally, the best score for BD.

Another example, this time with the council {B, C} and divisor 47:

                        desired         actual                  diff
        100: A B C D    r(100/47) = 2   2 (B and C) << L  0
         68: A B D      r(68/47) = 1    1 (B)                   0
         32: A C D      r(32/47) = 1    1 (C)                   0
         34: A D        r(34/47) = 1    0                       1
         33: B D        r(33/47) = 1    1 (B)                   0
         32: C D        r(32/47) = 1    1 (C)                   0
         33: A          1               0                       1
         33: B          1               1                       0
         32: C          1               1                       0
          2: D          0               0                       0

The squared error is 2, so the RMSE is sqrt(0.2), ~ 0.45. This is also the best score for BC.

For this particular election, the method evaluates as this:

        AB      0.447214 at 41
        BC      0.447214 at 46
        AC      0.547723 at 46
        BD      0.632456 at 41
        AD      0.707107 at 41
        CD      0.707107 at 46

As one can see, it doesn't elect the compromise candidate D anywhere; instead it ties AB and BC. Using the Sainte-Laguë index gives

        AB       1.99788 at 41
        BC       2.26691 at 44
        AC       4.11046 at 41
        BD      22.264   at 41
        AD      23.9981  at 41
        CD      24.4542  at 41

and thus picks AB.

-

Is this method any good? It clearly takes a very long time to calculate, especially for large councils, unless it shares Webster's monotonicity criteria, in which case it outputs a proportional ordering, meaning that one can first do a single-winner election, then lock the winner and only test councils including the weinner for a two-winner election, and so on down.

It does seem to do so at least in this particular election with the Sainte-Laguë index as error measure.
Single-winner returns
        B        3.6688 at 68
        A        3.7051 at 67
        C        4.9064 at 67
        D       35.2989 at 67

thus electing B (showing the method is not Condorcet, by the way).
Two winners elect AB (retaining B), and three winners return:
        ABC      0.9993 at 30
        ABD     15.9226 at 29
        BCD     15.9776 at 29
        ACD     18.4313 at 29

thus electing ABC (retaining AB).
----
Election-Methods mailing list - see http://electorama.com/em for list info

Reply via email to