[EM] Automated Approval Winner

fsimmons at pcc.edu fsimmons at pcc.edu
Mon Jul 25 15:51:02 PDT 2011


Here's an example of a monotone method for converting ranked ballots into approval ballots 
automatically:

x: A>B>C
y: B>C>A
z: C>A>B

First we convert to range ballots using first place numbers cumulatively:

x: A(x+y+z), B(y+z),C(z)
y: B(x+y+z), C(x+z), A(x)
z: C(x+y+z), A(x+y), B(y)

Now we normalize the ratings:

x: A(1), B(y/(x+y)), C(0)
y: B(1), C(z/(y+z)), A(0)
z: C(1), A(x/(x+z)), B(0)

For fun we calculate the range totals for the respective candidates: 

 x +z*x/(x+z), y+x*y/(x+y), and z+y*z/(y+z), respectively. 

These values simplify to

x*(x+2*z)/(x+z),  y*(y+2*z)/(y+x), and z*(z+2*y)/(z+y) , respectively.

The largest of these values determines the range winner.

Now we begin the conversion of range to approval. First we find the range total for each ballot:

For each of the ballots from the first faction the range total is (x+2*y)/(x+y).
For each of the ballots from the next faction the range total is (y+2*z)/(y+z).
For each of the ballots from the last faction the range total is (z+2*x)/(z+x).

These totals tell how many candidates each of the respective ballots should approve.

Since these numbers are all greater than one, each ballot should approve at least one candidate.  The 
remaining fractions y/(x+y), z/(y+z), and x/(z+x), respectively, tell us what fraction of each faction 
should approve two candidates.  So the approvals are

x*y/(x+y) : AB,  x*x/(x+y): A only
y*z/(y+z): BC,   y*y/(y+z) : B only
x*z/(x+z): CA,  z*z/(x+z):  C only

The respective approval totals are
x*(x+2*z)/(x+z),  y*(y+2*z)/(y+x), and z*(z+2*y)/(z+y) ,
which are identical to the respective range totals (in this example of a three faction Condorcet cycle, but 
not in general).

I'll give the proof of monotonicity in another message.

Forest



More information about the Election-Methods mailing list