Discussion:
[EM] Transformation from range to approval ballots
Ross Hyman
2018-02-11 15:01:04 UTC
Permalink
Transformation from range to approval ballots.
Ranges, r_a, span from 0 to 1. Each range ballot is transformed into many approval ballots, each with its own weight. Its weight is a product of the r_a’s for a ballot that approves candidate a, and (1-r_a) for a candidate that does not approve candidate a.


Example: Three candidates. A range ballot gives them the following scores
Candidate a: 0.9
Candidate b: 0.7
Candidate c: 0.4


This is transformed into a set of approval ballots of every type with the weights:


don’t approve a, don’t approve b, don’t approve c: (1-0.9)*(1-0.7)*(1-0.4) = 0.018
don’t approve a, don’t approve b, approve c: (1-0.9)*(1-0.7)*0.4 = 0.012
don’t approve a, approve b, don’t approve c: (1-.09)*0.7*(1-0.4) = 0.042
don’t approve a, approve b, approve c: (1-0.9)*0.7*0.4 = 0.028
approve a, don’t approve b, don’t approve c: 0.9*(1-0.7)*(1-0.4) = 0.162
approve a, don’t approve b, approve c: 0.9*(1-0.7)*0.4 = 0.108
approve a, approve b, don’t approve c: 0.9*0.7*(1-0.4) = 0.378
approve a, approve b, approve c: 0.9*0.7*0.4 = 0.252


The total is 1, as required.
----
Election-Methods mailing list - see http://electorama.com/em for li
Toby Pereira
2018-02-11 16:33:48 UTC
Permalink
This is a method that I have considered in the past, but I decided it wasn't the best method. For your example:
Candidate a: 0.9
Candidate b: 0.7
Candidate c: 0.4
I would convert to approvals as follows:
0.4: Approves a, b, c0.3: Approves b, c0.2: Approves a0.1: Approves none
I would define it so that each "fraction" of a voter that approves a candidate with a score of s will also approve all candidates with a score of s or above.
This way is simpler, retains within-voter Pareto dominance, and is scale invariant - that is to say that if all scores are multiplied by a constant, then it would not affect how the approvals are spread across the candidates so any election result would be the same.
Toby

From: Ross Hyman <***@sbcglobal.net>
To: "election-***@lists.electorama.com" <election-***@lists.electorama.com>
Sent: Sunday, 11 February 2018, 15:01
Subject: [EM] Transformation from range to approval ballots

Transformation from range to approval ballots.
Ranges, r_a, span from 0 to 1.  Each range ballot is transformed into many approval ballots, each with its own weight.  Its weight is a product of the r_a’s  for a ballot that approves candidate a, and (1-r_a) for a candidate that does not approve candidate a.


Example:  Three candidates. A range ballot gives them the following scores
Candidate a: 0.9
Candidate b: 0.7
Candidate c: 0.4


This is transformed into a set of approval ballots of every type with the weights:


don’t approve a, don’t approve b, don’t approve c: (1-0.9)*(1-0.7)*(1-0.4) = 0.018
don’t approve a, don’t approve b, approve c: (1-0.9)*(1-0.7)*0.4 = 0.012
don’t approve a, approve b, don’t approve c: (1-.09)*0.7*(1-0.4) = 0.042
don’t approve a, approve b, approve c: (1-0.9)*0.7*0.4 = 0.028
approve a, don’t approve b, don’t approve c: 0.9*(1-0.7)*(1-0.4) = 0.162
approve a, don’t approve b, approve c: 0.9*(1-0.7)*0.4 = 0.108
approve a, approve b, don’t approve c: 0.9*0.7*(1-0.4) = 0.378
approve a, approve b, approve c: 0.9*0.7*0.4 = 0.252


The total is 1, as required.
----
Election-Methods mailing list - see http://electorama.com/em for list info
Ross Hyman
2018-02-11 17:05:59 UTC
Permalink
To each his own.  I prefer the method that grants the higher weight to (approve a, approve b, don't approve c) than to (approve a, approve b, approve c).
Also I prefer the method that returns the same approval ballot weights when an item on the range ballots is changed from "approve a" to "don't approve a" and the range score the voter chooses is changed from r_a to (1-r_a) (for r_a taking a continuum of values from 0 to 1.).



On Sunday, February 11, 2018 10:33 AM, Toby Pereira <***@yahoo.co.uk> wrote:


This is a method that I have considered in the past, but I decided it wasn't the best method. For your example:
Candidate a: 0.9
Candidate b: 0.7
Candidate c: 0.4
I would convert to approvals as follows:
0.4: Approves a, b, c0.3: Approves b, c0.2: Approves a0.1: Approves none
I would define it so that each "fraction" of a voter that approves a candidate with a score of s will also approve all candidates with a score of s or above.
This way is simpler, retains within-voter Pareto dominance, and is scale invariant - that is to say that if all scores are multiplied by a constant, then it would not affect how the approvals are spread across the candidates so any election result would be the same.
Toby

From: Ross Hyman <***@sbcglobal.net>
To: "election-***@lists.electorama.com" <election-***@lists.electorama.com>
Sent: Sunday, 11 February 2018, 15:01
Subject: [EM] Transformation from range to approval ballots

Transformation from range to approval ballots.
Ranges, r_a, span from 0 to 1.  Each range ballot is transformed into many approval ballots, each with its own weight.  Its weight is a product of the r_a’s  for a ballot that approves candidate a, and (1-r_a) for a candidate that does not approve candidate a.


Example:  Three candidates. A range ballot gives them the following scores
Candidate a: 0.9
Candidate b: 0.7
Candidate c: 0.4


This is transformed into a set of approval ballots of every type with the weights:


don’t approve a, don’t approve b, don’t approve c: (1-0.9)*(1-0.7)*(1-0.4) = 0.018
don’t approve a, don’t approve b, approve c: (1-0.9)*(1-0.7)*0.4 = 0.012
don’t approve a, approve b, don’t approve c: (1-.09)*0.7*(1-0.4) = 0.042
don’t approve a, approve b, approve c: (1-0.9)*0.7*0.4 = 0.028
approve a, don’t approve b, don’t approve c: 0.9*(1-0.7)*(1-0.4) = 0.162
approve a, don’t approve b, approve c: 0.9*(1-0.7)*0.4 = 0.108
approve a, approve b, don’t approve c: 0.9*0.7*(1-0.4) = 0.378
approve a, approve b, approve c: 0.9*0.7*0.4 = 0.252


The total is 1, as required.
----
Election-Methods mailing list - see http://electorama.com/em for list info
Continue reading on narkive:
Loading...