This is mainly a link dump post of some interesting things I’ve read about voting, mostly recently.
Michael Sproul recently wrote an independent Rust implementation of the Australian Senate voting rules. His post about it on medium and the source code. Basically: Australian Senate uses a fairly vanilla STV variant with some weird rules about ballots, but it’s counted electronically on proprietary software that is not made publicly available. He wanted to be able to reproduce the results, so read through a bunch of legalese and turned it into code. The ballots cast are made available as CSV files. Fortunately either the election wasn’t rigged or the people rigging the election were smart enough to rig the voter data too.
But they probably didn’t, because ranked ballots are trivially deanonymizable using the ballot-as-signature attack. So as much as I love weird voting systems and love open data, you’re not really supposed to combine the two like Australia is.
Another reason I’m glad to have read the article and the rust implementation is that it cleared up something I’d been wondering about with how rounding is handled in fractions when implementing STV. The answer is simply that the legislation specifies a number of decimal places of precision.
I ran into this again in this nice piece arguing that Scotland should have used Meek STV instead of the Weighted Inclusive Gregory Method (if I’m honest, I’m not sure what the difference between WIGM and what I think of as “normal” STV is), which mentions that New Zealand specifies nine decimal places of accuracy for calculations.
Both of these clear up some of my concerns with the Meek method. At least people are thinking about this.
On a non-STV proportional relation subject, this one page explanation of why D’Hondt voting works the way it does is excellent and basically cleared up up any confusion I had on the subject.
I’ve also been reading about Borda-STV and Dummet’s Quota-Borda system. I’ve yet to be super convinced by the quota Borda system (mostly because of doubts about how it handles overlapping coalitions that I’ve yet to resolve), but Borda-STV on the other hand just looks like a solidly good idea: It’s more or less the thing I proposed as generalized STV, but in a way that can be regarded as the minimal change you can make to STV to improve it: Instead of having the candidate with the fewest first choice preferences in the current round drop out, you calculate the Borda count off the initial votes and the candidate who drops out in each round is always the unelected candidate with the lowest ranking in that. This has a number of appealing features for reducing the chaos of STV and ensuring a broadly more popular parliament. I think this might fall into the category of “Given this system exists there’s not really a reason to use the more common but worse variant” that I put Approval voting into.
On the other hand, Borda count is not without its problems The ultimate of chaos resulting from weighted voting systems, Donald Saari proves a result that really is spectacular enough to justify that title: Given N sufficiently different weighting systems (i.e. values \(w_1, \ldots, w_n\) such that each vote gives the candidate it ranks in position \(i\) a score of \(w_i\), which are linearly independent when viewed as vectors), and \(n\) different permutations of the candidates \(\sigma_1, \ldots, \sigma_n\), there is some voter profile such that when run with weighting \(i\) the outcome ranking is \(\sigma_i\). i.e. different weighting systems produce arbitrarily different results under some voter profiles! I confess I have only skimmed the methods section of this paper, but the result is really interesting and the contents look pretty approachable if you have some linear algebra background, I just haven’t got around to it.
This isn’t necessarily an obstacle to using Borda, you just have to be very clear up front about what your choices of weightings are designed to promote (e.g. how much more do you really want to weight first preferences than second). Of course you could just let voters decide how much they want to weight those votes using Range Voting but uh it turns out that in the presence of tactical voting, Range Voting is more or less just equivalent to Approval Voting (in large electorates).
That paper also contains a fairly spectacular result (which is an extension of a result in an earlier paper that I don’t have access to): Under any set of preference profiles, and for any candidate that is not the Condorcet loser for the true rankings under those profiles, there is a trembling hand perfect equilibrium (My game theory is a bit weak, so I do not entirely understand what this means, but the result is interesting even if you replace trembling hand perfect equilibrium with Nash equilibrium) where that candidate is the plurality voting winner. The extension in this paper is that this also works for Cumulative Voting (which in large electorates it shows is tactically equivalent to plurality voting). This whole paper is lovely and I strongly recommend reading it.
Anyway, so if you’re using Range Voting you might as well use Approval Voting instead (this has always been my suspicion). It’s a good thing Approval Voting is so tactically simple and nothing complex can happen in it, right? Oh, uh, about that. This paper has some pretty bad examples of what tactical voting under Approval voting can look like. In particular the third example shows a case where there’s another trembling hand perfect equilibrium where one of the voter’s strategy is to cast an insincere vote: They prefer the first three out of four candidates, but in this equilibrium they only vote for the first and the third. Again, my game theory is a bit weak, so I don’t understand all of this paper, but the examples themselves and some of the features of them are very easy to follow. This paper also has an example of an equilibrium where the Condorcet winner is elected with very low probability, but the only stable (also not entirely clear on the significance of “stable” here) equilibrium for plurality voting elects the Condorcet winner. This somewhat calls into question my “There is no point in using Plurality voting when Approval voting exists” stance, but I think I’m going to stick with it until I’ve thought about it a bit more.
In conclusion, voting is hard. Maybe we should just embrace the chaos, go back to our classical roots, and use the ten round system of alternating lotteries and approval votes that they used to elect the doge of Venice.
On the less link dumpy side, I’m currently parallel reading both of the following books which I can recommend reasonably strongly:
- Principles of Electoral Reform is a nice little book (which I recommend buying second hand rather than for the rather steep first hand price) which is a good primer on both some of the basics of voting theory and more generally about how to think about electoral reform and its role in society.
- Electoral Systems: A Comparative Introduction is a great account of what electoral systems look like in actual practice rather than in theory. I realised I was quite light on that, and I’m finding the extra context very helpful.