By the way, this is a Condorcet "Voting Machine" applet that I originally wrote back in 2010 for the HGAA. The original version also supported a few other voting methods, but I've slimmed it down for this version.
It's pretty simple. The top window is the list of ballots (one ballot per line) and the bottom is the results. Each "ballot" line in the top window represents the ordered preferences of one voter. The choices are typically letters, but you can use numbers or even words (without embedded spaces). You just list the choices on each line (each "ballot") in the order that they're preferred by each voter. The favorite choice is listed first and the least favorite is listed last. Any choices that are considered equal can be separated by an equals sign (=). When you press the "Run Voting Test" button, it compares every candidate to every other candidate in a series of exhaustive "one on one" runoffs. It then tells you (in the bottom window) if there is any candidate that defeats all other candidates. It also gives you a complete description of how each candidate would do in each pairwise "runoff". The program comes up with a default election (series of votes), but you can change the votes any way you like and then press "Run Voting Test" to see the results. This is the kind of tool we can use for experiments and to show each other examples of things that we like or don't like in a voting system. Please give it a try.
Also, I'm curious who can actually see this application (meaning that your browser supports Java Applets) and who can't. Please let me know either way so I can get a sense of whether we can even use this technology or not. Thanks!!
- Voting019_Applet.png (28.53 KiB) Viewed 526 times
-- Examples --Here are a few examples you can use. Just copy each group of ballots into the top window (deleting everything else first) and push the "Run Voting Test" button to see the results.
This first example is the set of ballots that the program uses when it starts up. Take a look at them and think about which candidate (A, B, C, or D)
you think should "win" from these ballots. Then, when you think you have an answer, press the "Run Voting Test" button to see which one would beat all others. You might be surprised.
C B A D
A C B D
B C A D
A D C B
D C B A
This next example ("Rock Paper Scissors") shows a set of ballots for which there is no winner.
rock scissors paper
paper rock scissors
scissors paper rock
Here's an example of the actual votes used to ban Scott from the HGAA back in 2010:
Yes
Yes
No
No
Yes
Yes
No
No
Yes
No
No
You'll notice that since the choice is either "Yes" or "No", this case degenerates to a simple majority ... as it should. In other words, more voters opposed the ban than approved it. But the crazy Range voting system that Jack used allowed all sorts of "gamesmanship" into the election, and that's why Scott was banned. The moral of the story is that voting systems really do matter!!
Moderator's Note - October 11, 2022: Over time, the "Java" plug-in has fallen out of favor with many web browsers, and the Java applet which appears in this post may not be visible in many modern browsers. For this reason, an image was added which shows what the applet might have looked like in the original post. For those who do have Java installed and enabled, the original applet should still be functional along with the newly added image. Additionally, the original "Voting019.jar" file has been added as an attachment to this post. This attachment can be downloaded and run from the command line with a command similar to "java -jar Voting019.jar" (without the quotes).