-
Notifications
You must be signed in to change notification settings - Fork 14
Voting systems
This was a fun problem, and people seemed to enjoy working on it. It was harder than I thought it would be, though, and while most groups managed to get semi-working ranked ballot systems by the last round, no one moved on to other systems.
I find that I'm fairly consistently over-estimating how long things will take. Every once in a while a pair comes together who both know the language and the editor and both have experience with problem solving, and they'll burn through the problem and have nothing left to do for 30 minutes.
This is definitely one of those problems: 15 minutes of effort should be enough to build a single voting system, with maybe another five or ten for each additional. So I came prepared with a large number of systems in case anyone got bored.
As it turns out, though, the programmers with greater ability want to challenge themselves more, so they pick languages they don't know very well, which flattens out the ability curve and everyone does approximately the same amount. I'd prefer that some groups pushed further, throwing down the gauntlet and raising the pressure a little, but it's also nice to have relaxed sessions.
The moral is that it's easy to prepare far more challenges and options than are actually going to be needed in practice, and that at least for the first round it's best to just present a very simple problem and let it breathe.
Repo: https://github.com/CodeRetreatTO/projects/tree/master/2014-06-voting-systems
In honor of voting day and the start of the world cup we'll be putting on our psephologist hats and building a voting system for the football hall of fame!
We'll be mostly looking at ranked ballot[0] styles of voting, but if you have a different favorite you can try that too. In particular we'll implement the Borda count[1], STV[2], Coombs' method[3], and Instant-runoff[4]. We'll look at whether we have a Condorcet winner for a particular set of ballots[5], and check the Banzhaf power index[6]. (And maybe random ballot methods! [7])
- http://en.wikipedia.org/wiki/Ranked_ballot
- http://en.wikipedia.org/wiki/Borda_count
- http://en.wikipedia.org/wiki/Single_transferable_vote
- http://en.wikipedia.org/wiki/Coombs'_method
- http://en.wikipedia.org/wiki/Instant-runoff_voting
- http://en.wikipedia.org/wiki/Condorcet_winner
- http://en.wikipedia.org/wiki/Banzhaf_power_index
- http://en.wikipedia.org/wiki/Random_ballot