What PR methods are hot now?

56 views
Skip to first unread message

Brian Olson

unread,
Aug 20, 2018, 2:12:37 PM8/20/18
to electio...@googlegroups.com
I think I'm going to work up some simulations of Proportional Representation election algorithms to test their proportionality. What are some good methods to test? What do people like these days? Send me a link to the description or paste the algorithm in a reply here?


I have 3 methods I'll plan on so far:

STV with fractional vote transfer

STAR-PR

Instant Runoff Normalized Ratings - Proportional

Ted Stern

unread,
Aug 20, 2018, 2:24:33 PM8/20/18
to electio...@googlegroups.com
RRV

Bucklin reweighted voting (Use single winner method of choice [ER-Bucklin, MJ, score,Condorcet], then reweight according maximum score at which at least one quota of voters approve the winner)

--
You received this message because you are subscribed to the Google Groups "The Center for Election Science" group.
To unsubscribe from this group and stop receiving emails from it, send an email to electionscien...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

parker friedland

unread,
Aug 20, 2018, 2:41:28 PM8/20/18
to The Center for Election Science
> STAR-PR
> https://www.equal.vote/pr

Right now there are multiple methods that could call themselfs STAR-PR and the current STAR-PR is not one of them.
Be sure to test Ciaran and Jameson's appointed STAR voting (described in this discussion: https://groups.google.com/forum/#!searchin/electionscience/srv-pr%7Csort:date/electionscience/HkgoqQiGN4k/h51ykr_pCgAJ) or my single runoff round version of STAR-PR (described in this one: https://groups.google.com/forum/#!topic/electionscience/2P39eMRktcA).

Other good methods to test:

Optimization algorithems.

When it comes to PR, there are two main catigories of PR methods: Sequential methods and optimization methods. All of the ones you described so far are sequential algorithems.

Some of the most popular optimization algorithems include
harmonic voting (of which the approval ballot version of HV was origionally called pr approval voting before sequential pr approval voting took that name), the least squares method, and monroe's method. (be shure to test the approval version and score version of all three of these methods). There are also optimization algorithems that use ranked ballots as well: Schulze STV, and CPO-STV.

