In many real-world decision making settings, situations arise in which the parties (or: players) involved must collectively make decisions while not every player is supposed to have an equal amount of influence in the outcome of such a decision. The "weighted voting game" is a mo
...

In many real-world decision making settings, situations arise in which the parties (or: players) involved must collectively make decisions while not every player is supposed to have an equal amount of influence in the outcome of such a decision. The "weighted voting game" is a model that is often used to make such decisions. The amount of influence that a player has in a weighted voting game can be measured by means of various power indices. Weighted voting games are part of the more general class of simple games. In this thesis, we study the problem of finding for a given class of simple games (including weighted voting games), the game in which the distribution of the influence among the players is as close as possible to a given target value (i.e. power index). We investigate the posibilities that we have for exactly solving this problem. For the case of weighted voting games, we obtain a method that relies on a new efficient procedure for enumerating weighted voting games of a fixed number of players. The enumeration algorithm we propose works by exploiting the properties of a specific partial order over the class of weighted voting games, for which we prove existence. The algorithm enumerates weighted voting games of a fixed number of players in time exponential in the number of players, but polynomial in the number of games output. As a consequence we obtain an exact anytime algorithm for designing weighted voting games. We look at various ways to improve on this algorithm. A large improvement follows by exploiting the properties of two specific types of coalitions, which we refer to as roof coalitions and ceiling coalitions. The algorithm, together with these improvements, has been implemented in order to measure the practical performance and to obtain various data on the class of weighted voting games. Our method for solving the voting game design problem heavily relies on the ability to transform between different representations of simple games, which we refer to as "voting game synthesis problems". We give an extensive treatment of these synthesis problems, and in particular we prove that there does not exist a polynomial time algorithm that transforms the list of ceiling coalitions of a game into the list of roof coalitions. However, we also show that an output-polynomial time algorithm for this problem actually does exist, by providing one.