Computing the Power Distribution in the IMF

The International Monetary Fund is one of the largest international organizations using a weighted voting system. The weights of its 188 members are determined by a fixed amount of basic votes plus some extra votes for so-called Special Drawing Rights (SDR). On January 26, 2016, the conditions for the SDRs were increased at the 14th General Quota Review, which drastically changed the corresponding voting weights. However, since the share of voting weights in general is not equal to the influence, of a committee member on the committees overall decision, so-called power indices were introduced. So far the power distribution of the IMF was only computed by either approximation procedures or smaller games than then entire Board of Governors consisting of 188 members. We improve existing algorithms, based on dynamic programming, for the computation of power indices and provide the exact results for the IMF Board of Governors before and after the increase of voting weights. Tuned low-level details of the algorithms allow the repeated routine with sparse computational resources and can of course be applied to other large voting bodies. It turned out that the Banzhaf power shares are rather sensitive to changes of the quota.


Introduction
The International Monetary Fund (IMF) was formed in 1944 at the Bretton Woods Conference. Currently this international organization consists of 188 countries as members. Its highest decisionmaking body, i.e., the Board of Governors, makes its decisions by weighted voting. The weights are composed of basic votes, which are equal for each member and sum up to 5.502 percent of the total votes, and one additional vote for each Special Drawing Right (SDR) of 100,000 of a member country's quota (the IMF term for the country's financial stake, c.f. [7]). On January 26, 2016, the conditions for the SDRs were increased at the Board Reform Amendment, which drastically changed the corresponding voting weights. In general the weight of a country can be a poor proxy for its influence in a weighted voting game. 1 To this end, so-called power indices were introduced in order to measure the influence or power of a committee member in a committee making its decisions via binary voting, i.e., each member can say "yes" or "no" to a given proposal. As the idea of power and influence is not defined unambiguously, several power indices were introduced in the literature. Arguably, the Shapley-Shubik and the Banzhaf index are two of the most frequently applied power indices. Unfortunately, the evaluation of such a power index is a computational hard problem in general. 2 And indeed, we are not aware of any paper, where either the Shapley-Shubik or the Banzhaf index of the IMF Board of Governors has been computed exactly. Approximation procedures were applied in [6,7]. The Executive Board was, e.g., studied in [1]. In this paper we will compute the exact numerical values of both power indices for the IMF Board of Governors corresponding to voting weights slightly after and before the meeting on January 26, 2016. As the quota and voting shares will change as members pay their quota increases, see https://www.imf.org/external/np/sec/memdir/members.aspx, we list the used voting weights in tables 2-5. 3 Algorithms for the efficient computation of power indices in voting games have been studied extensively in the literature. By looping over all 2 n subsets of players, the Shapley-Shubik index of a fixed player can be easily computed in O(n · 2 n ) time. The straight-forward computation of the Banzhaf index of a fixed player can be performed in O(n 2 · 2 n ) time. For weighted voting games these computation complexities were reduced to O n · √ 2 n and O n 2 · √ 2 n in [3], respectively. Assuming that all weights are integers and taking the sum of voting weights C into account, more refined complexity results can be obtained. Several algorithms based on generating functions were implemented in Mathematica, see [10]. Those algorithms are fast if the subsets of players attain only few different weight sums. The number of different weight sums is clearly upper bounded by C + 1. If almost all possible weight sums are attained, then one can use the related but conceptually easier concept of dynamic programming, see [9] for a survey. 4 With this, the Shapley-Shubik index of fixed player can be determined in O(n 2 q) time and O(nq) space, where q ≤ C denotes the quota of a weighted voting game. The Banzhaf index of a fixed player can be computed in O(nq) time and O(q) space. In [11] these complexity bounds are maintained for the computation of the respective power indices for all n players. We slightly improve upon these complexity bounds by replacing q by min(q, C − q + 1), 5 provide an easy to understand description, and extend the analysis to further power indices. For practical efficiency we go into low-level details of the algorithms and discuss their impact on the running time for the IMF example.
The remaining part of this paper is structured as follows. In Section 2 we briefly introduce simple games as models for voting systems and some related notation. After introducing the defining equations for the power indices, we consider algorithms for their computation in Section 3. These are essentially based on counting the number of coalitions per weights and size by dynamic programming techniques. After stating our computational results in Subsection 3.4 we draw a conclusion in Section 4. The weights of the considered voting games and the resulting power distributions are outsourced into an appendix due to their large size.

