Symmetric Quantile-Normalized Score
-
This is an adjustment to this system that aims to reconcile the insightful concerns of @Jack-Waugh and @Toby-Pereira:
The adjustment is a final processing step that simply forces the final values associated with quantiles after normalization to have a symmetry that preserves the cancellation property of score while still enabling a form of quantile normalization:
If the normalized quantile values are Q(0), Q(1), Q(2), ..., Q(N), then transform them as, for example,
Q(K) --> Q*(K) = Mean[Q(K), (Q(N)-Q(N-K))].
Assuming that Q(0)=0, Q(N)=1, and that N is even for simplicity, this satisfies the following properties:
Q*(0) = 0
Q*(N) = 1
Q*(N/2)= 1/2and
Q*(N-K) = 1-Q*(K).
This ^ is actually the desired property, and it can in principle be imposed in other ways. For example, rather than the Mean of Q(K) and (1-Q(N-K)), some other doubly-monotone, symmetric function could be applied.
I've written a Jupyter notebook that performs the normalization, here is the github repository:
https://github.com/cfrankston728/symmetric_quantile-normalized_score/I give an example where symmetric quantile-normalized score voting (SQNV) does not elect the Condorcet winner. However, it is far more resistant to bullet and min-max tactics than ordinary score, and based on my empirical observations, it seems generally more likely to converge to the Condorcet winner than score. I also have a suspicion that it is Condorcet compliant when there are 3 candidates.
My next question is whether it satisfies independence of irrelevant alternatives, which I’m not certain about.
I think a very good method would be Condorcet//SQNV//Score.
-
I'd just like to say this looks great and I'm very interested in seeing more! Quantile-normalization like this is very common in statistics. This has one especially nice advantage—it eliminates the "arbitrary number" criticism often made of score voting, which is that voters can assign arbitrary scales to their feelings of support/opposition for candidates that might not line up. Quantile normalization gives an equivalent, statistically well-defined scale for every voter.
-
@lime thank you! I think it’s good too, it has its peculiarities. I’m writing a small paper on it, just giving examples of certain properties. For example as mentioned it is not Condorcet compliant. I also suspect it may fail independence of irrelevant alternatives (IIA). However, I believe that it does satisfy:
- Participation
- Consistency
- Independence of clones
I still want to prove (or disprove) these formally but have limited bandwidth at the moment.
About IIA, I haven’t constructed a counterexample and don’t see an obvious route to a proof. Either one might exist as far as I can tell, I just haven’t supplied the attention necessary to find one or the other. It would be great if IIA were somehow satisfied in all cases but I have doubt about it.
Condorcet compliance isn’t an end-all-be-all for me, it’s interesting and compelling if existence is given, but it is incompatible with participation, so some people may even see failure of strict Condorcet compliance as a positive thing. I think the main argument is about hypothetical stability or equilibrium of victory, but there are other factors in voting such as agreement on procedure and perceptions of fairness on those grounds that can counteract majoritarian upheavals, especially when the marginally dissatisfied “majority” is utterly disorganized.
Also, even if IIA is not satisfied in every case, it may still be worthwhile to forgo it for other benefits, especially if failures are infrequent in practical use cases. It seems tricky to normalize scores in a reasonable way while immediately guaranteeing the preservation of certain properties.
Lastly, just theoretically, in the case that IIA is not strictly satisfied, I wonder whether it is somehow possible to modify the definition of something like SQNV to force IIA to be satisfied, maybe with some kind of recursive checking procedure.
-
I'm still intending to look at this.
-
@toby-pereira I tried to make the README more informative, the code "voting_explorer.ipynb" might not be as user friendly as I would like but if you know Python it can be imported and messed with.
-
There are some peculiarities of SQNV that I’m now contemplating, here are some of the details:
Firstly:
If voters can freely repeat scores on their ballot, there are tactical implications. Specifically, the prospect of repeating the maximum (or minimum) score value on a SQNV ballot without additional modifications to the system introduces a trade-off, because the final score value a candidate receives from a ballot will be the average of that candidate’s score’s quantile values within that ballot.
This means, for example, that if exactly K candidates are scored at maximum on a ballot, then those candidates will not all automatically receive the maximum normalized score value from that ballot, but rather they will each receive the average of the top K normalized score values. This average is never more than the maximum, and is almost sure to be strictly less, since it can only decrease or stay the same as K increases. In fact, if there are M candidates, it is impossible for more than M/2 candidates to ever receive the maximum normalized score from a ballot.
If that ballot's voter has a true unique favorite, then giving the second-favorite the same score as the first-favorite, for example, will have the effect of reducing the favorite's score in order to increase the second-favorite's score. In other words, by repeating the maximum score, the voter effectively bolsters a larger bloc of candidates using a “maximum" score, but pays for this with a corresponding reduction in the efficacy of that maximum score's value on their ballot.
This trade-off means that the interest of maximizing support for a favorite candidate may be in conflict with the interest of maximizing support for a bloc of candidates. Whether or not to indicate indifference by repeating the maximum (or minimum) score value on a ballot then becomes a tactical question, where a voter might make their decision based on speculations about risks and rewards, the realizations of which will depend on the behavior of other voters.
This dilemma can in theory be averted by disallowing repeated scores. In this context, though, that may be contentious, since in principle, indications of indifference should not be disallowed or discouraged. I think possibly this more subtle tactical behavior might just be the price to pay to resist the effects of bullet voting and min-maxing without resorting to strict ranking, so that voters should consider, navigate, and respond to it in the same way that they would in any other particular voting system.
Secondly:
Because a voter’s ballot will affect the final normalized score values and therefore its effects, while individually negligible, are inextricable from all other ballots, it isn’t actually clear that the participation criterion is strictly guaranteed in every case. However, it is practically guaranteed, since the end result, while marginally contingent on every individual voter’s ballot, is essentially fixed by the global electorate.
Thirdly:
Historical data about final normalized quantile score values may influence tactical behavior—for example, examining the elbow points for the top and bottom score positions may inform strategic min-maxing behavior. It may ultimately converge in behavior to that of a fixed positional score system with symmetric scores.
-
@cfrank I've read the thing you wrote here. Unfortunately I'm not that good at reading notation-heavy stuff. Is there an idiot-proof verbal description of the method, with perhaps how it would work in an example? Thanks!
But having read the general description, it seems that unlike the previous version, rather than simply quantile-normalising the scores, it also makes it symmetrical, so I'm guessing it does something like splitting the difference between the quantile-normalised top score difference from 1 and the bottom score difference from 0 and applies this difference to both of them. (And also the same with 2nd to top and 2nd to bottom etc.)
-
@toby-pereira thank you for checking it out!
Your description is on the right track, I thought it was correct until I realized it might be a bit different and I would need more clarity about what you mean by splitting the difference.
For each j, SQNV adjusts the jth quantile rank score by finding the average between the jth-highest score and 1 minus the jth-lowest value. This might be the same as what you described but I’m not sure.
Then, it uses those symmetrically adjusted values in the same way as would be used if they were the quantile values in an ordinary quantile normalization.
I’ll have to make a few transparent examples at some point.
-
@cfrank Basically, I meant that if e.g. the top score would be 0.9 and the bottom score 0.2 in the non-symmetric version, they would become instead 0.85 and 0.15 - the same average gap from the ends. Is that right?
-
@toby-pereira yes, that’s exactly right. I didn’t conceptualize it that way initially, but it is another way of describing the same adjustment.
With (m+1) candidates, and assuming k <= (m-k), the computation by the formula for your example would be as follows:
If q[k]=0.20, and q[m-k]=0.90, then
q’[k]=(q[k]+(1-q[m-k]))/2
=(0.2+0.1)/2=0.15and
q’[m-k]=(q[m-k]+(1-q[k]))/2
=(0.9+0.8)/2=0.85exactly as you said. The general result is proved here:
Proof:
By definition, for each k among 0,1,2,…m,
q’[k]:= 1/2(q[k]+(1-q[m-k]))
which is also
(q’[k]-0)= 1/2((q[k]-0)+(1-q[m-k])).
Also, you can check the following symmetry condition (which is true by design):
q’[k]+q’[m-k]=1
—> (q’[k]-0)=(1-q’[m-k]).Substitution into the previous result gives
(1-q’[m-k])= 1/2((q[k]-0)+(1-q[m-k])).
QED
Also, rearranging the symmetry condition, we find
(q’[m-k]-1/2)=(1/2-q’[k]).
With substitution of the definition of q’[m-k] on the left hand side, this is also
=1/2(q[m-k]+(1-q[k]))-1/2
=1/2(q[m-k]+(1-q[k])-1)
=1/2((q[m-k]-1/2)+(1/2-q[k])).So you can average the difference from the middle rather than the ends, the result is the same.
In fact, for any p in the interval [0,1],
(q’[m-k]-p)=((1-p)-q’[k])
which by substitution is
=1/2(q[m-k]+(1-q[k]))-p
=1/2(q[m-k]+(1-q[k])-2p)
=1/2((q[m-k]-p)+((1-p)-q[k])).I have the intuition that it might be tactically advantageous to cast a pre-symmetrized score ballot with a shape that the voter finds most equitable as a representation of their preferences. I haven’t thought that through fully, it may not make a difference. Effectively a voter is voting for candidates and for the final positional scores that will be used.
-
As with the previous version of this, I do ultimately think this method is going to be somewhat Borda-like, with all the problems that it entails, including terrible burial behaviour and poor clone behaviour.
Edit - I suppose my main question is: In practice what would this method do differently from Borda to make it better?
-
@toby-pereira I will have to compare with Borda. You’re right that burial definitely seems to be an issue. I think clone behavior is mitigated to a large degree by the normalization, but that remains to be seen in practice.
-
@toby-pereira I believe burial is significantly more risky with SQNV than with Borda, due to the general non-linear and unknown nature of the final normalized positional scores. Burying a second-favorite front runner below the top half of one’s ranks significantly increases the risk that a turkey will win, and “half burying” the second-favorite (placing them just above the half way mark) still may provide a fair deal of support for that candidate. It’s really risky to place turkeys above the half way mark unless absolutely necessary for the same reason.
This of course doesn’t necessarily stop turkey raising and burial from happening, but the non-linearity introduces significantly more severe deterrence against burial and turkey raising for a rational voter. At the same time, SQNV frequently elects the Condorcet winner (I would say “more frequently than score” for example, but that would be based anecdotally on the examples I’ve observed).
I think one step for analysis would be to see if SQNV elects the Condorcet winner in cases where Borda does not. My guess is that this happens quite often, which would be a heuristic indication that SQNV generally has better burial resistance than Borda.