<html><head></head><body><div class="ydpd4f4c8bdyahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div></div>
<div dir="ltr" data-setdir="false">Kristofer</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">This is very interesting. Thank you for doing this analysis. Random ballots, as I understand your implementation, I think would not be strategyproof. If there are c candidates to be elected, then every voter ranks their top c. And then you sequentially pick c ballots at random, electing the top-ranked unelected candidate on each ballot. Is that correct? In that case, I think if a voter is fairly confident that their favourite candidate will be elected anyway, it makes sense for them to put other candidates above them that might not get elected anyway. If my second favourite candidate is not very popular among other voters, and my favourite is, I am likely to put my second favourite top.</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">Another lottery method you might want to consider is COWPEA Lottery. This uses approval ballots. For each candidate to be elected, ballots are selected at random to act as tie-breaks. At first, every candidate is in the running. Pick a ballot, and then only those approved on that ballot are still in the running and so on, until one is left. If a ballot reduces the number of candidates in the running to zero, it is ignored. This method can also be used with the KP-transformation for a score voting variant (like the relationship of PAV to harmonic voting).</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">Toby</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false"><br></div><div><br></div>
</div><div id="ydp357b5086yahoo_quoted_6417591068" class="ydp357b5086yahoo_quoted">
<div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
<div>
On Monday 9 September 2024 at 21:15:32 BST, Kristofer Munsterhjelm <km-elmet@munsterhjelm.no> wrote:
</div>
<div><br></div>
<div><br></div>
<div><div dir="ltr">I've been incorporating some very old code for multiwinner method <br></div><div dir="ltr">testing (see my very first post) into Quadelect, my general purpose <br></div><div dir="ltr">voting program. And I've run some simulations and got an indication of <br></div><div dir="ltr">what different multiwinner methods prioritize between proportionality <br></div><div dir="ltr">and broad support. So I thought I'd write a post about the results.<br></div><div dir="ltr"><br></div><div dir="ltr">The code tests the proportionality and utilitarian quality of a winner <br></div><div dir="ltr">set in a similar way to the VSE-like proportionality measure I posted <br></div><div dir="ltr">about on July 31. It just uses binary issues instead of a normal spatial <br></div><div dir="ltr">distribution.<br></div><div dir="ltr"><br></div><div dir="ltr">That is, each voter has a binary position on one of a set number of <br></div><div dir="ltr">issues. Each voter's utility for a given candidate being elected is the <br></div><div dir="ltr">number of issues where they agree.<br></div><div dir="ltr"><br></div><div dir="ltr">The program determines proportionality by checking the similarity of the <br></div><div dir="ltr">proportion of elected candidates who hold a yes position on each issue, <br></div><div dir="ltr">with the proportion of the voters who do so. It quantifies the <br></div><div dir="ltr">difference by using a proportionality measure like the Sainte-Laguë <br></div><div dir="ltr">index. So far, just a copy of my approach in 2008 (it's the same code, <br></div><div dir="ltr">after all).<br></div><div dir="ltr"><br></div><div dir="ltr">But instead of the somewhat on-the-spot approach to combining the <br></div><div dir="ltr">utility and disproportionality results, it uses VSE. This gives what <br></div><div dir="ltr">seems to me to be more sensible results.<br></div><div dir="ltr"><br></div><div dir="ltr">I've attached the results as pictures. The distribution parameters are:<br></div><div dir="ltr"><br></div><div dir="ltr">Number of voters per round: 5 ... 260<br></div><div dir="ltr">Number of candidates: 5 ... 11<br></div><div dir="ltr">Number of issue dimensions: 1 ... 11<br></div><div dir="ltr">Number of winners: 3 ... 10,<br></div><div dir="ltr"><br></div><div dir="ltr">and I'm using the Sainte-Laguë index as error measure.<br></div><div dir="ltr"><br></div><div dir="ltr">The VSE zero points are anchored to the expected value <br></div><div dir="ltr">(disproportionality and utility) of just picking candidates at random <br></div><div dir="ltr">until the council is full. The vertical black dotted line on the detail <br></div><div dir="ltr">plot thus separates methods that are more proportional than random <br></div><div dir="ltr">candidate from those that are less.<br></div><div dir="ltr"><br></div><div dir="ltr">Each purple dot (plus sign) corresponds to one method. Some methods take <br></div><div dir="ltr">parameters that adjust their proportionality, e.g. most of Warren's <br></div><div dir="ltr">cardinal methods take a D'Hondt-Sainte-Laguë adjustment parameter. Those <br></div><div dir="ltr">are represented by curves which sweep either over the full range or a <br></div><div dir="ltr">large area of it. (Since Harmonic voting is relatively good; I've run it <br></div><div dir="ltr">outside its usual range to see what happens. The results for the <br></div><div dir="ltr">out-of-range values are marked with a dashed line.)<br></div><div dir="ltr"><br></div><div dir="ltr">Clearly there's a trade-off between proportionality and utilitarian <br></div><div dir="ltr">efficiency. That's not very surprising, because if you have a large <br></div><div dir="ltr">number of winners, proportionality tells you that you should elect one <br></div><div dir="ltr">representative for each major issue position, but VSE tells you that you <br></div><div dir="ltr">should fill the council with candidates close to the median voter.<br></div><div dir="ltr"><br></div><div dir="ltr">But other things are more surprising. One is just how weak the Droop <br></div><div dir="ltr">proportionality criterion constraint is. Both PSC-CLE and PSC-(Plurality <br></div><div dir="ltr">loser) pass it, but they're quite far from each other on the plot.<br></div><div dir="ltr"><br></div><div dir="ltr">Second, there doesn't seem to be any "cardinal superiority" here. <br></div><div dir="ltr">Harmonic is the best cardinal method of those tested, and it intersects <br></div><div dir="ltr">STV pretty cleanly. The concentrated nature (and comparatively lower <br></div><div dir="ltr">performance) of Psi voting compared to Harmonic is also pretty surprising.<br></div><div dir="ltr"><br></div><div dir="ltr">At first I didn't expect Schulze STV to be more proportional than <br></div><div dir="ltr">ordinary STV; for Schulze vs IRV it's the other way around. But my <br></div><div dir="ltr">Kemeny clustering methods (not shown here as they're far too slow) also <br></div><div dir="ltr">fall much more on the proportional than utilitarian side of things. Pure <br></div><div dir="ltr">Condorcet-based multiwinner methods might just be particularly good at <br></div><div dir="ltr">identifying the nth quantile candidates, the way Condorcet does the <br></div><div dir="ltr">median candidate; if so, such nth quantile candidates would be <br></div><div dir="ltr">proportionality-focused rather than utility-focused.<br></div><div dir="ltr"><br></div><div dir="ltr">But on the left side of the detail plot, why is minmax so far off <br></div><div dir="ltr">Schulze? They're based on the same logic, after all.<br></div><div dir="ltr"><br></div><div dir="ltr">Some of the names may be unfamiliar, so here are some references:<br></div><div dir="ltr"><br></div><div dir="ltr">- Random dictator: strategyproof, elect the first k candidates listed on <br></div><div dir="ltr">a random voter's ballot.<br></div><div dir="ltr">- D'Hondt without Lists: a method by Juho Laatu. <br></div><div dir="ltr"><a href="http://lists.electorama.com/pipermail/election-methods-electorama.com/2008-October/121082.html" rel="nofollow" target="_blank">http://lists.electorama.com/pipermail/election-methods-electorama.com/2008-October/121082.html</a> <br></div><div dir="ltr">My variant multiplies the quotients (1/2, 1/3 etc), as mentioned in that <br></div><div dir="ltr">post, instead of adding them.<br></div><div dir="ltr">- Coombs, Borda, etc: these are all bloc voting: elect the k highest <br></div><div dir="ltr">scoring candidates.<br></div><div dir="ltr">- Random ballots: this is also strategyproof (I think?). Pick a voter at <br></div><div dir="ltr">random, elect the voter's first preference, eliminate that candidate <br></div><div dir="ltr">from every ballot, remove the lucky voter's ballot, and repeat.<br></div><div dir="ltr">- Harmonic voting, Psi voting: see <br></div><div dir="ltr">https://rangevoting.org/QualityMulti.html.<br></div><div dir="ltr">- QPQ: Quota-preferential by Quotient, a method by Woodall. <br></div><div dir="ltr"><a href="https://www.votingmatters.org.uk/ISSUE17/INDEX.HTM" rel="nofollow" target="_blank">https://www.votingmatters.org.uk/ISSUE17/INDEX.HTM</a><br></div><div dir="ltr">- Birational, LPV0+: Cardinal methods proposed by Forest and Warren. See <br></div><div dir="ltr">https://rangevoting.org/WarrenSmithPages/homepage/multisurv.pdf. Ratings <br></div><div dir="ltr">are counted as fractional approval votes.<br></div><div dir="ltr">- Isoelastic: Cardinal method based on a function proposed by Peter <br></div><div dir="ltr">Zbornik. <br></div><div dir="ltr"><a href="http://lists.electorama.com/pipermail/election-methods-electorama.com/2010-May/124448.html" rel="nofollow" target="_blank">http://lists.electorama.com/pipermail/election-methods-electorama.com/2010-May/124448.html</a><br></div><div dir="ltr"><br></div><div dir="ltr">-km</div>----<br>Election-Methods mailing list - see <a href="https://electorama.com/em" rel="nofollow" target="_blank">https://electorama.com/em</a> for list info<br></div>
</div>
</div></body></html>