Approval ballot version of harmonic voting (discussed here: https://www.kialo.com/the-us-should-adopt-a-better-voting-system-for-elected-bodies-5589/5589.0=5589.25)

Create a list of every possible election outcome, which in a 4 winner election, is just every combination of 4 candidates. Each outcome gets 1 point for every voter that approves of just 1 candidate in that outcome, 1 + 1/2 points for every voter that approves of just 2 candidates in that outcome, 1 + 1/2 + 1/3 points every voter that approves of just 3 candidates in that outcome, and 1 + 1/2 + 1/3 + 1/4 points every voter that approves of all 4 candidates in that outcome.

Score ballot version:

It's just the approval ballot version + the KP transformation. The KP transformation: https://www.reddit.com/r/EndFPTP/comments/6xnc2i/visualization_of_the_kotzepereira_transform_which/

Least Squares method (approval ballot version):

Each winner carries some weght, each weight is equal to 1. In order to elect a candidate, you must split their weight amoung the people who approved of them. Each voter's cost is equal to the portion of the weights they are holding squared. Find the most optimal way to minimize the cost, and elect the candidates that corrispond to that most minimized cost function. It's the same as approval ballot version of Elbert's method (which is described here: https://rangevoting.org/PRintLinprog.html)

Monroe's method (also called full representation): https://www.kialo.com/the-us-should-adopt-a-better-voting-system-for-elected-bodies-5589/5589.0=5589.215

I already explained it to Ciaran and don't feel like explaining it again so ask him about it.

I'm not sure if you can test least squares because it requires so much computing power but I have devised formulas for calculating the approval ballot version of Monroe's method.

parker friedland

unread,
Aug 20, 2018, 2:50:59 PM8/20/18
to The Center for Election Science
> I think I'm going to work up some simulations of Proportional Representation election algorithms to test their proportionality.

And what mesure of proportionality are you going to test?

The best mesurement of proportionality is a voting method's proportional satisfaction efficiancy.

To calculate a voting method's PSE, construct a multi-winner VSE simulation first. Constructing a multi-winner VSE sim is simular to constructing a multi-winner baysian regret sim (of which is described here: https://rangevoting.org/BRmulti.html) Then rather then recording the average of each voter's average satisfaction, calculate each voter's proportional utility (it's equal to the logorithem of each voter's satisfaction) and record the average of each voter's proportional utility.


On Monday, August 20, 2018 at 11:12:37 AM UTC-7, Brian Olson wrote:

Ciaran Dougherty

unread,
Aug 20, 2018, 3:16:04 PM8/20/18
to electio...@googlegroups.com
Jameson & I both like my Apportioned Range Voting algorithm (which can be used with most any Cardinal method, I believe):

While Seats Available:
    Distribute non-discriminating ballots (5/5/5, 2/2/2, +/+/+, -/-/-) evenly across all open seats, removing them from the set of Non-Apportioned Ballots (Ballot Set A)
        SEE NOTE 1
    Find winner of Ballot Set A according to the method in question (W)
        SEE NOTE 2
    Find ballots that show strongest support for W that would fill out a Hare Quota (Ballot Set H)
        SEE NOTE 3
    Find winner of Ballot Set H (Q)
    While Q != W
        Find the the ballots that show strongest support for Q (Ballot Set J)
        Set Ballot Set H = Ballot Set J
        Set W = Q
    Seat W
    Remove Ballot Set H from Ballot Set A (having been satisfied with the seating of W)

NOTE 1:
    The reason this is inside the While loop, rather than before it is for cases where a voter casts a A1/B0/C0/D0 ballot, and A is ineligible for further seats, but that ballot isn't apportioned to A's Quota.   At that point, it is effectively a non-discriminatory ballot of A-/B0/C0/D0, and should be treated as such.

NOTE 2:
   The decision theorist in me says that in cases of ties, you should do a beam-search, and see if the resultant sets of winning candidates are different on the various final leaves of the beam, but I haven't bothered to do yet.

NOTE 3:       
There are two methods for determining Greatest Support:   
    My Original Method: Descending order of Difference of Support for W from that ballot's Average Support (ie W5/A2/B4/C0 ==> 5 - (5+2+4+0)/4 == 5-2.75 == 2.25)
    Jameson's Alternative: Descending order of Highest Score for W
I tested both in my development, and believe that the Difference From Average method is better.  I have not yet tested whether "Difference from Average" should be calculated once, or every time a candidate has been removed from consideration, yet.
Also, I think Fractional Transfer is probably appropriate here, too.


Anyway, what language are you planning on writing this in?  What sort of data structures?


To unsubscribe from this group and stop receiving emails from it, send an email to electionscience+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "The Center for Election Science" group.
To unsubscribe from this group and stop receiving emails from it, send an email to electionscience+unsubscribe@googlegroups.com.

Brian Olson

unread,
Aug 20, 2018, 3:17:19 PM8/20/18
to electio...@googlegroups.com
One test of proportionality I plan to construct is competition between perfectly organized voting blocs of various sizes.

An X voter votes for all X candidates above all others, a Y voter for all Y candidates above all others, every group runs a full slate of enough candidates to fill all the seats, vary the size of groups X and Y and make sure the resulting elected seats match the source proportion. Then also do that for 3..10 factions of various sizes.


Parker, as you noted there's some complexity in measuring utility in the proportional case. Measuring the satisfaction of voters singly is good, but there are a bunch of things we could consider about how they feel about the slate of elected candidates, and still non of that might tell us if proportionality was achieved, which is why I want to construct some voting blocs to test that.

Thanks for the links! I'll give all those a read.


On Mon, Aug 20, 2018 at 2:50 PM, parker friedland <parkerf...@gmail.com> wrote:
> I think I'm going to work up some simulations of Proportional Representation election algorithms to test their proportionality.

And what mesure of proportionality are you going to test?

The best mesurement of proportionality is a voting method's proportional satisfaction efficiancy.

To calculate a voting method's PSE, construct a multi-winner VSE simulation first. Constructing a multi-winner VSE sim is simular to constructing a multi-winner baysian regret sim (of which is described here: https://rangevoting.org/BRmulti.html) Then rather then recording the average of each voter's average satisfaction, calculate each voter's proportional utility (it's equal to the logorithem of each voter's satisfaction) and record the average of each voter's proportional utility.

On Monday, August 20, 2018 at 11:12:37 AM UTC-7, Brian Olson wrote:
I think I'm going to work up some simulations of Proportional Representation election algorithms to test their proportionality. What are some good methods to test? What do people like these days? Send me a link to the description or paste the algorithm in a reply here?


I have 3 methods I'll plan on so far:

STV with fractional vote transfer

STAR-PR

Instant Runoff Normalized Ratings - Proportional

parker friedland

unread,
Aug 20, 2018, 3:36:16 PM8/20/18
to The Center for Election Science
> and believe that the Difference From Average method is better.

It's also hidious. How can anyone rely on the average score a voter scored to every single candidate at all, when that measurement is monumentally manipulating by candidate cloning, unknown candidates, etc.

Why we don't use averages:

Suppose you were designing a ranked voting method and rather then chosing the winner by picking the candidate with the best worst pairwise comparison like in minimax, you decide to pick the candidate with the best average pairwise comparison because you think that if a candidate preforms pretty well against other candidates on head to head match ups on average, they cant be that bad right? Well do you know what you would get as a consequence: f*cking Borda count. Electing the candidate that preforms the best on average in head to head match ups is eqivalent to f*cking Borda count. When it comes to voting methods, incorperating unreliable averages can ruin a voting method. If you are going to use averages, atleast weight the average so each candidate has a different weight in the average in such a way that the average cannot just be manipulated by candidate clonning. Right now, if a voter had the ability to add an infinate number of write in candidates to their ballot, they could obviously manipulate their average score in any way they want. Rule of thumb: when it comes to voting methods, be cautious about the way you use averages.
To unsubscribe from this group and stop receiving emails from it, send an email to electionscien...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "The Center for Election Science" group.
To unsubscribe from this group and stop receiving emails from it, send an email to electionscien...@googlegroups.com.

Brian Olson

unread,
Aug 20, 2018, 3:38:24 PM8/20/18
to electio...@googlegroups.com
Ciaran,
Thanks for the algorithm description. Looks interesting, a general framework for converting a single election method into a PR method. I'd guess that it needs fractional transfer to actually achieve proportionality, otherwise that last step 'remove ballot set H' could remove too many ballots, but it should instead make those votes have less power; e.g. seated winner W got double the votes needed to pass Hare Quota, ballots with strongest support for W now have half the power they did before.

I have a framework for election simulations in C++
If there are 16 candidates then a voter is a float[16] of their preferences [-1.0..1.0] for those candidates. These preferences can be quantized for a 0..5 star ballot, or sorted for a rankings ballot, or thresholded for an approval ballot. I did a bunch of sims where voters believed random things, each preference was independent and random, but lately I prefer a spatial metaphor where candidates and voters live in a 2 or 3 dimensional political space in some gaussian distribution there and voters prefer candidates closer to them in space.

For this proportionality test I would construct perfect voting blocs. For N seats, bloc-X voters would field N candidates and vote for them all as a slate with a 0 preference for all other candidates. So there would be (blocs)*(seats) candidates in every election, which is a bit much but manageable, and I'd run 2..10 blocs and vary their sizes and see if they indeed get a proportional outcome. It is my suspicion that some of the algorithms we're talking about don't actually achieve proportional representation, and I'd like to check that. It's also possible to turn up effects like maybe adding an irrelevant sub-threshold bloc makes some system go non-monotonic and give weight to unexpected other blocs.

Ciaran Dougherty

unread,
Aug 20, 2018, 4:08:36 PM8/20/18
to electio...@googlegroups.com
On Mon, Aug 20, 2018 at 12:38 PM, Brian Olson <b...@bolson.org> wrote:
 These preferences can be quantized for a 0..5 star ballot, or sorted for a rankings ballot, or thresholded for an approval ballot. I did a bunch of sims where voters believed random things, each preference was independent and random, but lately I prefer a spatial metaphor where candidates and voters live in a 2 or 3 dimensional political space in some gaussian distribution there and voters prefer candidates closer to them in space.


I prefer the Spatial Model, too.  I've done some looking into it, and apparently while a full accurate representation of the real-world voter-space on which voters evaluate candidates is on the order of 9(!!!) dimensions, the point of diminishing returns is somewhere around 3 dimensions.

Indeed, one of the things I need to discuss with Jameson is whether I understand his VSE code correctly, because it looks like it's treating the utilities each voter receives for each candidate as completely independent variables.  I find that model somewhat... disconcerting.  Or at least, unrealistic.

 
For this proportionality test I would construct perfect voting blocs. For N seats, bloc-X voters would field N candidates and vote for them all as a slate with a 0 preference for all other candidates.

I have previously found a problem with that, because in the case of California's 2016 Presidential Election, Libertarians make up 1.85 Hare Quotas of the votes, and while under RRV, they get a seat if they bullet vote, they do not if they give any degree of support to the R or D candidates.  Likewise with the Greens, who accounted for 1.078 Hare Quotas of the vote.   And that was true whether the D and R voters were bullet voting or not.

As such, I believe that your proposal will result in a test not of RRV, but of Harmonically Seated SNTV (Bloc) Voting.

I've always felt that the concept of proportionality gets weird when you start working with Cardinal Voting; how do you count a a A5/B3/C0/D2 voter?  Obviously not as a C, but beyond that?

If I may offer an alternate suggestion?  Perhaps you could generate an election of voters, and either declare them as being a member of whatever party they support most (ie the above voter would be classified as a full A voter, as would a 1/0/0/0 voter) or have their support be proportional to their vote (e.g. 0.5 of an A voter, 0.3 of a B voter, 0.2 of a D voter).


The metric I've been working with to determine goodness of multi-seat election results (though not technically proportionality) is something I've been calling Monroe Score:  The sum utility for all seated candidates, based exclusively on the utility gained by the candidates best represented by each seat.  That is to say, you only consider the utility of one Hare Quota of voters for each seat, and their utility is only considered for that seat, one-to-one style.

The reason I call it Monroe Score is that it is the underlying premise of what I understand Monroe's Method to be (someone please correct me if I'm wrong): Distribute Candidates to Seats and votes to Corresponding Hare Quotas so as to maximize the Monroe Score.   This problem seems NP-Hard, if I understand it correctly, but my Apportioned Cardinal method is an approximation thereof...