Preliminaries
is called coalition and represents the set of "yes"-voters. A coalition S is called winning if v(S) = 1 and losing otherwise.
The w i are called weights (for player i) and q is called quota. We write v = [q; w 1 , . . . , w n ] and remark that weights and quota are far from being unique, so that we speak of a representation (q, w) for v. A representation with q ∈ N, w ∈ N n ≥0 is called integer representation. It is well known that each weighted game admits an integer representation. 6 We speak of a minimum sum integer representation if the sum of weights is minimized within the class of all integer representations. Those representations need not to be unique in general if the number of players is not too small, see e.g. [4]. If v(S ∪ {i}) ≥ v(S ∪ {j}) for all S ⊆ N \{i, j} we write i j, which defines a partial order. If this ordering is complete we call the simple game v complete and remark that all weighted games are complete. A player i ∈ N is called a null player (in a simple game v), iff v(S) = v(S ∪ {i}) for all S ⊆ N \{i}. Two players i, j ∈ n are called equivalent, denoted as i ∼ j, if i j and j i. If each winning coalition contains a certain player i, she is called veto player.
Next we briefly introduce the used power indices. The Shapley-Shubik index of player i is given by The absolute Banzhaf index of player i is given by If we call a coalition S ⊆ N \{i} an i-swing if S is losing and S ∪ {i} winning, then Bz i (v) is equal to the number of i-swings divided by the number of coalitions with(out) player i. Normalizing to sum 1, we obtain the (relative) Banzhaf index of player i: Bz a j (v). 4 Actually, the only difference between the generating function and the dynamic programming approach is that the former utilizes the fast-access data structures for polynomials with few coefficients implemented in computer algebra systems. The generating function approach dates back at least to [8], where it was applied onto the electoral college. 5 For the IMF Board of Governors we have q = 0.85·C, so that we obtain an acceleration of a factor of 0.85/0.15 ≈ 5.67.
The memory requirements are reduced by the same factor. 6 Let (q, w) be a representation of v, let α the maximum weight of losing coalition and β the minimum weight of a winning coalition. Increase the weights by at most (β −α)/2n > 0 so that they become rational numbers. As quota chose an arbitrary rational number strictly between the new minimum weight of a winning coalition and the new maximum weight of a losing coalition. Multiplication with the common denominator yields an integer representation of v.
The two power indices have the property that they sum up to one and assign a value of zero to a player if and only if she is a null player. Since it is NP-hard to decide whether a player is a null player in a given weighted game, see e.g. [2], the computation of the used power indices is at least NP-hard. We remark that the equivalent players attain the same Shapley-Shubik or Banzhaf index.

