# [EM] PR approval voting

Ross Hyman rahyman at sbcglobal.net
Wed Feb 19 16:36:04 PST 2014

```Voters assign scores to candidates.  The scores range from zero to one.  The score that the ith voter assigns to candidate A is s_i,A.

The computer assigns votes to candidates.  The vote for each candidate is non-negative and the total vote on each ballot sums to 1.  The vote on the ith ballot the computer assigns to candidate A is v_i,A.

The total score for candidate A is sum over all of the ballots of the product of s_i,A and v_i,A.

The computer assigns votes in such a way that for a given candidate set, the score for the set is maximized.  The score for a set is the total score of the candidate with the lowest total score in the set.  There is a different vote distribution for each candidate set.

The candidate set with the largest score wins.

________________________________
From: Toby Pereira <tdp201b at yahoo.co.uk>
To: "election-methods at electorama.com" <election-methods at electorama.com>; "rahyman at sbcglobal.net" <rahyman at sbcglobal.net>
Sent: Wednesday, February 19, 2014 5:28 PM
Subject: [EM] PR approval voting

I just came across this again and I've copied it into an e-mail. Ross, would you be able to explain the range variant in a less notation-heavy way? The approval method seems quite clear, however.

From Ross Hyman:

A range voting generalization is the following:
The score that the ith ballot assigns to the ath candidate is s_i,a.  v_i,a is the vote assigned to candidate a from the ith ballot.  The optimal v_i,a is determined iteratively.

For each candidate set
1) choose an initial v_i,a. such that sum_a v_i,a =1, where the sum is over candidates in the candidate set.

2) The total score for a candidate in the set is determined from s_a =
sum_i v_i,a s_i,a.  The lowest score is a
lower bound for the candidate set score.

3) Form the adjusted vote w_i,a =  v_i,a/s_a.

4) The adjusted vote for each ballot is w_i = sum_a w_i,a.

5) The new v_i,a = w_i,a / w_i.  Proceed to step 2.

The candidate set with the highest score wins the election.

--- On Sat, 10/1/11, Toby Pereira <tdp201b at yahoo.co.uk> wrote:

From: Toby Pereira <tdp201b at yahoo.co.uk>
Subject: Re: [EM] PR approval voting
To: "Ross Hyman" <rahyman at sbcglobal.net>, "election-methods at lists.electorama.com" <election-methods at lists.electorama.com>
Date: Saturday, October 1, 2011, 11:25 AM

Presumably this could also be used for range voting with a fairly simple modification. It would just set a limit on the fraction of someone's vote that could be used for each candidate. If you scored a candidate 3 out of 10, then no more than 0.3 of your vote could go to that candidate, regardless of whether the rest remained unused.

From: Ross Hyman <rahyman at sbcglobal.net>
To: election-methods at lists.electorama.com
Sent: Saturday, 1 October 2011, 5:07
Subject: [EM] PR approval voting

The following PR approval voting procedure is an approval limit of Schulze STV

A score for each candidate set is determined in the following way:    The vote of each ballot is distributed amongst the ballot's approved candidates in the candidate set.  The score for each candidate set is the largest possible vote for the candidate in the set with the smallest vote.  The candidate set with the highest score wins the election.

example: 2 seats
approval voting profile
10 a
6 a b
2 b
5 a b c
4 c
The possible candidate sets are: {a b}, {a c}, and {b c}.

score for {a b} determined from
10 a
11 a b

2 b
score for {a b} = 11.5

score for {a c} determined from
16 a
5 a c
4 c
score for {a c} = 9

score for {b c} determined from
8 b
5 b c
4 c
score for {b c} =
8.5

set {a b} wins.

Schulze uses a maximum flow algorithm to distribute the votes optimally on each ballot for each candidate set.  Here is another algorithm.

v_i,a is the vote assigned to candidate a from the ith ballot.  The optimal v_i,a is determined iteratively.

1) Initially, the vote for each ballot is distributed equally between all the candidates in the candidate set that are approved by that ballot.

2) The total vote for a candidate in the set is determined from v_a = sum_i v_i,a.  The lowest vote is a lower bound for the candidate score.

3) Form the adjusted vote w_i,a =  v_i,a/v_a.

4) The adjusted vote for each ballot is w_i
= sum_a w_i,a.

5) The new v_i,a = w_i,a / w_i.  Proceed to step 2.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.electorama.com/pipermail/election-methods-electorama.com/attachments/20140219/fb1ff835/attachment-0004.htm>
```