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

Reply via email to