Algorithms
Assume that we have a weighted game v = [q; w] on n players in integer representation, where we set C = n i=1 w i . As the complexity of our subsequent algorithms will depend on ∆ := min(q, C − q + 1) it would be beneficial to have a minimum sum integer representation at hand. However, it is not clear if minimizing the integer representation pays off for the computation of power indices, c.f. [5], where this is proposed as a promising strategy. So, here we propose to perform the following computationally cheap preprocessing steps at the very least. At first we reduce the weights that are larger then the quota by setting q = q and w i = min(q, w i ) for all i ∈ N . Next we guarantee that the weights are not too much larger than C − q. If w i > C − q, then player i is a vetoer and we set w i = C − q + 1, q = q − w i + w i , and w j = w j for all j ∈ N \{i}. Both operations can be performed in O(n). The power indices used in this paper do not only assign zero power to all null players but are null player preserving, i.e., if v arises from v by adding null player i, then we have P j (v ) = P j (v) for all j = i. Nevertheless, it is NP-hard to detect null players we can efficiently remove players with a zero weight, so that we can assume 1 ≤ w i ≤ ∆ in the following, i.e., we have C ≥ n.
In the following subsections we present the algorithmic details how to compute the power indices efficiently.
3.1. Counting coalitions per weight. Let c(x) denote the number of coalitions of a given weighted game v attaining weight x. By Algorithm 1 we can compute c(x) for all 0 ≤ x ≤ q in O(nq) time and O(q + n) space, where we assume that we have precomputed the terms min{q, Algorithm 1: Forward counting of coalitions per weight Similarly we can compute the respective counts starting from weight C, see Algorithm 2 that needs O(n · (C − q + 1)) time and O(C − q + 1 + n) space.
Algorithm 2: Backward counting of coalitions per weight For the ease of notation we assume that the basic arithmetic operations for integers not too much larger than C can be performed in O(1) time and space. However, the values stored in c(x) can grow very quickly, i.e., we have 2 n ≥ max 0≤x≤C c(x) ≥ 2 n /(C + 1). So, we should count Θ(n) for each addition or subtraction. To avoid technical complications in the exposition and in order to be comparable with the related literature we also assume that all basic arithmetic operations for integers can be performed in constant time. From a practical point of view we have to deal with the corresponding problems nevertheless. In our application of the IMF we have n = 188, so that the values of c(x) do not fit into the standard, simple data types on a 64-bit system. Since the overhead of a general-purpose arbitrary-precision arithmetic is quite large, we directly implement the most frequently used basic operations as follows. We choose different primes p 1 , . . . , p l , such that all occurring numbers are between 0 and −1 + l i=1 p i . During the computation we perform all basic operations modulo p i for all 1 ≤ i ≤ l. For the final result we can recover the real integers behind by applying the Chinese remainder theorem. For our example of the IMF we choose l = 3, p 1 = 2 63 − 25, p 2 = 2 63 − 165, and p 3 = 2 63 − 259. 7 The number of losing coalitions is given by q−1 x=0 c(x) and the number of winning coalitions is given by C x=q c(x). Since the total number of coalitions is 2 n , both numbers can be determined in O(n∆) time and O(∆ + n) space.
For the computation of the Banzhaf index we need to know either the number c w (x) of coalitions with weight sum x that contain player i or the number c wo (x) of coalitions with weight sum x that do not contain player i. For a fixed player i we set c wo (x) = 0 for 0 ≤ x < w i . By looping from w i to q − 1 we can recursively compute

3.2.
Counting coalitions per weight and size. By c(x, s) we denote the number of coalitions of weight x and cardinality s (for a given weighted game v). Algorithm 1 and Algorithm 2 can be easily adopted to this end. The running time and the memory requirements both increase by a factor of n, since 0 ≤ s ≤ n. We remark c(x, s) = 0 for x > s j=1 w j or x < n j=n−s+1 w j , assuming w 1 ≥ · · · ≥ w n . 8 These known values can be taken into account in the boundaries of the for-loops to save time and memory. By extending the definition and recursion for Of course we can precompute the factorials and the product of the n − 1 pairs of factorials. In our fixed-precision arithmetic we first compute the sums over the c wo or c w and then switch to arbitraryprecision arithmetic. 9 Theorem 2. The SSI indices of all players of a weighted game v can be computed in O(n 2 ∆) time and O(n∆) space.

3.3.
Intersections of weighted games. Some real-world voting systems are expressed as the intersection of, say k, weighted voting games v 1 , . . . , v k , i.e., a coalition is winning if and only if it is winning in all sub-games v 1 , . . . , v k . Let C 1 , . . . , C k be the weights sums and q 1 , . . . , q k be the quotas of the sub-games. By easily extending our counting functions c(x) and c(x, s) to c(x 1 , . . . , x k ) and c(x 1 , . . . , x k , s) we can go along the same lines as in the previous two subsections and obtain algorithms with the same complexity bounds if we formally set ∆ = min This number may grow very quickly even for moderate values of k, so that it may be crucial to choose a representation with a small number k of sub-games. We remark that the smallest possible integer k (for a simple game) is called dimension.

3.4.
Computational results. We have applied the described algorithms for the four weighted voting games arising from the two different sets of voting weights of the IMF in 2015 and 2016, see tables 2-5, and quotas of either 85% or 50% of the respective weight sums. 10 All computations were performed on an Intel(R) Core(TM) i7-3720QM cpu with a clock speed of 2.60 GHz and 8 GB RAM. As a 7 Choosing primes of the form 2 63 − x for small x, has the advantage that the computations can be performed using the standard, simple data type unsigned long in C++. Our choices are indeed the largest possibilities, see e.g. https://primes.utm.edu/lists/2small/0bit.html. We remark that a naïve checking of the primality of the p i was performed in 41 seconds. We implement a = b + c mod p as a = b + c and if a ≥ p then a− = p. 8 The players can be sorted in O(n + ∆) time and space in a preprocessing step. 9 We remark s!(n − s − 1)! < 2 n log 2 n for n > 1. 10 According to the type of the decision different values for q are used, see e.g. [7]. a general-purpose programming language we have chosen C++ and used the CLN-library 11 for the arbitrary-precision arithmetic parts. For 2016 and super-majority, i.e., q = 85%, Algorithm 1 needed 4.73 seconds and Algorithm 2 needed 0.67 seconds. The acceleration factor for using the described tailored fixed-precision arithmetic over an arbitrary-precision arithmetic is slightly larger than 6. Using pointers instead of the STL class vector results in a speed-up of roughly 2. The number of winning coalitions is given by 4506727722110247822679513808100007271801182981184082. The entire Banzhaf computation, based on Algorithm 2, for all players was performed in less than 3 seconds. The corresponding SSI computation took less than 7 minutes.
We have listed the power distributions for the years 2015 and 2016, the cases of super-majority and simple majority, the power indices Bz and SSI in tables 6-9 using a precision of five decimal digits for the output. The power of a few countries seem to coincide, which is a numerical artefact, except for France (i = 58) and the United Kingdom (i = 179). To be more precise, those two countries have the same weights in both 2015 and 2016, so that they are equivalent for all values of the quota q. Having a closer look at the different power distributions we observe that the choice of the power index or the quota as well as the modified weights have a significant impact. The dominance of the United states has further increased from 2015 to 2016. Interestingly enough, the Banzhaf power in the super-majority cases shows almost no difference to, e.g., Japan, which is different for the Shapley-Shubik index. To obtain a more complete, but still compact, overview about the differences we have introduced ∆P  Table 1. The stated running times can be easily extrapolated to other examples. If we assume a hypothetical IMF consisting of 1000 members whose weights are of similar magnitude as in the 2016 example, then both n and ∆ increase by a factor of 1000/188. Instead of three primes we would need 16 primes, so that the computation of the Banzhaf indices in the super-majority case would took approximately 8 minutes while the SSI indices may be computed in 4 days. 12 The minuscule running time for the Banzhaf index obviously allows more sophisticated applications where the power index computation is performed several times. Trying to heuristically solve the inverse power index problem, where weights need to be found whose power distribution is close to a given target distribution, is just an example. Here we have computed the Banzhaf power distribution of the IMF when the quota changes from 0% to 100% in steps of 0.1%, i.e., 1001 evaluations have been performed, as another possible application. In figures 1-2 we have depicted the corresponding power for the five most powerful countries (United States i = 180, Japan i = 82, Germany i = 62, France i = 58, United Kingdom i = 179). We can see that the respective Banzhaf indices are rather volatile  with respect to changes of the quota. The difference between the respective Banzhaf power shares is negligible for Japan and Germany, while there is no difference between France and the United Kingdom, for all values of the quota q. For an extreme quota of 0% or 100% all countries obtain exactly the same Banzhaf power share. For quotas below 15% or above 85% there is almost no difference in power for the five largest countries. However, there is a critical interval, say q between 25% and 75%, where the relative power distribution between the five largest countries is very sensitive to changes of the quota. The United States most intensive benefit from quotas around 50%. In 2016 also the Banzhaf power share of Japan is very sensitive to changes of the quota. Instead of 50% a quota of roughly 65% would be rather favorable for them. Even more, an efficient computation does not rely on sophisticated algorithms but low-level details in order to gain speed-up factors. For C 2 n , which should be the case for all non-tiny real-world examples, the use of generating function approaches yields no benefit, although being a common topic in the literature. The used underlying idea of counting coalitions per weight and size by a simple recursion was just enhanced by allowing the reverse direction starting from the weight sum C for quotas larger than 50%. There is a single small insight that allows to recover those counts for the cases where a certain player is either assumed to be part or not to be part of the counted coalitions more efficiently than a direct enumeration. Using this approach the complexity for computing the considered indices are (up to a small constant) the same for a single player and all players.
For our real-world example of the IMF, the resulting power distributions are rather different from the weight shares and between diverse power indices like the Banzhaf and the Shapley-Shubik index. We suspect that this is not a numerical artefact of this specific example, so that it might be a good idea to compute several power indices to get a more comprehensive view whenever the considered committee has some non-negligible impact.
The distribution of the Banzhaf power shares is rather sensitive to changes of the quota and there are clear incentives for the few largest countries to alter them in their sense. The conclusion that may be drawn from that fact is debatable and the choice of the quota should indeed obtain more consideration.