So there would be (blocs)*(seats) candidates in every election, which is a bit much but manageable, and I'd run 2..10 blocs and vary their sizes and see if they indeed get a proportional outcome. It is my suspicion that some of the algorithms we're talking about don't actually achieve proportional representation, and I'd like to check that. It's also possible to turn up effects like maybe adding an irrelevant sub-threshold bloc makes some system go non-monotonic and give weight to unexpected other blocs.

That would be very interesting.  I know for a fact that Phragmén's method is non-monotonic, but I don't know about Thiele's method (PAV, RRV).

Ciaran Dougherty

unread,
Aug 20, 2018, 4:23:05 PM8/20/18
to electio...@googlegroups.com
Parker, you're conflating two things that I believe should not be treated as equivalent.

First, you're assuming that Cardinal ballots and Ordinal ballots can be treated as equivalent.  This is obviously not the case; a 5A/4B/3C/0D and 3A/2B/1C/0D ballots have different averages (3 and 2, respectively), while they would be exactly the same Ordinal ballot:  A>B>C>D

Second, you seem to be conflating the idea of averaging across ballots and a ballot internal average.  The former is admittedly weird, but in the latter, it is a legitimate analysis of voter intent.  The "Highest Score for Candidate" method is less preferable, because a 5/4/4/4 ballot would then be selected before a 4/0/0/0 ballot, despite the fact that the former ballot only considers Candidate A one utility point better than the others, while the latter considers them four utility points better.


