[EM] Fwd: Preliminary Range PAV results
Jameson Quinn
jameson.quinn at gmail.com
Fri Jun 11 09:51:29 PDT 2010
I'm resending the message I sent to Kristofer because I think it's generally
interesting. I redid the formula for an STV-like Range-based proportional
system, and it's actually simpler than my previous (totally broken) formula.
When electing candidate A, just multiply all the ballots by
1-r(A)D/S(A)(unless it's negative), where
r(A) = ballot score for candidate A
D = Droop quota
S(A) = Sum of squares of scores for candidate A
(detail - you need to either normalize the scores to [0,1], or multiply the
droop quota by the top allowed score)
Note that my (still unpublished) summability trick can summably give results
which are the same as this method with a high probability. (I developed the
summability trick for approval ballots, but to use it for Range, you just
divvy up the ballot into approval-style "slices" which approve all
candidates which score higher than a given total. For instance, in range(3),
A3 B1 C0 would be equivalent to 2 (A) ballots and one (AB) ballot.)
Kristofer - have you been able to get results for this formula? If you send
me the source code, I can try myself.
JQ
---------- Forwarded message ----------
From: Jameson Quinn <jameson.quinn at gmail.com>
Date: 2010/6/8
Subject: Re: [EM] Preliminary Range PAV results
To: Kristofer Munsterhjelm <km-elmet at broadpark.no>
2010/6/8 Kristofer Munsterhjelm <km-elmet at broadpark.no>
> Jameson Quinn wrote:
>
>> OK, I think there's a bug in this formula. Can you try
>> max(0,(R/M-D(rN/R))/N)? M is the maximum Range vote (1, 99, 100, whatever);
>> the minimum is 0.
>>
>
> If you have
> 10: A (0.9) > B (0.5) > C (0.1) <- set a
> 5: B (0.7) > C (0.3) > A (0.2) <- set b
>
> and you're calculating the weighting for set a, is N 10 or is it 15?
>
Thanks for giving me a concrete example. It inspired me to work the formula
out again from the top. I'm sorry, I should not try to do it in my head.
Normalize all scores to [0,1] for notational simplicity.
Define S as the sum of the squares of the scores. S/R is the average score,
weighted by support. For instance, if there are two groups x and y, which
rate the given candidate at s and 0, then the weight of group y is 0, so S/R
= s, independent of the group sizes.
Formula:
*w = max(0,1-rD/S)*
D->0, w->1, check.
r->0, w->1, check
for any p, D->pR and r->S/R, w ->1-p, check.
This is the formula I want. The only problem is that it might fail to take a
full droop quota, even though one exists, because it is forbidden from going
negative. This can only happen if D > S, or, more intuitively, D/R > S/R,
that is, the ratio of the droop quota to the range total is above the
average supporter's support.
In your example, for candidate A, set a, 2 candidates to be elected,
R=10
S=10*.81+5*.04=8.3
D=15/(2+1)=5
r=0.9
factor = .458. rescored a group A total, 4.120482
For voter set b, the rescored A total is .879518
New A total = 5 = R-D
JQ
ps. Maybe you should share your source code on Sourceforge or Google Code or
the like, so we could add our own systems?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.electorama.com/pipermail/election-methods-electorama.com/attachments/20100611/652a4615/attachment-0004.htm>
More information about the Election-Methods
mailing list