Hi,
Recently I have been interested in the method "Rule X," introduced in this paper as well as section 3.5 of this paper. There are rigorous definitions there, so in this post I'll try just to give intuition and informal descriptions.
I will describe how it works on approval ballots, then how I have attempted to extend it to score.
The basic idea is: each voter starts with $1 (or just voting power 1, but money is a more fun metaphor). A candidate costs a Hare quota $q to elect. We can interpret an approval from a voter as willingness to spend their remaining budget to elect that candidate. Rule X sequentially chooses the candidate who can be purchased for $q at the lowest uniform price (not exactly uniform since some voters may exhaust their entire budget).
It's quite similar to, for example, Sequentially Spent Score, so let's compare the differences (using approval ballots!). Say the quota is $20. There are 35 supporters of candidate A who indicated a willingness and ability to pay $28 at $0.8 each. There are 30 supporters of candidate B who indicated a willingness and ability to pay $30 at $1 each.
SSS would choose B on this round, since the indicated demand is higher. Rule X would choose A on this round, since the price per supporter is lower. For each method they remove $q from the budgets of the supporters of the winner, but they also do this in different ways.
SSS treats a voter's remaining budget more like a multiplicative deweighting (yes I know this is handwavey), and subtracts a fraction of the $q in proportion to that voter's indicated willingness and ability to pay. On the other hand, Rule X treats a voter's remaining budget more like a subtractive deweighting, and chooses to subtract uniformly the smallest price possible such that if all the supporters pay that (up to their remaining budget) it will equal $q.
The reason I am interested in this rule is its excellent axiomatic characteristics. It satisfies Extended Justified Representation (EJR) and is a logarithmic approximation to the core.
I have extended Rule X to scored ballots with the following principle: when a voter gives a candidate a score of s < 1, then all payments made by that voter to elect that candidate should be made with efficiency s, so if a voter has scored a candidate 0.3 then for price set at 0 < p <= 1 they will spend 0.3p. I'll illustrate this by way of example, but I can draw up a formal definition if the example does not make it clear enough what I'm doing.
- There is a coalition of 22 voters for candidate A with $0.6 remaining who scored A as 0.7
- There is a coalition of 31 voters for candidate A with $0.35 remaining who scored A as 1.
Say the quota is again $20. Then the price p is the solution to 22*0.7*min(p, 0.6) + 31*1*min(p, 0.35) = 20 so the price will be set at p = $0.458. The coalition of 31 voters will be exhausted and the coalition of 22 voters will spend 0.7*p = 0.32 each to be left with $0.28 remaining.
If there is no other candidate that can be purchased for a price of lower than $0.458 then A will be selected and the ballots will be spent as above.
You may ask "what if no candidate can get a full quota of demand?"
This is a good question. What the authors of the method suggest is just to give every voter a little money uniformly until some candidate can be purchased (this is seq-Phragmen). Alternatively, it could just iteratively selected the highest-demand candidate and completely exhaust the budgets of its supporters. Note that this is exactly what SSS and Allocated Score do, so they run into the same problem of 'unaffordable' candidates, just it is a little harder to see.
There is already significant discussion in those papers about Rule X in general. Of course, if there are glaring issues with the approval variant that would be important to hear, but what I am more interested in is an evaluation of my attempt to extend it to score ballots.
- Does the scored variant have any holes in terms of quality or strategic behavior?
- Is this the most natural way to extend Rule X to scored ballots or is there another that makes more sense?
Looking forward to hearing thoughts, and again if my informal definition-by-example is not sufficient I am happy to provide pseudocode or a real formula.