incorperating unreliable averages can ruin a voting method.

Right, which is why I'm not using ranked ballots, because (as I demonstrated out above) that is where the unreliability comes from.

if a voter had the ability to add an infinate number of write in candidates to their ballot

Good thing that zero electoral systems (that I'm aware of) allows for that, isn't it?


To unsubscribe from this group and stop receiving emails from it, send an email to electionscience+unsubscribe@googlegroups.com.

Jameson Quinn

unread,
Aug 20, 2018, 4:36:28 PM8/20/18
to electionsciencefoundation
Definitely seconding the opinion that "STAR-PR" as described at the link is (relatively) garbage, and something apportioned would be better.

My ordering for choosing which quota of ballots to eliminate is:
Descending order of score for W
Ascending order of score for first-runner-up
Ascending order of score for 2nd-runner-up
etc.

In other words, a lexical sort. By the end, you get to a point where you've eliminated (say) Q-10, and you're eliminating 10 of (say) 18 identical ballots. Since they're identical, it doesn't matter which ones you choose.

Obviously, like most proportional methods, this is non-summable. It's possible to create an approximate version that uses a 2-dimensional co-occurrence matrix and assumes 3-way correlations are captured by 2-way correlations... not true, but probably close enough.

Jameson Quinn

unread,
Aug 20, 2018, 4:38:08 PM8/20/18
to electionsciencefoundation
I'd also suggest including PLACE — but of course, that creates additional complications involving both districts and delegation, so I can understand if you choose not to.
Message has been deleted
Message has been deleted

parker friedland

unread,
Aug 20, 2018, 5:09:45 PM8/20/18
to The Center for Election Science
> and still none of that might tell us if proportionality was achieved

Maximizing logorithmic happyness is the utalitarian definition of proportionality.

Party list methods like the D'Hondt and Sainte-Laguë actually maximize functions that closely approximate the natural logorithem.

Suppose that each voter's tottal happyness was equivalent to the sum of the total number of candidates from their favorite party that got elected. D'Hondt maximizes each voter's happyness after each voter's happyness is plugged into the digamma function ψ(x) and when x approches infinity, ln(x)/ψ(x) approaches 1.

When maximizing utalitarian proportionality, the goal is to increase the average voter's proportional happyness where proportional happyness is defined in such a way that prioratizes voters who are less happy enough to produce desirable proportional qualities. For more information about the utilitarian approach to proportionality, read up on harmonic voting (https://rangevoting.org/QualityMulti.html)
.
To unsubscribe from this group and stop receiving emails from it, send an email to electionscien...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages