Wiki

Version 3 (Panagiotis Louridas, 05/07/2010 03:50 pm)

1 1 Panagiotis Louridas
h1. Calculation of Voting Power
2 1 Panagiotis Louridas
3 1 Panagiotis Louridas
This is a project hosting software for calculating the voting power of voters with weighted votes in an assembly.
4 1 Panagiotis Louridas
5 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.
6 1 Panagiotis Louridas
7 1 Panagiotis Louridas
h1. Overview
8 1 Panagiotis Louridas
9 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.
10 1 Panagiotis Louridas
11 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.
12 1 Panagiotis Louridas
13 1 Panagiotis Louridas
The index is as follows:
14 1 Panagiotis Louridas
* Suppose we have _n_ voters, each with a specified weight.
15 1 Panagiotis Louridas
* The voters are free to vote as they please.
16 1 Panagiotis Louridas
* All votes are _yes_ or _no_.
17 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).
18 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.
19 1 Panagiotis Louridas
* Count the number of critical votes for a voter.
20 1 Panagiotis Louridas
* Take all possible partitions of voters in yes and no camps.
21 1 Panagiotis Louridas
* Divide the number of critical votes for a voter by the number of all possible voter partitions.
22 1 Panagiotis Louridas
* The result is the probability that the voter can swing a vote.
23 1 Panagiotis Louridas
24 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.
25 1 Panagiotis Louridas
26 1 Panagiotis Louridas
h1. The Software
27 1 Panagiotis Louridas
28 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.
29 2 Panagiotis Louridas
30 3 Panagiotis Louridas
To use the program, type
31 3 Panagiotis Louridas
<pre>
32 3 Panagiotis Louridas
perl voting_power.pl < voter_file
33 3 Panagiotis Louridas
</pre>
34 3 Panagiotis Louridas
35 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.:
36 3 Panagiotis Louridas
<pre>
37 3 Panagiotis Louridas
France:4
38 3 Panagiotis Louridas
Germany:4
39 3 Panagiotis Louridas
Italy:4
40 3 Panagiotis Louridas
Belgium:2
41 3 Panagiotis Louridas
Netherlands:2
42 3 Panagiotis Louridas
Luxembourg:1
43 3 Panagiotis Louridas
</pre>
44 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.)
45 3 Panagiotis Louridas
46 3 Panagiotis Louridas
The voting rule is specified by the following switches:
47 3 Panagiotis Louridas
<pre>
48 3 Panagiotis Louridas
-q, --quorum
49 3 Panagiotis Louridas
     Set the quorum (number of voters required to reach decision)
50 3 Panagiotis Louridas
-s, --samples
51 3 Panagiotis Louridas
     Set the number of samples
52 3 Panagiotis Louridas
 -t, --threshold
53 3 Panagiotis Louridas
     Set the threshold (amount of votes required to pass)
54 3 Panagiotis Louridas
</pre>
55 3 Panagiotis Louridas
56 2 Panagiotis Louridas
h1. Support
57 2 Panagiotis Louridas
58 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).