- Each voter i casts a score ballot S_i.
- Suppose S_i ranks
*n*candidates top. Create a matrix M_i and vector**w**_i where M_i[a, :] = S_i / n and**w**_i[a] = 1/n if*a*is ranked top, else both are 0. (Effectively, we're combining all the votes that score each candidate top into one basket. If multiple candidates are scored top, - Let M be the sum over all voters
*i*of M_i and**w**the sum of all**w**_i. (M needs to be normalized by**w**). - Let X be formed by dividing row
*j*of M by**w**[j]. Run RRV (or its optimal form) where the rows of X are "ballots" and the elements of**w**are the initial ballot weights.

Example: The ballot (A=1, B=2/3, C=1/3, D=0) becomes

```
M_i =
1 2/3 1/3 0
0 0 0 0
0 0 0 0
0 0 0 0
w_i = [1 0 0 0]^T
```

while (A=1/2, B=1, C=0, D=1) becomes

```
M_i =
0 0 0 0
1/4 1/2 0 1/2
0 0 0 0
1/4 1/2 0 1/2
w_i = [0 1/2 0 1/2]^T
```

Of course, I don't like the discontinuity involved (in splitting between candidates that are scored "top") so I would change the calculation of M to be proportional to the elements of the voter's ballot (so that ends up looking like M_i[:, :] = S_i S_i^T and **w** = S_i/sum(S_i)). The ballot (A=1, B=2/3, C=1/3, D=0) then becomes

```
M_i =
1 2/3 1/3 0
2/3 4/9 2/9 0
1/3 2/9 1/9 0
0 0 0 0
w_i = [1/2 1/3 1/6 0]^T
```

I call this **soft Simmons PR** (by analogy to "softmax" which was partially an inspiration).

The nice thing is that since there are only *c* distinct "ballots" in the final step, there might be some kind of efficient special-case algorithm to determine the optimal-PAV (or its score counterpart) winner slate, although I am not completely sure of this.

(Can I not use LaTeX here?)

]]>