What Arrow's Impossibility Theorem Really Means
Arrow's impossibility theorem is frequently cited in the discussion between ordinal and cardinal voting systems, with the idea that AIT only applies to ordinal voting systems. It is true that Arrow was only looking at ordinal systems, with the goal of a social welfare function (SWF) that took as input a collection of individual preference orders and returned a collective order. But what Arrow actually proved was his conditions were inconsistent. Specifically, his condition allowing voters to have unrestricted preference orders (citizen sovereignty or CS) is inconsistent with the idea that a majority preference of B over A would somehow be reversed by the introduction of some alternative C.
The Independence of Irrelevant Alternatives (IIA) condition seems reasonable at first glance. Yet there is a real question about what is meant by irrelevant. Ignoring ties, there are four possible states for an electorate preferring B over A created by the introduction of C, and at least two of them are highly relevant to the collective choice.
- When both B and A are preferred over C, there is no problem, and B remains the collective choice.
- When B is preferred over C and C is preferred over A, there is still no problem because B remains the collective choice.
- When C is preferred over both A and B, it can be argued that C is anything but irrelevant, and the collective choice should now be C.
- When A is preferred over C and C is preferred over B, the introduction of C creates a majority cycle. This is also extremely relevant because the cycle creates something like an equivalence class. This is a problem because the selection of any one of the three alternatives requires the SWF to reverse a known majority preference.
It is easy to come up with preference profiles that result in majority cycles, such as this one:
|-----------------+-------+-------+---------------+-------+-------| | voter region | order | count | voter region | order | count | |-----------------+-------+-------+---------------+-------+-------| | left top | A>B>C | 15 | right top (B) | B>A>C | 19 | | left middle (A) | A>C>B | 18 | right middle | B>C>A | 15 | | left bottom (C) | C>A>B | 15 | right bottom | C>B>A | 18 | |-----------------+-------+-------+---------------+-------+-------|
In this preference profile A is preferred over C by 52 to 48, C is preferred over B by 51 to 49, and B is preferred over A by 52 to 48. But just coming up with a preference profile doesn't really help us understand why the voters would have these preferences, or how common they might be in a real election.
To get a better sense of this type of cycle, it helps to put the election in some type of context. In this case, consider a group of 100 voters in a small community trying to determine a location for a common resource such as a cell tower. Each voter has an ideal location (gray dot) and their utility of the resource is inversely proportional to the distance the single tower will be from their ideal. The locations are indicated by labeled locations (black dots) A, B, and C. In the two images, the voters are positioned identically, and the indifference lines (perpendicular bisectors between each pair of alternatives) are also identical. The only difference is the alternatives in the right image have been moved closer to the center.
The first point I want to drive home here is that majority cycles are real and are the result of real voter utilities for the specific alternatives in the cycle. The voting method is irrelevant to the existence of cycles. When there is a cycle, the use of a cardinal voting method does not magically make that cycle go away.
The second point I'd like to make is that no voting system that tries to do everything in one or two rounds can pick a good collective alternative when all the alternatives are collectively bad. The differences between the alternatives in the left image and those in the right image are what drove me to work on iterative voting systems.
For clarity the strict statement of Independence of Irrelevant Alternatives is:
If every voter's preference between A and B remains unchanged, then the group's preference between A and B will also remain unchanged with the addition of a new candidate C.
Why people talk about Arrow's theorem is not so much about that or even about the issue of cycles. It is about Monotonicity. This is pretty much the worst way to fail IIA and the most popular single winner system does this.
BlainCellars last edited by
Is the program that you're using to analyze scenarios and display things available online?
@BlainCellars the code I use is what I cobbled together since I started looking at voting systems and trying to figure out what worked best. Much of my work was done without consulting the (somewhat vast) literature on voting theory, and the tools and processes I used to help me think about things are all either free/open source or my own coding. This specific graphic was originally developed using Gnu Emacs with the svg package. Since the discussion code on this forum does not accept svg files, I used inkscape to convert the svg image into a png file.
More generally, when I started looking into the problem of voting I started with NetLogo because it provides an easy graphic display for agent-based models. Using NL, I could create and display 100 voter-agents randomly distributed in a 2D field, then create some alternatives for them to vote for under whatever system I was looking at. It worked great for a while, but as my questions got more involved, and my code-base became more extensive I realized I needed something a little more robust. I switched to Python because it allowed me to write tests for my code and make it more reliable.
At the moment my code is not well documented and is in need of refactoring. So while I can get it do to a number of interesting things I'm not sure how useful it would be to anyone else. On the other hand, I think it might be very useful for voting theorists to have easy access to spatial models. There is a data hierarchy to the various electorate models I've seen in recent voting theory papers. Tournaments have the least amount of data and have essentially eliminated the electorate altogether. Preference profiles have an electorate but lump voters together based on preference orders without any indication of the relative strength of individual voter preferences. Lists of individual voters with randomized utilities for each alternative allow some comparisons, but are still limited in that they really can't handle the addition of alternatives. Spatial models allow just about everything and are known to cover all possible tournaments, preference profiles, and utility models.
I'm assuming you have something in mind with your inquiry about programs. What are you looking for? Are you looking for images of electorates? Or do you want an election simulation environment for running tests and evaluations? I am thinking of putting my code on GitHub, but it will take a lot of work before it is ready for someone else to use. Are you looking for an answer to a specific need? Or are you willing to be an alpha-tester for a generic voting system evaluation framework? And more generally, would people such as the folks on this forum be interested in such an evaluation framework?
(This was a bigger answer than I suspect you wanted, but perhaps it will get us further in our collective quest for better collective decisions.)
BlainCellars last edited by
@tec Your programming skills are FAR beyond what I can do. I started exploring voting options about 7 months ago, and seeing that IRV sometimes selects an outcome that is clearly not the best choice, it occurred to me that looking at the second choice of the ballots of the runner up made sense. That led to a sort of double-elimination approach. Using a spreadsheet to lay out a few scenarios, it appeared that the approach had some promise. Unable to find anyone to help me, I managed to create some php webpages that can be used to evaluate scenarios. Testing with that I found some anomalies so progressed to a hybrid approach. So far, it's checking out just fine.
I like the visual layout that you provided, and I haven't seen anything with the "indifference lines". It's similar to this: https://ncase.me/ballot/, which you're probably familiar with. I'd like to be able to start with ballot numbers and then have them displayed, rather than being limited to manipulating the image (which I think is fantastic too).
I was wondering too if your program calculates the distance between the two other options and then sets the second choice as the closest one.
Here's a link to the crude pages that I put together: https://wethepeople.ca/WTP_IRV-DEp1tester.php
I would definitely like to collaborate with you on an "evaluation framework".