[EM] Proportionality vs utility: redoing 2008 with better units

Toby Pereira tdp201b at yahoo.co.uk
Thu Sep 12 05:33:34 PDT 2024


 Thanks again for producing all this. One thing I've just realised is that according to this metric, harmonic (and psi) voting continue to get more proportional as you go from D'Hondt to Sainte-Laguë and pass out the other side. Could this be a failing of the metric? Surely it should peak with Sainte-Laguë.
I'm also surprised at how much worse psi voting seems to perform than harmonic voting (which you mentioned). I would have expected harmonic to be better, but not by that much. I always told Warren that Reweighted Range Voting would be better with the KP-transformation though!
Toby
    On Wednesday 11 September 2024 at 16:32:45 BST, Kristofer Munsterhjelm <km-elmet at munsterhjelm.no> wrote:  
 
 On 2024-09-11 14:32, Toby Pereira wrote:
> I have another couple of questions. You said that the zero points are 
> what you'd get by picking candidates at random. But does this not depend 
> on how the candidates are distributed?

Yes, that's right. All the results depend on the model, which currently 
is a very simple binary one.

> Are they just uniformly spread across the voting space?
This is how the model works:

Let n be the number of issues for the issue space for this round. First 
draw n random uniform numbers for where the ith number is how likely a 
random voter is to hold the "yes" opinion on the ith issue. Call this 
the bias vector.

Then assign the voters their issues by flipping biased coins, where the 
bias is given by the bias vector.

Calculate the correct proportions of yes opinions across all the voters 
and update the bias vector. Since the second step is random, we'll 
hardly ever get an exact match to the bias vector proportions from the 
first step. The bias vector needs to reflect the proportion of voters 
who actually hold the yes position for proportionality calculations to work.

The first k voters are candidates, so the voters and candidates come 
from the same distribution. This also means that the candidates 
paricipate in the election too.

Random candidate just picks these k candidates at random. They're not 
uniformly spread across the voting space since their yes/no opinions are 
influenced by the bias vector just like the voters' are.

Each voter rates each candidate according to their Hamming distance, 
i.e. number of points equals number of issues that they agree upon, plus 
some small amount of noise.

> How did repeatedly electing the plurality loser end up so
> proportional?

I was thinking the reason was something like: if the opinion space is 
flat (i.e. some issues are liked by some voters, others are liked by 
other voters, with little correlation), then if you were to repeatedly 
elect someone hated by a polarizing method, you would be electing 
favorites of the "other camp".

But it turned out that wasn't actually the case. What I had called 
"Worst Plurality" (electing the Plurality loser) was in fact worst 
*Anti*plurality (electing the Antiplurality loser). And I suppose that 
since Antiplurality has high VSE awful proportionality, reflecting it 
got something that had proportionality but not utility.

That's why review is so important: it helps identify slip-ups and bugs. 
Thanks for prompting me to investigate this.

With the bug fixed, I get the following results after 900 rounds, same 
parameters:

  Prop'ty  Utility
-1.0518  -0.64366  Worst Plurality
  0.36886  -0.86348  Worst Antiplurality

which makes a lot more sense. (They'll be slightly off compared to the 
attached results since I didn't run more rounds, but the quadrants are a 
lot more sensible.)

I'm not entirely sure why "elect the loser" flips the sign on both 
proportionality and utility, though. You'd expect proportionality to be 
more fragile and thus show bad results (VSE < 0) if you go around 
electing hated candidates... but apparently not.

> Also would it be possible to post the result as the raw numbers in addition to the graph?

Sure. I've attached the following files:

harmonic.txt: Harmonic voting with different delta values
harmonic_extended.txt: Harmonic voting with delta > 1 (dashed line on graph)
isoelastic.txt: Isoelastic
psi.txt: Psi voting
qpq.txt: QPQ

others.txt: Other methods, for the full graph
selected.txt: Selected methods for the detailed graph

These are with 377k rounds.

I've marked the mistakenly thought to be Plurality loser results #Worst 
Antiplurality#, to show that they're really electing Antiplurality losers.

The names in others.txt in particular require some explanation:

Method names containing a question mark have been imported more or less 
directly from my old source; I have not fully checked them for bugs.

Maj[base]: Majoritarian/bloc voting using the "base" method. This just 
elects the winner, second place, third place, etc. according the base 
method.

Maj[Eliminate[base]]: Bloc voting using sequential loser elimination 
with "base" as the base method. E.g. Eliminate[Plurality] is IRV, 
Eliminate[Antiplurality] is Coombs.

Maj[AVGEliminate[base]]: As above, but eliminates every candidate with 
below-average score for the round. Maj[AVGEliminate[Plurality]] is Craig 
Carey's IFPP.

Cardinal-20: Range voting with a 0...20 scale. Absolute scale.
Cardinal-20(norm): Same, but normalized scale.

Ext-Minmin: the "max A>B" method: the winner is the one with the 
greatest pairwise defeat over someone else.

ReweightA[positional method]: Like reweighted Range voting, but using 
the positional method's points instead of ratings. Each voter's weight 
is adjusted to be C / (C + Q), where Q is the sum of contributions to 
elected candidates, with each contribution normalized so that maximum 
number of points is mapped to 1, and minimum to 0; and C is an 
adjustable parameter.

ReweightM[positional method]: When someone is elected, each voter's 
current weight is multiplied by C / (C + Q), where Q is the sum of 
contributions to that candidate.

Range-Auction, Q-Range STV, Linear Range STV, Quota Bucklin, Set PR 
Bucklin, Compat-QLTD-PR, M-Set Webster: methods from my 2008 simulator; 
I'm not quite sure how they work; they thus need more investigation. Of 
these, only the Range STV versions and M-Set Webster seem to be good, 
and I can probably throw out the rest unless other simulations show them 
to be good.

DHwL[base]: D'Hondt without lists. The base method is used to pick the 
next winner according to the modified pairwise matrix.

PSC-CLE: https://electowiki.org/wiki/PSC-CLE. "Quota = x" uses the quota 
(num voters)/(num seats + x) instead of the Droop quota.

C-Elim[base]: As PSC-CLE, but using the base method's elimination order. 
PSC-CLE is C-Elim[Schulze].

STV-ME (base): Generalization of BTR-IRV. Let N = (number of seats - 
number already elected) + 1. When a candidate needs to be eliminated, 
conduct an election between the N candidates with the least first 
preference count, using the base method. Eliminate the loser of this 
election. Note that STV-ME (Plurality) is not the same thing as plain STV.

R-Birational: Birational with a relative scale. (Just "birational" uses 
an absolute scale.)

For positional methods, ER means equal-rank is counted whole, but this 
rarely comes into play due to the noise being added to voters' ratings. 
/fd means "first differences", i.e. ties for elimination are broken by 
the first round where the candidates were not tied.

-km  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.electorama.com/pipermail/election-methods-electorama.com/attachments/20240912/ebf76ab4/attachment.htm>


More information about the Election-Methods mailing list