Traditional voting schemes contain many contradictory aspects since they try to find a balance between fairness and practicality for hand-counting. There are many "sanity" conditions that try to identify good voting schemes from bad ones. An example is that if we uniformly increase the preference given to a particular winning candidate in each vote, then the candidate should remain a winner. It is well-known that many of these sanity checks are contradictory, and that many voting schemes used around the world fail some of them. The recent use of computers to count votes opens the possibility to design new voting schemes which are optimised to satisfy as many of these conditions as possible since we will no longer rely on error-prone hand counting. But how do we analyse voting schemes ?
Our goals are to design logic-based sanity conditions which can tell good voting schemes from bad ones. By using formal logic, we can use a whole host of automated reasoning techniques to reason about voting schemes. The project is to become familiar with our work and extend it to cover more voting schemes.
You should have a good background in maths and theoretical computer science as the project is based on logic. No programming skill is required.
See the related web links.
Successful completion is likely to lead to a conference publication.
single transferable voting majority rule