## Wiki

Version 5 (Panagiotis Louridas, 05/19/2010 11:34 am)

 1 2 3 1 Panagiotis Louridas `h1. Calculation of Voting Power` 1 Panagiotis Louridas 1 Panagiotis Louridas `This is a project hosting software for calculating the voting power of voters with weighted votes in an assembly.` 1 Panagiotis Louridas 1 Panagiotis Louridas `The software is open source and released under the terms of the "BSD license":http://www.opensource.org/licenses/bsd-license.php.` 1 Panagiotis Louridas 1 Panagiotis Louridas `h1. Overview` 1 Panagiotis Louridas 1 Panagiotis Louridas `A common error is the assumption that, in weighted voting, the power of a voter is their voting weight. In reality, although the weight of a voter is important, we must take into account the weights of the other voters, as well as the decision making rule, in order to arrive at a conclusion about the actual voting power each participant in the vote has.` 1 Panagiotis Louridas 1 Panagiotis Louridas `The term _voting power_ refers to an index that captures the power of a voter to influence the outcome of a voting process. There have been several definitions of voting power in the literature, although they remained outside the discussions of mainstream politics until late in the 20th century; what's more, definitions of voting power were proposed, forgotten, and reinvented during the years. Perhaps the most intuitive definition is the one given by "Lionel Sharples Penrose":http://en.wikipedia.org/wiki/Lionel_Penrose in 1946; according to this definition, the voting power of a voter is the probability that they can swing the vote. This is known as the Penrose index or the "Penrose Banzhaf index":http://en.wikipedia.org/wiki/Penrose%E2%80%93Banzhaf_index, after "John Francis Banzhaf III":http://en.wikipedia.org/wiki/John_F._Banzhaf_III who reinvented the index in 1965.` 1 Panagiotis Louridas 1 Panagiotis Louridas `The index is as follows:` 1 Panagiotis Louridas `* Suppose we have _n_ voters, each with a specified weight.` 1 Panagiotis Louridas `* The voters are free to vote as they please.` 1 Panagiotis Louridas `* All votes are _yes_ or _no_.` 1 Panagiotis Louridas `* There is a rule that decides when a vote passes; it may be 50% of the weights of the proponents (simple majority), or some other figure; in addition, it may require that a number of voters also support (a given quorum).` 1 Panagiotis Louridas `* A voter is critical in a vote if without them the vote does not pass, but with them it passes. That is, the vote must be a swing vote, decided by the voter.` 1 Panagiotis Louridas `* Count the number of critical votes for a voter.` 1 Panagiotis Louridas `* Take all possible partitions of voters in yes and no camps.` 1 Panagiotis Louridas `* Divide the number of critical votes for a voter by the number of all possible voter partitions.` 1 Panagiotis Louridas `* The result is the probability that the voter can swing a vote.` 1 Panagiotis Louridas 1 Panagiotis Louridas `The above definition does not lead to a practical procedure for non-toy problems, as suffers from combinatorial explosion regarding the enumeration of swings and the partitions; hence, one has to find an alternative method to calculate it for many real-world assemblies.` 1 Panagiotis Louridas 1 Panagiotis Louridas `h1. The Software` 1 Panagiotis Louridas 2 Panagiotis Louridas `The software consists of a "Perl script":http://code.grnet.gr/projects/voting-power/repository/entry/voting_power.pl that calculates the Penrose index. It calculates the index by a Monte Carlo method: it generates a large number of voter groups and determines the percentage of those where a voter is critical; this is the Penrose index for the voter. Currently it does not give a confidence interval for the estimate it provides; however, since there will be a number of voters with identical weights, one can check how accurate the results are by noting the differences between voters with identical weights.` 2 Panagiotis Louridas 3 Panagiotis Louridas `To use the program, type` 3 Panagiotis Louridas `
`
3  Panagiotis Louridas  `perl voting_power.pl < voter_file`
3  Panagiotis Louridas  `
` 3 Panagiotis Louridas 3 Panagiotis Louridas `The input file is a text file containing in each line the id of the voter, a colon, and the number of votes, e.g.:` 3 Panagiotis Louridas `
`
3  Panagiotis Louridas  `France:4`
3  Panagiotis Louridas  `Germany:4`
3  Panagiotis Louridas  `Italy:4`
3  Panagiotis Louridas  `Belgium:2`
3  Panagiotis Louridas  `Netherlands:2`
3  Panagiotis Louridas  `Luxembourg:1`
3  Panagiotis Louridas  `
` 3 Panagiotis Louridas `(These were the weights of the countries that formed the first European Economic Community in the "Treaties of Rome":http://en.wikipedia.org/wiki/Treaties_of_Rome in 1957 - 1958. Interestingly, Luxembourg had a vote but no voting power.)` 3 Panagiotis Louridas 5 Panagiotis Louridas `The operation of the program is specified by the following switches:` 3 Panagiotis Louridas `
`
3  Panagiotis Louridas  `-q, --quorum`
3  Panagiotis Louridas  `     Set the quorum (number of voters required to reach decision)`
3  Panagiotis Louridas  `-s, --samples`
3  Panagiotis Louridas  `     Set the number of samples`
5  Panagiotis Louridas  `-t, --threshold`
1  Panagiotis Louridas  `     Set the threshold (amount of votes required to pass)`
5  Panagiotis Louridas  `-p, --percent`
5  Panagiotis Louridas  `     Output results as percentages`
5  Panagiotis Louridas  `-v, --verbose`
5  Panagiotis Louridas  `     Outputs group information (very large output)`
5  Panagiotis Louridas  ` -h, --help`
5  Panagiotis Louridas  `     Print this help screen     `
3  Panagiotis Louridas  `
` 3 Panagiotis Louridas 2 Panagiotis Louridas `h1. Support` 2 Panagiotis Louridas 2 Panagiotis Louridas `For questions, comments, suggestions, etc., you may contact its author, Panos Louridas. The address is the author's surname at the hosting organisation (grnet in greece). `