Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Symmetric games with piecewise linear utilities

Proceedings of the Behavioral and Quantitative Game Theory on Conference on Future Directions - BQGT '10, 2010
...Read more
SYMMETRIC GAMES WITH PIECEWISE LINEAR UTILITIES ALBERT XIN JIANG, CHRISTOPHER THOMAS RYAN, AND KEVIN LEYTON-BROWN Abstract. We analyze the complexity of computing pure strategy Nash equilibria (PSNE) in symmetric games with a fixed number of actions, where the utilities are compactly represented. Such a representation is able to describe symmetric games whose number of players is exponential in the representation size. We show that in the general case, where utility functions are represented as arbitrary circuits, the problem of deciding the existence of PSNE is NP-complete. For the special case of games with two actions, there always exist a PSNE and we give a polynomial algorithm for finding one. We then focus on a natural representation of utility as piecewise-linear functions, and show that such a representation has nice computational properties. In particular, we give polynomial-time algorithms to count the number of PSNE (thus deciding if such an equilibrium exists) and to find a sample PSNE, when one exists. Our approach makes use of Barvinok and Wood’s rational generating function method [4], which enables us to encode the set of PSNE as a generating function of polynomial size. 1. Introduction In the last decade, there has been much research at the interface of computer science and game theory (see e.g. [30, 34]). One fundamental class of computational problems in game theory is the computation of solution concepts of a finite game. Much recent effort in the literature has concerned the complexity of computing mixed-strategy Nash [7, 911] and correlated equilibria [22, 31]. In this paper we focus on the problem of computing pure strategy Nash equilibria (PSNE). Unlike mixed-strategy Nash equilibria, which are guaranteed to exist for finite games [29], in general PSNE are not guaranteed to exist. Nevertheless, in many ways PSNE is a more attractive solution concept than mixed-strategy Nash equilibrium. First, PSNE can be easier to justify because it does not require the players to randomize. Second, it can be easier to analyze because of its discrete nature (see, e.g., [6]). There are several versions of the problem of computing PSNE: deciding if a PSNE exists, finding one, counting the number of PSNEs, enumerating them, and finding the optimal equilibrium according to some objective (e.g., social welfare). The latter problems are game-theoretically more useful, but often computationally harder. The complexity of each of these problems very much depends on the representation used. Normal form is the traditional choice. In this representation, each player’s utilities are specified explicitly for each pure strategy profile. Questions about PSNE can be answered in polynomial time in the input size, by checking every pure strategy profile. However, the size of the normal form representation grows exponentially in the number of players. This is problematic in practice, especially since many games of interest involve large numbers of players. Fortunately, most large games of practical interest have highly-structured payoff functions, and thus it is possible to represent them compactly. A line of research thus exists looking for compact game representations that are able to succinctly describe structured games, and efficient algorithms for finding equilibria that run in time polynomial in the size of the representation. The problem is hard in the most general case, when utility functions are arbitrary efficiently computable functions represented as circuits [33] or Turing Machines [1]. Researchers have also studied compact game representations that exploit various types of structure in utility functions. These include graphical Date : April 2, 2009. 1
games [23], congestion games [32] and action-graph games [5]. Computing PSNE for these repre- sentations is hard in general, but polynomial time for certain subclasses of games [12, 14, 1921]. One important type of structure is symmetry. A game is symmetric when all players are identical and interchangeable. Symmetric games have been studied since the beginning of noncooperative game theory. For example, Nash proved that symmetric games always have symmetric mixed Nash equilibria [29]. In a symmetric game, a player’s utility depends only on the player’s chosen action and the configuration, which is the vector of integers specifying the numbers of players choosing each of the actions. As a result, symmetric games can be represented more compactly than games in normal form: we only need to specify a utility value for each action and each configuration. For a symmetric game with n players and m actions per player, the number of configurations is ( n+m1 m1 ) . For fixed m, this grows like n m1 , in which case Θ(n m ) numbers are required to specify the game. Questions about PSNE can be computed straightforwardly by checking all configurations, which requires polynomial time in the size of the representation, and polynomial time in n when the number of actions is fixed. Indeed, [6] proved that the existence problem for PSNE of symmetric games with constant number of actions is in AC 0 . There has also been research on a generalization of symmetric games called anonymous games, in which a given player’s utility depends on his identity as well as the action chosen and the configuration [6, 13]. Existing work on symmetry in games focuses on utility functions that explicitly enumerate util- ity values for each configuration. However, more concise representations are possible when the utility functions have additional structure. In symmetric games, the set of players can be specified implicitly by the number n, requiring only log n bits to represent. If the utility functions can be represented in size polynomial in the number of bits needed to represent the configuration vector, the game can be represented in size polynomial in log n. Thus, such a “compact” representation is able to specify games with a number of players exponential in the input size. In this paper, we consider the complexity of computing PSNE for symmetric games with compactly- represented utility functions. We first look at the most general setting, where the utility functions are represented as circuits whose inputs are binary representations of the configuration vector. We show that even with a fixed number of actions, the problem of deciding the existence of PSNE is NP complete. The only exception is the case of two actions, for which we show that there always exists a PSNE and present an algorithm that identifies such an equilibrium in polynomial time. Our main positive result is the identification of a compact representation of utility with nice computational properties—piecewise linear functions of the configuration vector. Piecewise linear functions are a natural and convenient way of representing utilities. For this setting, we present novel algorithms for finding a sample PSNE and for counting the number of PSNEs. When the number of actions is fixed, these algorithms run in polynomial time. In particular, if the total number of pieces is bounded by a polynomial of log n then we achieve an exponential improvement over the algorithm of Brandt et. al. [6], which scales polynomially with n. Our techniques also yield a polynomial-space polynomial-delay output-sensitive algorithm for enumerating the set of PSNE. The main challenge in constructing such polynomial-time algorithms is that the set of configu- rations and the set of PSNE configurations can be exponential in the input size. Thus, approaches based on enumerating all configurations require exponential time. Instead, our approach encodes the set of PSNE in a compact representation that has appealing computational properties. Specifi- cally, we make use of the rational generating function method due to Barvinok and Woods [4]. (We give a brief overview of the rational generating function techniques that we use in Section 5.) We formulate the set of equilibrium configurations via operations on lattice points in polyehdra; the resulting set of points can be encoded as a rational generating function of polynomial size. The current paper relates to some recent work by one of the authors [26]. This work introduced rational generating function methods to the algorithmic study of games, showing that they can be used to compute pure-strategy Nash equilibria of games in which the action sets are represented 2
SYMMETRIC GAMES WITH PIECEWISE LINEAR UTILITIES ALBERT XIN JIANG, CHRISTOPHER THOMAS RYAN, AND KEVIN LEYTON-BROWN Abstract. We analyze the complexity of computing pure strategy Nash equilibria (PSNE) in symmetric games with a fixed number of actions, where the utilities are compactly represented. Such a representation is able to describe symmetric games whose number of players is exponential in the representation size. We show that in the general case, where utility functions are represented as arbitrary circuits, the problem of deciding the existence of PSNE is NP-complete. For the special case of games with two actions, there always exist a PSNE and we give a polynomial algorithm for finding one. We then focus on a natural representation of utility as piecewise-linear functions, and show that such a representation has nice computational properties. In particular, we give polynomial-time algorithms to count the number of PSNE (thus deciding if such an equilibrium exists) and to find a sample PSNE, when one exists. Our approach makes use of Barvinok and Wood’s rational generating function method [4], which enables us to encode the set of PSNE as a generating function of polynomial size. 1. Introduction In the last decade, there has been much research at the interface of computer science and game theory (see e.g. [30, 34]). One fundamental class of computational problems in game theory is the computation of solution concepts of a finite game. Much recent effort in the literature has concerned the complexity of computing mixed-strategy Nash [7, 9–11] and correlated equilibria [22, 31]. In this paper we focus on the problem of computing pure strategy Nash equilibria (PSNE). Unlike mixed-strategy Nash equilibria, which are guaranteed to exist for finite games [29], in general PSNE are not guaranteed to exist. Nevertheless, in many ways PSNE is a more attractive solution concept than mixed-strategy Nash equilibrium. First, PSNE can be easier to justify because it does not require the players to randomize. Second, it can be easier to analyze because of its discrete nature (see, e.g., [6]). There are several versions of the problem of computing PSNE: deciding if a PSNE exists, finding one, counting the number of PSNEs, enumerating them, and finding the optimal equilibrium according to some objective (e.g., social welfare). The latter problems are game-theoretically more useful, but often computationally harder. The complexity of each of these problems very much depends on the representation used. Normal form is the traditional choice. In this representation, each player’s utilities are specified explicitly for each pure strategy profile. Questions about PSNE can be answered in polynomial time in the input size, by checking every pure strategy profile. However, the size of the normal form representation grows exponentially in the number of players. This is problematic in practice, especially since many games of interest involve large numbers of players. Fortunately, most large games of practical interest have highly-structured payoff functions, and thus it is possible to represent them compactly. A line of research thus exists looking for compact game representations that are able to succinctly describe structured games, and efficient algorithms for finding equilibria that run in time polynomial in the size of the representation. The problem is hard in the most general case, when utility functions are arbitrary efficiently computable functions represented as circuits [33] or Turing Machines [1]. Researchers have also studied compact game representations that exploit various types of structure in utility functions. These include graphical Date: April 2, 2009. 1 games [23], congestion games [32] and action-graph games [5]. Computing PSNE for these representations is hard in general, but polynomial time for certain subclasses of games [12, 14, 19–21]. One important type of structure is symmetry. A game is symmetric when all players are identical and interchangeable. Symmetric games have been studied since the beginning of noncooperative game theory. For example, Nash proved that symmetric games always have symmetric mixed Nash equilibria [29]. In a symmetric game, a player’s utility depends only on the player’s chosen action and the configuration, which is the vector of integers specifying the numbers of players choosing each of the actions. As a result, symmetric games can be represented more compactly than games in normal form: we only need to specify a utility value for each action and each configuration. For a symmetric game with n players and m actions per player, the number of configurations is n+m−1 m−1 . For fixed m, this grows like nm−1 , in which case Θ(nm ) numbers are required to specify the game. Questions about PSNE can be computed straightforwardly by checking all configurations, which requires polynomial time in the size of the representation, and polynomial time in n when the number of actions is fixed. Indeed, [6] proved that the existence problem for PSNE of symmetric games with constant number of actions is in AC 0 . There has also been research on a generalization of symmetric games called anonymous games, in which a given player’s utility depends on his identity as well as the action chosen and the configuration [6, 13]. Existing work on symmetry in games focuses on utility functions that explicitly enumerate utility values for each configuration. However, more concise representations are possible when the utility functions have additional structure. In symmetric games, the set of players can be specified implicitly by the number n, requiring only log n bits to represent. If the utility functions can be represented in size polynomial in the number of bits needed to represent the configuration vector, the game can be represented in size polynomial in log n. Thus, such a “compact” representation is able to specify games with a number of players exponential in the input size. In this paper, we consider the complexity of computing PSNE for symmetric games with compactlyrepresented utility functions. We first look at the most general setting, where the utility functions are represented as circuits whose inputs are binary representations of the configuration vector. We show that even with a fixed number of actions, the problem of deciding the existence of PSNE is NP complete. The only exception is the case of two actions, for which we show that there always exists a PSNE and present an algorithm that identifies such an equilibrium in polynomial time. Our main positive result is the identification of a compact representation of utility with nice computational properties—piecewise linear functions of the configuration vector. Piecewise linear functions are a natural and convenient way of representing utilities. For this setting, we present novel algorithms for finding a sample PSNE and for counting the number of PSNEs. When the number of actions is fixed, these algorithms run in polynomial time. In particular, if the total number of pieces is bounded by a polynomial of log n then we achieve an exponential improvement over the algorithm of Brandt et. al. [6], which scales polynomially with n. Our techniques also yield a polynomial-space polynomial-delay output-sensitive algorithm for enumerating the set of PSNE. The main challenge in constructing such polynomial-time algorithms is that the set of configurations and the set of PSNE configurations can be exponential in the input size. Thus, approaches based on enumerating all configurations require exponential time. Instead, our approach encodes the set of PSNE in a compact representation that has appealing computational properties. Specifically, we make use of the rational generating function method due to Barvinok and Woods [4]. (We give a brief overview of the rational generating function techniques that we use in Section 5.) We formulate the set of equilibrium configurations via operations on lattice points in polyehdra; the resulting set of points can be encoded as a rational generating function of polynomial size. The current paper relates to some recent work by one of the authors [26]. This work introduced rational generating function methods to the algorithmic study of games, showing that they can be used to compute pure-strategy Nash equilibria of games in which the action sets are represented 2 by fixed-dimensional polyhedra and the utilities are given by piecewise linear functions. These results assumed a fixed number of players and made restrictions on the piecewise linear functions. By contrast, the current paper allows for a non-fixed number of players and instead restricts the number of actions; it also allows a much more general family of piecewise linear functions. The paper is organized as follows. In Section 2 we define symmetric games and configurations. In Section 3 we discuss the complexity of computing PSNE of symmetric games when the utility functions are represented as circuits. We then turn our attention to piecewise linear utility functions. In Section 4 we discuss two representations of piecewise linear utility. In Section 5 we introduce rational generating functions. This section is for the most part self-contained and hopefully can be appreciated by those with little or no exposure to generating functions. Section 6 contains the main result of the paper, that the set of pure equilibrium configurations in symmetric games can be encoded short rational generating function. An immediate corollary is that there are efficient algorithms to count and enumerate equilibria, when the number of actions k is fixed. We present two alternate methods to derive such a generating function encoding, both of which yield fresh insights into the general method. Section 7 highlights how generating function can be used to answer interesting questions about the structure of equilibria in our games. An approximation algorithm is developed for finding social welfare maximizing equilibria in the game, as well as exact algorithms to find the mean and variance of social welfare across all equilibria. Section 8 details a direct generalization of our methods to the case of m-symmetric games with a fixed number of player classes m. Finally, Section 9 explores the situation where the number of players and utilities of each player in a symmetric game are influenced by parametric choices of a leader or designer. We are able to answer questions regarding how the designer might choose these parameters to optimize some polynomial objective, or minimize error in having an equilibrium close to some target equilibrium, x̃. 2. Symmetric games and configurations Symmetric games are a class of strategic games in which each player has an identical set of actions A and utility function u. We consider n-player symmetric games in which the number of actions m is a fixed constant. The outcomes of the game are sufficiently described by configurations of players; that is, a record of how many players play each action. A configuration is an m-dimensional vector x = (xa : a ∈ A), where xa is the number of players playing action a. Let D denote the set of configurations: ( ) X m D= x∈Z : xa = n, xa ≥ 0 for all a ∈ A . (2.1) a∈A Since each player has the same utility function, the utility of a given player depends only on the action played and the overall configuration. For each action a ∈ A, we have a utility function defined on all the configurations where at least one player plays actions a. In particular, ua (x) is the utility of playing action a in configuration x provided xa ≥ 1. A configuration x ∈ D is a pure strategy Nash equilibrium configuration (or simply a PSNE) if for all actions a and a′ either no player plays action a or the utility of a player playing action a exceeds the utility he would receive from unilaterally deviating to action a′ . Symbolically, let N denote the set of PSNE in a symmetric game. Then x ∈ N ⇐⇒ (∀a ∈ A : xa = 0) OR (∀a′ ∈ A, ua (x) ≥ ua′ (x + ea′ − ea )), (2.2) where ea is the ath unit vector with components eaa = 1 and eaa′ = 0 for a′ 6= a. Note that x + ea′ − ea is the same configuration as x except that one player has deviated from playing action a to action a′ . 3 3. Symmetric games with utilities as circuits In this section, we consider circuit symmetric games, a representation in which each utility function ua is represented as a circuit whose input is a binary representation of the configuration vector x. The representation size can thus be as small as O(log n). We first consider the case with two actions, A = {1, 2}. Cheng et. al. [8] proved that a symmetric game with two actions always has at least one PSNE. This also follows from the fact that such a game can be formulated as a congestion game,1 which implies the existence of a PSNE [32]. However, even when a PSNE provably exists (or when a game is a congestion game), PSNEs can still be difficulty to find. We give an alternative proof of the existence of PSNE that illustrates the structure of the strategy space for these games, and then show how this structure can be exploited for efficient computation. Lemma 3.1. Any symmetric game with two actions has a PSNE. Proof. Given such a symmetric game, we construct the deviation graph, whose vertices are the configurations x ∈ D. There is an directed edge from x to x′ if and only if a deviation by a single player from x results in x′ . Since each x = (x1 , n − x1 ), where x1 is the number of agents playing action 1, we can identify each configuration by its first component. Under this mapping, the set of configurations corresponds to the set of integers {0, . . . , n}. It is straightforward to see that the only edges in the deviation graph are between adjacent integers: i, j ∈ {0, . . . , n} such that |i − j| = 1. We then consider the profitable deviation graph (PDG), whose vertices are the same configurations and directed edges represent strictly profitable deviations. For example, if a deviation by one player in configuration x from action a to action 3 − a results in configuration x′ , and furthermore if u3−a (x′ ) > ua (x), then the PDG has an edge from x to x′ . Observe that the PDG is a subgraph of the deviation graph, and that if there is an edge from x to x′ in the PDG, then there cannot be an edge from x′ to x. A sink of the PDG has no profitable deviations, which means that it is a PSNE. We claim that the PDG must have a sink. To see this, we can start at vertex 0 and follow the directed edges. Because the PDG is a subgraph of the deviation graph, each edge on this path must increase the vertex’s index (in fact, by exactly one). Thus, the path must eventually stop at a sink.  The above proof suggests a straightforward algorithm for finding a PSNE: start at configuration 0 and follow the edges in the PDG. In fact by a similar argument any starting configuration would lead to a sink. Unfortunately this approach can take Ω(n) steps before reaching a sink, which can be exponential in the representation size. Instead, we present a divide-and-conquer approach that exploits the structure of the PDG. Theorem 3.2. For circuit symmetric games with two actions, a PSNE can be found in polynomial time. Proof. Given such a game with n players, consider the configurations ⌊ n2 ⌋ and ⌊ n2 ⌋ + 1. There are three cases: (1) If there is an edge from ⌊ n2 ⌋ to ⌊ n2 ⌋ + 1 in the PDG, then there must exist a PSNE in the subset {⌊ n2 ⌋ + 1, . . . , n}. This is because a path from ⌊ n2 ⌋ + 1 must be increasing and eventually stop at a sink. (2) Likewise, if there is an edge from ⌊ n2 ⌋ + 1 to ⌊ n2 ⌋, there must exist a PSNE in the subset {0, . . . , ⌊ n2 ⌋}, since a path from ⌊ n2 ⌋ must be decreasing and stop at a sink. 1To see this, observe that u (x) = u (x , n − x ) is a function of only x ; similarly u (x) = u (n − x , x ) is a 1 1 1 1 1 2 2 2 2 function of only x2 . 4 (3) If there is no edge between the two configurations, then there must exist a PSNE in each of the subsets {0, . . . , ⌊ n2 ⌋} and {⌊ n2 ⌋ + 1, . . . , n}). Our algorithm picks a subset that contains a PSNE, and then recursively bisects that subset. This process terminates at a PSNE after O(log n) iterations. For each iteration, checking the existence of edges between two configurations requires evaluation of utility at the two configurations, which can be done in linear time for utility functions represented as circuits. Therefore the running time of this algorithm is O(|Γ| log n), where |Γ| is the size of the circuits.  Our next result shows that the problem of finding a PSNE in a circuit symmetric game becomes intractable once we go beyond two actions. Theorem 3.3. For circuit symmetric games in which the number of actions is a fixed constant of at least three, the problem of determining the existence of PSNE is NP complete. Proof. The problem is in NP because to determine whether a configuration x is a PSNE, there are only O(m2 ) possible deviations to check. We show NP-hardness by reduction from CIRCUITSAT. Given a CIRUITSAT problem instance C(y1 , . . . , ym ), we construct a circuit symmetric game with n = 2m −1 players and 3 actions {1, 2, 3} such that the game has a PSNE if and only if there exists an satisfying assignment of y1 , . . . , ym . Given a configuration x = (x1 , x2 , x3 ), the utility functions u1 (x),u2 (x) and u3 (x) are defined as follows: (1) If the binary representation of x1 correspond to a satisfying assignment for C, i.e. C(x01 , . . . , xm 1 )= 1 where xi1 is the ith bit of x1 , then u1 (x) = u2 (x) = u3 (x) = 2. (2) Otherwise: (a) if x1 > 0, x2 > 0, x3 > 0, then u1 (x) = u2 (x) = 1, u3 (x) = −2; (b) if x1 > 0, x2 > 0, x3 = 0, then u1 (x) = −1, u2 (x) = 1; (c) if x1 = 0, x2 > 0, x3 > 0, then u2 (x) = −1, u3 (x) = 1; (d) if x1 > 0, x2 = 0, x3 > 0, then u1 (x) = 1, u3 (x) = −1; (e) if xa = n for some action a, i.e. all players are playing a, then ua (x) = 0. If there exists a satisfying assignment for C, then any configuration with the corresponding x1 is a PSNE because each player receives the maximum utility of the game. If there does not exist a satisfying assignment, then the game’s utilities are defined by condition 2. We claim that this subgame under condition 2 does not have a PSNE. Intuitively, the game can be thought of as a generalization of the 2-player Rock-Paper-Scissors game. Formally, given a configuration of case 2a, a deviation from action 3 (with utility -2) to 1 or 2 is profitable. Given a configuration of case 2b, a profitable deviation is from action 1 (utility -1) to 2 (utility 1 if the resulting configuration is of case 2b, utility 0 if the resulting configuration is of case 2e). Similarly, given a configuration of case 2c, a profitable deviation is from action 2 to 3; and given a configuration of case 2d, a profitable deviation is from action 3 to 1. Given a configuration of case 2e with e.g. x1 = n, a profitable deviation is to action 2, resulting in a configuration of case 2b. Therefore all configurations have profitable deviations, thus the subgame does not have a PSNE. Finally, we observe that the utility functions described above can be formulated as circuits of the binary representation of x. The size of the circuit symmetric game is linear in the size of the given CIRCUITSAT problem instance, and these utility functions can be constructed in polynomial time. This concludes the reduction proof.  4. Symmetric games with piecewise linear utilities We consider a setting where each utility function is piecewise linear. Two different representations of piecewise linear functions are considered and parallel results are developed for both representations. The first is an explicit representation which has as a polytopal subdivision of D 5 into region over which utility is linear. As input for each action a ∈ A there is a finite set of polytopes {Paj }j∈Ja which partition the set of configurations D, and a finite set of affine functions with integer coefficients {faj }j∈Ja such that ua (x) = faj (x) for x ∈ Paj . (4.1) In other words, the utility functions are affine functions over specified polytopal subdivisions of D. For simplicity we will henceforth refer to utility functions in this representation as PWL utility functions. Secondly, we consider an implicit form of piecewise linear representation called difference of piecewise linear convex (DPLC) utilities. The input here is a pair of sets of affine functions with integer coefficients {uak }j∈Ja and {val }j∈Ja such that ua (x) = max uak (x) − max val (x). l∈La k∈Ka (4.2) Where convenient we label the elements of Ja by {1, . . . , |Ja |}, and similarly for Ka and La . Without loss of generality we assume that the utility functions are all positive over the domain D. Theoretically our two representations of piecewise linear objectives are equivalent, as stated in the following proposition: Proposition 4.1. A utility function over D can be represented as an explicit piecewise linear utility function of the form (4.1) if and only if it can be represented as a DPLC utility function of the form (4.2). Proof. We first prove the if-direction. Given a DPLC function of the form (4.2) we consider partitioning the set of configurations D into regions where the objectives are linear. For each action a ∈ A partition D as follows   ] a  Dk,l D= (k,l)∈Ka ×La where a Dk,l   uak (x) ≥ uaj (x), j > k, uak (x) ≥ uaj (x) + 1, j < k = x ∈ D : xa ≥ 1, . val (x) ≥ vaj (x), j > l, val (x) ≥ vaj (x) + 1, j < l is the set of elements in D where maxj∈Ka uaj (x) = uak (x) and maxj∈La vaj (x) = val (x) breaking ties to make the sets disjoint (see Lemma ??. Now if we let Ja = Ka × La then our explicit a and f (x) = u (x) − v (x) for j = (k, l) ∈ J . representation of u will have Paj = Dk,l aj a ak al Conversely, given an explicitly represented piecewise linear function a result by Zalgaller (Theorem 4.2 in [? ]) shows that it can be represented by a DPLC function. In his proof Zalgaller shows that our explicitly represented piecewise-linear function ua can be expressed as the differP ence ua = g − h where h = m h with each hi a piecewise linear function with two pieces and i i=1 g = ua + h, which is also shown to be a piecewise linear convex function. The number m of functions hi in the sum defining h depends on the nature of the polytopal division {Paj }j∈Ja of D and is bounded above by the total number of facets in the polytopes Paj . The proof in [? ] is not explicit enough for us to easily show how to convert g and h into “maximum of affine functions” form. Indeed, there is some flexibility in how to choose the hi . It is clear, however, that such a representation exists as every piecewise linear convex function has a “maximum of affine functions” representation.  In practice, the conversion from an explicitly represented piecewise linear function into a DPLC function seems of little value, but the opposite conversion, which is given explicitly in the above proposition may be of interest depending on the context. Although in theory these two representations of utilities are equivalent, from a size of representation point of view they can be quite 6 different. The benefit of the DPLC representation is that there is no need to explicitly represent the polytopal subdivision of D, which may yield savings in terms of input size. Although the explicit representation of a piecewise linear utility is typical, there are setting where a DPLC formulation is more natural. For instance, it is common in economic applications for cost functions to be expressed as piecewise linear concave functions in “minimum of affine functions” form. The affine functions represent production processes with different start-up fixed costs (intercepts) and per-unit costs of production (slopes). A manufacturer then produces using the production process with minimum total cost. Since configurations are integer vectors, one needs only consider values of the utility functions ua (x) at integer points. Hence, the relevant values of an arbitrary utility function can be described exactly by a piecewise linear function, although again a large number of pieces may be required in general. Thus piecewise linear payoff functions are expressive of general utility functions, the only limitation being in the number of pieces that may be required, and in particular if the number of pieces grows in n as opposed to log n the efficiency savings will disappear. 5. Introduction to rational generating functions In Section 6 we will describe efficient algorithms for computing PSNE in symmetric games with piecewise linear utilities. This result relies heavily on results from the literature on rational generating functions and in particular on the method of Barvinok and Woods [4]. Generating functions have been applied in an analogous fashion in a variety of other contexts, including discrete optimization [18], combinatorics [15], social choice theory [28] and compiler optimization [36]. The main impetus for considering generating functions comes from our desire to compactly represent exponential-cardinality sets of integer points, and to efficiently support the computational operations of counting and enumerating points in the set. Our starting point is is the work of Barvinok [2] who introduced an algorithm for determining the exact number of lattice points in a rational polytope P = { x ∈ Rn : Ax ≤ b } , that runs in polynomial time for every fixed dimension n using a rational generating functions representation of P . The major contribution is the polynomial running time of this algorithm, which is the workhorse of almost all of the complexity results in this thesis. What follows is a a brief description of this algorithms and its useful extensions and applications. Consider the generating function of the lattice point set P ∩ Zn , which is defined as X X x g(P ∩ Zn ; ξ) = ξx = (5.1) ξ1 1 · · · ξnxn ∈ Z[w1±1 , . . . , ξn±1 ]. x∈P ∩Zn x∈P ∩Zn Note that each lattice point x in P is mapped to the exponent of a monomial ξ x in g(P ; ξ), and thus we have simply encoded lattice points in a large Laurent polynomial. The use of this is demonstrated in Barvinok’s remarkable algorithm which computes a compact representation of the function g(P ; ξ) as a short sum of basic rational functions: Theorem 5.1 (Barvinok’s Theorem [2]). Let P be a polytope in Rn with generating function g(P, ξ) given by (5.1) which encodes the lattice points inside P . Then, there exists an algorithm which computes an equivalent representation of the form: X ξ ci g(P ∩ Zn ; ξ) = γi , (5.2) (1 − ξ di1 )(1 − ξ di2 ) . . . (1 − ξ din ) i∈I where I is a polynomial-size index set and all data are integer. A formula of the type (5.2) is called a short rational generating function. The algorithm runs in polynomial time when the dimension d is fixed. 7 When a lattice point set S is expressed in this form we refer to g(S; ξ) as its short rational generating function encoding. Note that each of the basic rational functions has poles (the point ξ = 1 in particular is a pole of all the basic rational functions), but after summing up only removable singularities remain. Obtaining the exact number of lattice points of P is easy in (5.1), since clearly |P ∩ Zn | = g(P ; 1). Since (5.2) is a formula for the same function (except for removable singularities), we also have |P ∩ Zn | = limξ→1 g(P ; ξ), which can be evaluated in polynomial time by performing a residue calculation with each basic rational function in the sum (5.2). An important point to note is that this evaluation is possible with arbitrary rational generating functions that correspond to finite lattice point sets. In other words, if we can compute in polynomial time a rational generating function of a finite lattice point set S ⊆ Zn , we can also compute in polynomial time its cardinality: Theorem 5.2 (Counting Theorem [2]). Let the dimension n be a fixed constant. Given a lattice point set S ∈ Zn and a short rational generating function g(S, ξ) for S there exists a polynomial time algorithm for computing |S|. The key result that makes this theory useful in our setting are due to the fact that more general lattice point sets admit Barvinok encodings, in our case sets of pure equilibria. The contributions found in [4] develops powerful algorithms that apply to these more general settings. The first of these algorithms concerns constant-length Boolean combinations of finite lattice point sets that are already encoded by rational generating functions. Theorem 5.3 (Boolean Operations Theorem). (Corollary 3.7 in [4]) Let m and ℓ be fixed integers. Then there exists a constant s = s(ℓ, m) and a polynomial-time algorithm for the following problem. Given as input, in binary encoding, (I1 ) the dimension n and (I2 ) rational generating functions X ξ cpi , γpi g(Sp ; ξ) = (1 − ξ dpi1 ) . . . (1 − ξ dpis ) i∈I p Zn , of m finite sets Sp ⊆ represented by the rational numbers γpi , integer vectors cpi and dpij for p = 1, . . . , m, i ∈ Ip , j = 1, . . . , ℓmp such that the numbers ℓmp of terms in the denominators are at most ℓ, output, in binary encoding, (O1 ) rational numbers γi , integer vectors ci , dij for i ∈ I, j = 1, . . . , si , where si ≤ s, such that X ξ ci g(S; ξ) = γi (1 − ξ di1 ) . . . (1 − ξ disi ) i∈I is a rational generating function of the finite set S that is the Boolean combination of the sets S1 , . . . , Sm ; that is, S is a combination of unions, intersections and set differences of the sets S1 , . . . , Sm . The essential part of the construction of Theorem 5.3 is the implementation of set intersections, which are based on the Hadamard product [4, Definition 3.2], which is the bilinear extension of the operation defined on monomials as ( αα′ xξ if ξ = ξ ′ , ′ αxξ ∗ α′ xξ = 0 otherwise. With this definition, clearly g(S1 ∩ S2 ) = g(S1 ; ξ) ∗ g(S2 ; ξ). 8 Remark 5.4 (Disjoint unions). If two lattice point sets S and T are disjoint then the generating function for S ∪ T is simply the sum of generating functions for S and T , since each monomial in the generating function will correspond to exactly one point in S ∪ T . Note that if S and T are not disjoint then some monomial terms would have multiplicities and thus not fit into the desired form (5.1). More generally, for disjoint lattice point sets S1 , . . . , Sm : ! m m X ] g(Si , ξ) Si , ξ = g i=1 i=1 U where is notation for disjoint union. In this case we do not appeal to the Boolean Operations Theorem, and thus m does not need to be fixed in size. Another powerful method to define lattice point sets is by integer projections. Let S ⊆ Zn be a finite lattice point set, given by its rational generating function g(S; ξ). Let ψ : Zn → Zk be a linear function and denote by T = ψ(S) the image (projection) of S. Then it is easy to compute a positively weighted generating function X  g(T, α; ξ) = αy ξ y where αy = | x ∈ S : ψ(x) = y }| (5.3) y∈T P in the form of a rational function, by making a monomial substitution. If g(P ; z) = x∈P ∩Zn zx is the generating function of P then substituting z with ξ ψ(x) yields the generating function g(T, ξ) for the image of P . This monomial substitution can also be done directly in the short rational generating function representation of g(P ; w) and the outcome computed in polynomial time (Theorem 2.6 in [4]). Remark 5.5 (One-to-one mappings). We remark that if the map ψ is one-to-one (injective) from S, then g(T, α; ξ) is the same as the ordinary (i.e., unweighted) generating function g(T ; ξ) of the projection T . When a set T that is represented by pwgf’s we no longer have the ability to count the number of points in T exactly, as we would if T is represented by an unweighted generating function. Nonetheless, by evaluating a pwgf g(T, α; ξ) at ξ = 1, we can decide whether T = ∅. Moreover, the pwgf of an intersection of sets can be determined from the pwgf’s of the given sets using Hadamard products. However, the full set of Boolean operations of Theorem 5.3 is not available. This restriction will be detrimental to the kind of analysis done in this thesis and thus we only consider unweighted generating functions (henceforth just referred to as generating functions) in what follows. The implication is that we must isolate our attention to integer projections which do not introduce any weights. This trivially includes one-to-one projections but also projections of polytopal lattice point sets, which we now describe. In the special case where S is the set of lattice points in a polytope P , the integer projection method of [4] can be employed to construct an ordinary (unweighted) rational generating function of the projection T . This allows us to use the full set of Boolean operations of Theorem 5.3 on the resulting generating function. Theorem 5.6 (Projection Theorem). (Theorem 1.7 in [4]) Let the dimension n be a fixed constant. Then there exists a constant s = s(n) and a polynomial-time algorithm for the following problem. Given as input, in binary encoding, (I1 ) an inequality description of a rational polytope P ⊂ Rn ; (I2 ) a positive integer k; and (I3 ) a linear map ψ : Zn → Zk given by an integral matrix; output, in binary encoding, 9 (O1 ) rational numbers γi , integer vectors ci , dij for i ∈ I, j = 1, . . . , si , where si ≤ s, such that X ξ ci g(T ; ξ) = γi (1 − ξdi1 ) . . . (1 − ξ disi ) i∈I is a rational generating function of the set T = ψ(P ∩ Zn ). Once a rational generating function of a set S has been computed, various pieces of information can be extracted from it. Finding the cardinality has already been discussed, further computations are available, many of which are based on cardinality calculations. As a first application, we can explicitly enumerate all elements of S. Since the cardinality of S can be exponential in the encoding length of the input, we use output-sensitive complexity analysis, i.e., to measure the complexity of the enumeration algorithm in terms of both the input and the output. The strongest notion of an output-sensitive polynomial-time enumeration algorithm is that of a polynomial-space polynomialdelay enumeration algorithm. Such an algorithm only uses space that is polynomial in the encoding length of the input data. In addition, the time spent between outputting two items, and before outputting the first item and after outputting the last item, is bounded by a polynomial in the encoding length of the input data. The following result is a version of Theorem 7 of [16]. Theorem 5.7 (Enumeration Theorem). Let the dimension n and the maximum number ℓ of binomials in the denominator be fixed. Then there exists a polynomial-space polynomial-delay enumeration algorithm for the following enumeration problem. Given as input, in binary encoding, (I1 ) a number M ∈ N; (I2 ) rational numbers γi , integer vectors ci , dij for i ∈ I, j = 1, . . . , ℓi , where ℓi ≤ ℓ such that X ξ ci γi (1 − ξ di1 )(1 − ξ di2 ) . . . (1 − ξ dis ) i∈I is a rational generating function of a set S ⊆ Zn of lattice points with S ⊆ [−M, M ]n ; output, in binary encoding, (O1 ) all points in S in lexicographic order. In addition, binary search can be used to optimize a linear function over a lattice point set encoded as a generating function: Theorem 5.8 (Linear Optimization Theorem). Let the dimension n and the maximum number ℓ of binomials in the denominator be fixed. Then there exists a polynomial-time algorithm for the following problem. Given as input, in binary encoding, (I1 ): and (I2 ) as in Theorem 5.7 (I3 ): a vector f ∈ Zn , output, in binary encoding, (O1 ) an optimal solution x∗ ∈ Zk of the optimization problem max{ hf , xi : x ∈ S }. When the objective function is an arbitrary polynomial function (without any assumptions on convexity), then it is still possible to use a fully polynomial time approximation scheme (FPTAS). The following result is a more general formulation of Theorem 1.1 from [17]; it first appeared in this form in [16]. Theorem 5.9 (FPTAS for maximizing non-negative polynomials over finite lattice point sets). For all fixed integers k (dimension) and ℓ (maximum number of binomials in the denominator), there exists a polynomial-time algorithm for the following problem. Given as input (I1 ) two vectors xL , xU ∈ Zk , 10 (I2 ) rational numbers γi , integer vectors ci , dij for i ∈ I, j = 1, . . . , ℓi , where ℓi ≤ ℓ such that X ξ ci γi g(X; ξ) = (1 − ξ di1 )(1 − ξ di2 ) . . . (1 − ξ diℓi ) i∈I is a rational generating function of a finite set S ⊆ Zk of lattice points that is contained in the box { x : xL ≤ x ≤ xU }, (I3 ) a list of coefficients fi ∈ Q, encoded in binary encoding, and exponent vectors αi ∈ Z+ , encoded in unary encoding, representing a polynomial X f= fi xαi ∈ Q[x1 , . . . , xn ] i that is non-negative on X, (I4 ) a positive rational number 1/ǫ encoded in unary encoding, output, in binary encoding, (O1 ) a point xǫ ∈ S that satisfies f (xǫ ) ≥ (1 − ǫ)f ∗ where f ∗ = max f (x). x∈S An ingredient in the proof of the FPTAS which will be used in other contexts below is the following result due to Barvinok [3] and generalized in [16]. Lemma 5.10. Let g(S, ξ) denote the short rational generating function encoding of S ⊆ Zn . Let f denote a polynomial in Z[x1 , . . . , xk ] (i.e. a polynomial with integer coefficients) of maximum degree q. We can compute, in polynomial time in P q and the input size, a short rational generating function representation of the function gf (S, ξ) = x∈S f (x)ξ x . We can use the generating function gf (S, ξ) to evaluate the sum of values of the function f on all the points in S, a generalization of the Count Theorem, as follows: Theorem 5.11. Let S ∈ Zk be a finite lattice point set, f a polynomial in Z[x1 , . . . xk ] of degree q. Given a short rational generating function representation of the function f over S, gf (S, ξ) as input, there P exists an algorithm that runs in in polynomial time in q and the input size to evaluate the sum x∈S f (x). 6. Encoding equilibrium configurations The main result of this section will be a rational generating function description of the set N of pure Nash equilibrium configurations of symmetric games with piecewise linear utility functions. 6.1. A decomposition-based encoding. To start we will consider explicitly represented piecewise linear utility functions of the form (4.1). To establish the result we take advantage of the polyhedral subdivisions of D which define the utility functions and view this in terms of boolean operations involving lattice points of polyhedra. Theorem 6.1. Consider an symmetric integer programming game with PWL payoffs of the form 4.1 given by the following input in binary encoding: (I1 ) the number n of players; (I2 ) action set A; (I3 ) for each a ∈ A a nonnegative integer |Ja |, and for each j ∈ Ja = {1, . . . , |Ja |} an inequality description of the polytope Paj given by an integer matrix Maj and integer right-hand side vector baj such that Paj = {x ∈ R|A| : Maj x ≤ baj } and integer vectors αaj ∈ Z|A| and integers βaj defining the affine functions faj (x) = αaj · x + βaj . 11 Then, the set N of pure Nash equilibrium configurations has a short rational generating function encoding, which can be computed in polynomial time when the number of actions is fixed. Proof. From (2.2) we have the following definition of N :  N = x ∈ D : ∀a ∈ A : (xa = 0) OR (xa ≥ 1, ∀a′ ∈ A : ua (x) ≥ u′a (x − ea′ + ea )) The only major difficulty in applying generating functions to encode N is the nonlinearity of the objectives ua . However, since these objectives are piecewise linear we simply consider the partitions of D into regions where the objectives are linear; that is, the polytopal subdivisions {Paj }j∈Ja for all a ∈ A. We use these partitions of D to express N as a Boolean combination of polytopal lattice point sets, in view of an eventual application of the Boolean Operations Theorem. Here is the resulting expression: [ ]] N =D\ Dev(a, a′ , j, j ′ ) (6.1) a,a′ j j′ where the first union is over all a, a′ ∈ A, the second union is over j ∈ Ja , the third union over j ′ ∈ Ja′ and the deviation set   x′ = x + ea′ − ea ∈ Pa′ j ′ ′ ′ Dev(a, a , j, j ) = x ∈ D : xa ≥ 1, x ∈ Paj , faj (x) ≤ fa′ j ′ (x′ ) − 1} is the set of configurations where a player currently playing action a in a configuration lying in region Paj has a profitable deviation to playing action a′ yielding a new configuration x′ ∈ Pa′ j ′ . It is straightforward to verify that (6.1) is indeed a valid description of N , we only point out the reasoning behinds why the second two unions are disjoint. The union indexed by j is disjoint because the sets Paj form a partition of D. The union indexed by j ′ is disjoint because once actions a and a′ are chosen, x′ is determined uniquely by x and lies in precisely one set Pa′ j ′ . The discussion in Remark 5.4 highlights the reason why we took such care in describing which unions in our expression for N are disjoint and which are not. Note that the second and third unions are not of fixed length as would be required in applying the Boolean Operations Theorem. However, since the unions are disjoint we can use simple addition of generating functions to handle this part of the overall expression of N . To make this precise, first note each of the Dev(a, a′ , j, j ′ ) are polytopal lattice point sets and thus admit short rational generating function encodings g(Dev(a, a′ , j, j ′ ), ξ) that can be computed in polynomial time. Noting Remark 5.4, for all a, a′ ∈ A the disjoint union ]] Dev(a, a′ ) = Dev(a, a′ , j, j ′ ) j j′ can also be encoded by a short rational generating in polynomial time: XX g(Dev(a, a′ ), ξ) = g(Dev(a, a′ , j, j ′ ), ξ). j j′ Thus since N = D \ a,a′ ∈A Dev(a, a′ ) and D and each of the sets Dev(a, a′ ) have short rational generating function encodings, we derive such an encoding for N using the Boolean Operations Theorem. It is important to note in applying the theorem that this Boolean combination of sets describing N are of constant length, since |A| is fixed.  S Corollary 6.2. Consider a symmetric game with PWL utilities given by the same input as in Theorem 6.1. Then there is (1) a polynomial time algorithm to compute the number of pure Nash equilibrium configurations, 12 (2) a polynomial time algorithm to find a sample pure strategy Nash equilibrium, when at least one exists, and (3) a polynomial-space polynomial-delay algorithm to enumerate all the pure Nash equilibrium configurations of the game, when the number of actions |A| is fixed. Proof. These are direct applications of the Counting Theorem and Enumeration Theorem to N . From the previous theorem we can find a short rational generating function encoding g(N, ξ) of N in polynomial time and hence: a direct application of the Counting Theorem yields (1), applying the Enumeration Theorem (noting the bound N ⊆ [0, n]k ) we need only wait polynomial time to output the first element of N thus implying (2), and applying the Enumeration Theorem directly  establishes (3). Of course this result trivially answers the problem of deciding if pure Nash equilibria exist in symmetric games with DPLC payoffs, simply count the number of equilibria by the above algorithm and observe if the number is nonzero. This can be done in polynomial time when the number of actions |A| is fixed. When we contrast this result with that of Brandt et. al. [6] we see that the input of a utility value for each action and configuration has been replaced with an input of the binary encoding of each piece of the PWL function which describes the utilities. In particular, since the input is the number n and its encoding size is log n the number of players is exponential in the input size if the other input data, including the number of pieces, scales with log n. By contrast the algorithm of Brandt et. al. [6] scales with n. 6.2. Encoding extended equilibria. In the case of DPLC functions we could apply Proposition 4.1 to convert DPLC utility functions into PWL utility functions and then apply Theorem 6.1 to the to yield an encoding of N . Despite this, we present an alternate approach to encoding N , which follows a different argument and takes as input the DPLC description of utilities given in (4.2), which is more compact than its PWL equivalent, it has fewer pieces to encode and no need for describing a polytopal subdivision of D directly. In addition, we believe the following approach to encoding N is of interest in its own and is thus included. The idea of the encoding is to introduce auxiliary variables y and z which capture information about the utilities. The relationship we want to establish between these new variables, the configurations x and the utilities are defined in the following set of extended equilibrium configurations:   yaa′ = maxk∈Ka′ ua′ k (x + e′a − ea ),   N̂ = (x, y, z) ∈ D × ZA×A × ZA×A : ∀a, a′ ∈ A : zaa′ = maxl∈La′ va′ k (x + e′a − ea ), .   yaa − zaa ≥ yaa′ − zaa′ when xa ≥ 1 (6.2) Proposition 6.3. The exists a bijection between the sets N and N̂ , where N is the set of pure Nash equilibrium configurations in a symmetric game defined by (2.2) and N̂ is the set of extended equilibrium configurations defined in (6.2). Proof. Consider the mapping ϕ : N −→ N̂ defined by x 7−→ (x, y, z) where for all a, a′ ∈ A, yaa′ = maxk∈Ka′ ua′ k (x + e′a − ea ) and zaa′ = maxl∈La′ va′ k (x + e′a − ea ). In particular the mapping yields: ua (x) = yaa − zaa and more generally, ua′ (x + ea′ − ea ) = yaa′ − zaa′ . We first claim that ϕ is well-defined. If x ∈ N then for all a ∈ A either xa = 0 or for all a′ ∈ A, ua (x) ≥ ua′ (x + ea′ − ea ). Thus, this implies that if xa ≥ 1 then yaa − zaa ≥ yaa′ − zaa′ and hence (x, y, z). The fact that that ϕ is a bijection is then straightforward to verify.  Theorem 6.4. Consider a symmetric game with DPLC utilities given by (4.2) with input: 13 (I1 ) the number n of players; (I2 ) action set A; (I3 ) for each a ∈ A, nonnegative integers |Ka | and |La |, and for all integers k ∈ Ka and l ∈ La , integer vectors αik ∈ Z|A| , γ il ∈ Z|A| and integers βak , δak defining the affine functions uak and val by uak (x) = αik · x + βik and val (x) = γ al · x + δil for all x ∈ D. Then there exists a polynomial time algorithm which computes a short rational generating function encoding of N̂ when the number of actions |A| is fixed. Proof. Let   ∀a, a′ ∈ A : ∀k ∈ Ka′ , ua′ k (x + ea′ − ea ) ≤ yaa′ ≤ Ua′ , A×A A×A D̂ = (x, y, z) ∈ D × Z ×Z : . ∀l ∈ La′ , va′ k (x + ea′ − ea ) ≤ zaa′ ≤ Va′ , where Ua′ and Va′ are upper bounds on the value of the utilities, as defined below. The reason for including these bounds is in anticipation of applying Barvinok’s algorithm for encoding the set D̂ as a short rational generating function, which applies only to polytopes. We define the bound Ua′ for yaa′ as follows, Va′ is defined analogously. Let Ua′ k denote the optimal value of the following linear program: max{ua′ k (x) : x ∈ conv(D)}. The feasible set conv(D) is the convex hull of the set of feasible configurations D. Thus, the value Ua′ k can be found in polynomial time (say by the ellipsoid method) and is of size polynomial in the binary encoding of the input. Note that Ua′ k is an upper bound on the corresponding integer program: max{ua′ k (x) : x ∈ D}. Let Ua′ = maxk Ua′ k . Again, this can be computed in polynomial time, since Ka is part of the input. This bound does not overly restrict the choice of yaa′ since we have the relation: yaa′ ≤ max ua′ k (x + ea′ − ea ) ≤ max max ua′ k (x) = max Ua′ k = Ua′ . k k x k Having described D̂, the next step is to use express N̂ as a Boolean combination of polytopal lattice point sets. Here is one possible way of expressing N̂ in this form:       [ [ [ N̂ = D̂ \  Y > ′ \  Z> ′ \  W > ′ a,a a,a′ ∈A a,a a,a′ ∈A a,a a,a′ ∈A where Ya,a′ = {(x, y, z) ∈ D̂ : ∀k ∈ Ka′ : yaa′ ≥ ua′ k (x + ea′ − ea ) + 1}, Za,a′ = {(x, y, z) ∈ D̂ : ∀l ∈ La′ : zaa′ ≥ va′ k (x + ea′ − ea ) + 1}, and Wa,a′ = {(x, y, z) ∈ D̂ : xa ≥ 1, yaa − zaa ≤ yaa′ − zaa′ − 1}. We can view Ya,a′ as the set of (x, y, z) where for a, a′ ∈ A the values of yaa′ is too large for the set N̂ . We can similarly interpret the sets Za,a′ and Wa,a′ . It is straightforward to verify that this is indeed a valid description of N̂ . Each of Ya,a′ , Za,a′ and Wa,a′ are polytopal lattice points sets and therefore can be encoded by short rational generating functions in polynomial time. The Boolean expression for N̂ thus consists of a fixed number of set operations over sets with short rational generating function encodings and thus N̂ itself can be encoded by a short rational generating function in polynomial time, by the Boolean Operations Theorem.  14 Corollary 6.5. Consider an symmetric integer programming game with DPLC payoffs of the form 4.2 with input as in the previous theorem. Then, the set N of pure Nash equilibrium configurations has a short rational generating function encoding, which can be computed in polynomial time when the number of actions |A| is fixed. Proof. With an encoding of N̂ we get an encoding of N by simply noting the bijection in Proposi tion 6.3 and applying Remark 5.5. As in the PWL case we can use this encoding to count and enumerate equilibria. 6.3. What’s next? In the remainder of this paper we explore extensions and applications of the encoding results found in this section for both the PWL and DPLC utility function setting. A proof in one setting leads naturally to an analogous ideas for a proof in the other. The first of these results, however, has complete proofs for both settings to give the reader the taste for the arguments. Later on we only establish results carefully for the PWL case, where the extension to the DPLC case should be clear. 7. Exploring the structure and distribution of equilibrium configurations This section examines how, once a generating function encoding of the set of pure Nash equilibria has been attained, this encoding can be used to further analyze the structure of equilibria. In so doing, we demonstrate the power of the rational generating functions in allowing for efficient computation. First we derive algorithms to compute approximate social welfare maximizing equilibria. Next we demonstrate how generating functions can be used to learn about the distributions of welfare amongst the set of equilibria, in terms of calculating the mean and variance of social welfare over the set N . Lastly, we explore the distributions of equilibrium payoffs by deriving histograms, in addition to mean and variance, for the distribution of payoffs earned from playing a particular action a in equilibrium. All of this gives us further insight into the structure and characteristics of alternate equilibria in symmetric games. 7.1. Social-welfare maximizing equilibria. When there are many equilibrium configurations in a symmetric game, one may ask which configuration is “best” from a social-welfare point of view. That is, we are interested in finding an optimal solution to the optimization problem: X max{ xa ua (x) : x ∈ N }; (7.1) a∈A that is, find an equilibrium which maximizes the sum of utilities. Denote by w(x) the objective function of this problem and let w∗ denote its optimal value. The next result describes an FPTAS for this optimization problem. Theorem 7.1. Consider a symmetric game with either PWL given by the same input as in Theorem 6.1, and in addition a positive rational number 1ǫ encoded in unary encoding. Then, for a fixed number of actions |A| there exists a polynomial time algorithm to output, in binary encoding, a configuration xǫ ∈ D that satisfies X w(xǫ ) ≥ (1 − ǫ)w∗ where w(x) = xa ua (x) and w∗ = max w(x) a∈A x∈N Proof. We establish the result in both the PWL and DPLC settings. We begin with considering PWL utility functions. A major difficulty in solving for w∗ is in understanding the objective function w(x). To aid in this we partition the feasible region N into subregions where ua (x) is linear simultaneously for all a ∈ A. This is achieved by considering the problem separately within 15 each cell of the the common refinement of each partition {Paj }j∈Ja of D. Let J = we have the following fine partition of D: [ D= Pj Q a∈A Ja , then (7.2) j∈J T where j = (ja )a∈A ∈ J and Pj = a∈A Paja . Note that this is also a partition of N . It is then clear that for x ∈ Pj each action’s utility is ua (x) = faja (x) and thus, ) ( X ∗ xa ua (x) : x ∈ N w = max a∈A = max max j∈J ( X xa faja (x) : x ∈ N ∩ Pj a∈A ) Our approach will be to find an ǫ-optimal solution x∗j for each inner optimization problem ) ( X xa faja (x) : x ∈ N ∩ Pj max (7.3) a∈A Q There are |J| = a∈A |Ja | such subproblems and note that |J| is polynomially P bounded in the input size. An overall ǫ-optimal solution x∗ is simply the x∗j which maximizes a∈A xa ua (x∗j ). To find an ǫ-optimal solution an inner optimization problem (7.3) we apply Theorem 5.9 with the following input: (1) two vectors xL = 0 and xU = (n, . . . , n) (2) The data describing the short rational generation function encoding of N ∩ Pj given by the encoding of N from Theorem P 6.1 and the Boolean Operations Lemma. (3) The polynomial objective a∈A xa faja (x), where the coefficients are all 1 and the exponent vectors are binary. (4) positive rational number 1ǫ The result then follows. For the DPLC case, by noting the bijection in Proposition 6.3 we can view the optimization problem (7.1) as an optimization problem over N̂ since: ) ( X xa ua (x) : x ∈ N w∗ = max a∈A = max ( X xa ua (x) : ϕ(x) = (x, y, z) ∈ N̂ X xa (yaa − zaa ) : (x, y, z) ∈ N̂ a∈A = max ( a∈A ) ) P The latter optimization problem to maximize the polynomial ŵ(x, y, z) = a∈A xa (yaa − zaa ) over the lattice point set N̂ . Since we assumed that utility are always positive, this is clearly a positive polynomial over the set N̂ . Now, apply Theorem 5.9 with the following input: U (1) two vectors (xL , yL , zL ) = 0 and (xU , yU , zU ) where for all a, a′ ∈ A, xU a = n, yaa′ = maxa Ua U and za = maxa Va (where Ua and Va are defined as in the proof of Theorem 6.5. 16 (2) The data describing the short rational generation function encoding of N̂ given by Theorem 6.4, where clearly N̂ ∈ P {(x, y, z) : (xL , yL , zL ) ≤ (x, y, z) ≤ (xU , yU , zU ). (3) The polynomial objective a∈A xa (yaa − zaa ), where the coefficients are all 1 and the exponent vectors are binary. (4) positive rational number 1ǫ The output is a point (xǫ , yǫ , zǫ ) ∈ N̂ that satisfies ŵ(xǫ , yǫ , zǫ ) ≥ (1 − ǫ)w∗ . By the bijection we have ϕ−1 (xǫ , yǫ , zǫ ) = xǫ and it follows that w(xǫ ) ≥ (1 − ǫ)w∗ , as required.  One might ask why we developed a separate argument for the DPLC case, when by Proposition 4.1 we could simply convert a DPLC instance into a PWL instance and then use the algorithm in that setting. note that the two settings, PWL and DPLC utilities, have two very different approaches. In the PWL case we have to find many ǫ-optimal solutions to subproblems via our partitioning, and in the DPLC case we need to expand the dimension of sets under consideration using an extended formulation. As our methods are sensitive to dimension the latter seems unfavorable, but a single FPTAS is required in this setting and so computational advantage of one method overall another is somewhat ambiguous. Further considerations of this nature are discussed in Section 10 and are a potential avenue for future investigations. 7.2. Mean and variance of social welfare. A related question to social welfare maximization is that of calculating the mean and variance of social welfare over all equilibrium configurations. At first glance these calculations would appear to be computationally expensive since in the worst case there may be an exponential number of equilibrium configurations. Nonetheless, we show that our polynomial-sized short rational generating function encoding of the set of equilibrium configurations can be used to answer this question efficiently. We isolate discussion to the PWL case, the details for the DPLC case are similar. 2 denote the mean and variance of social welfare over Given a symmetric game we let µw and σw all its equilibrium configurations N which can be expressed as: P w(x) (7.4) µw = x∈N |N | and 2 σw = P x∈N (w(x) − µw )2 |N | . 2 can be computed in polynomial time when the number is actions is We claim that µw and σw fixed. Theorem 7.2. Consider a symmetric game with either PWL given by the same input as in Theorem 6.1. Then, when the number of actions is fixed, there exists a polynomial time algorithms to 2 over all equilibrium configurations. find the mean social welfare µw and variance of social welfare σw Proof. We show how to compute µw in polynomial time by establishing algorithms to compute the numerator and denominator of the right-hand side of (7.4). In Corollary 6.2 we showed how to calculate the numerator |N | using a generating function encoding of N in polynomial time. The only task is to calculate the numerator. This again can be achieved using the partition of D given in equation (7.2) and using the simple fact that we can break up the sum into smaller sums over the cells in the partition; that is, by computing X X ŵ(x) = wj (7.5) x∈N j∈J 17 where wj = X X xa faja (x) (7.6) x∈N ∩Pj a∈A is the partial sum of utilities in cell N ∩ Pj using the same notationP as in the proof of Theorem 7.1. To compute this sum we compute each wj separately. Note that a∈A xa faja (x) is a polynomial function over the set N ∩ Pj (which as have shown in the proof of Theorem 6.1 has a short rational generating functioning encoding) and thus by Lemma 5.11 we can evaluate the sum. This in turn yields an overall polynomial time algorithm to compute µw . 2 by noting that the function f (x) = (w(x) − µ )2 is a A similar argument holds for finding σw w polynomial function over each cell N ∩ Pj of the partition of N and then appealing to Lemma 5.11.  Note that we can evaluate the mean and standard deviation of social welfare without recourse to enumeration of any equilibrium configurations, which again underscores the compactness provided by rational generating function encodings. 7.3. Distribution of payoffs in equilibrium. It should be noted that Theorem 7.2 can be generalized to hold for finding the mean and variance of evaluating an arbitrary polynomial function f (x) on the elements of N . One such function of interest is simply the payoff ua (x) for players playing action a in configuration x. In this subsection we explore the distribution of payoffs ua (x) for playing action a amongst all equilibrium configurations where actions a is played, i.e. for x ∈ N with xa ≥ 1. We let Na denote this set of equilibria. We immediately get the following result. Proposition 7.3. Consider a symmetric game with either PWL or DPLC utilities given by the same input as in Theorems 6.1 and 6.4 respectively. Then, when the number of actions is fixed, for each specified action a there exists a polynomial time algorithm to compute the mean µa and variance σa2 of payoffs for playing action a, taken over all equilibrium configurations x ∈ Na . The proof is analogous to the proof of Theorem 7.2, with the only major difference being that the we exchange Na for N . Details are omitted. However, since ua (x) corresponds to a affine functions over the cells Na ∩ Paj there is still more that we can say about how its values are distributed. As will be seen in our next result, we can construct a frequency histogram to describe the distribution of payoffs ua (x) over Na . The key step is to count equilibria in Na where the payoffs to players playing action a falls in some range ui ≤ ua (x) < ui+1 where ui < ui+1 are integers. The histogram Hau0 ,u1 ,...,uT will consist of counts of equilibria lying in consecutive intervals [ui , ui + 1) for i = 0, . . . T − 2 and [uT −1 , uT ] with umin = u0 < u1 < · · · < uT −1 < uT = umax where umin = min{ua (x) : x ∈ Na }, umax = max{ua (x) : x ∈ Na } Let ci,i+1 denote the number of equilibria in Na where ua (x) lies in the interval [ui , ui+1 ) for i = 0, . . . T − 2 and the interval [uT −1 , uT ] for i = T − 1. The next result shows such a histogram can be produced in polynomial time when the number of intervals T is not too large. Theorem 7.4. Given a symmetric game with PWL payoffs with the same input as Theorem 6.1 and a fixed number of actions there exists a polynomial time algorithm to construct histogram Hau0 ,u1 ,...,uT provided the number of consecutive intervals T for payoffs is of size polynomial in the binary encoding of the input. 18 Proof. As in the previous theorem our approach is to compute counts for the cells Na ∩ Paj then to sum the results over all j ∈ Ja . Thus, for i 6= 0, T − 1 we have X |{x ∈ N ∩ Paj : ui ≤ faj (x) ≤ ui+1 }|. ci,i+1 = j∈Ja To compute the cardinalities of the sets in the sum we apply the Counting Theorem to the rational generating function of {x ∈ N ∩ Paj : ui ≤ faj (x) ≤ ui+1 } which itself can be found in polynomial time using the Boolean Operations Theorem. It remains to show how to compute c0,1 and cT −1,T , and this is achieved as above once we know umin and umax . We only give details for finding umax . Again using our partition of Na it suffices to compute max{faj (x) : x ∈ N ∩ Paj for each j ∈ Ja . Given our short rational generating function encoding of N ∩ Paj this can be found in polynomial time by an appeal to the Linear Optimization Theorem with the appropriate input.  8. M -symmetric games A game is M -symmetric, when the set of players can be partitioned into M classes, labeled {1, . . . , M }, such that within each class, players are interchangeable. This means that players in each class have the same number of actions SM and the same utility functions. Formally, each class i has ni players and Ai actions with A = i=1 Ai . Define an M -configuration to be a vector x ∈ Z A such that for each i ∈ {1, . . . , M }, for each a ∈ AQ i , xia is the number of players in class i that choose action a. The set of M -configurations is D= M i=1 Di where X xia = ni } Di = {xi ∈ Z |Ai | : xi ≥ 0, a∈Ai For a player from class i, her utility of playing action a ∈ Aj is a function of the configuration x, denoted uia (x). We are interested in M -symmetric games with piecewise linear S utility functions. The input is as follows: for each class i there is a polyhedral subdivision Di = j∈Jia Piaj where Jia is a finite index set, over affine functions fiaj for j ∈ Jia defining utility functions uia (x) = fiaj (x) for x ∈ Piaj . An M -configuration x is a pure Nash equilibrium M -configuration if and only if for all i ∈ {1, . . . , M } and for all a, a′ ∈ Aj , xia = 0 or uia (x) ≥ uia′ (x + ea′ − ea ). Using similar arguments as before, we can encode the set of pure equilibria as a short rational generating function. This procedure works in polynomial time in the input size (that is, the binary encoding of n and the description of the objective functions) as long as |A| and M are bounded constants. 9. Parameterized symmetric games Another advantage of our approach is that it is now possible to consider a family of games parameterized by a fixed number of parameters, and answer interesting questions about the family of games without having to solve each individual game in the family. Many problems in mechanism design have such a flavor; e.g. designing a game (i.e. setting the parameters) such that the resulting equilibria satisfy certain properties or optimize a certain objective. Our overall approach is to augment the configuration vector with a fixed number of integer parameters and consider the number of players as a parameter. The actions remain the same in each member of the parametric family. We continue our construction of rational generating function for pure equilibria as before. The resulting set of points has the property that if we fix the parameters, it gives the set of pure equilibria for the game with that particular instantiation of parameters. In other words, it is the graph of the parameters-equilibria correspondence. 19 A precondition of our approach is that after parametrization, the constraints that specify pure equilibria are still linear. This implies that certain aspects of the game can be efficiently parameterized while certain other aspects are not. Since we are considering a parametric family of games where the number of players is a changing parameter, we define our piecewise linear utilities over configurations of different numbers of players. That is, we define the utilities over the set of feasible configurations: X F = {x ∈ Z|A| : 0 ≤ xa ≤ B, xa ≥ 0∀a ∈ A} a∈A where B is a bound on the total number of players. In other words, the number of players in the game can be between 0 and B and utilities can be defined on any configuration involving up to B players. In the PWL setting the input is a polyhedral subdivision {Paj }j∈Ja of F , for each action a, and affine functions faj defined over the cells Paj as in Section 2 except now the division is over F . We can also now introduce a fixed number of parameters that controls the additive constants in the affine functions faj . We constrain these parameters to be the lattice points inside a polytope of fixed dimension Q ∈ Rd . Formally, let p be d-dimensional integer vector inside of P and for each a and each j ∈ Ja , define faj (x, p) = αaj x + β aj p (9.1) where now ua (x, p) = faj (x, p) for p ∈ Q and x ∈ Paj In other words, the parameter allows for an additive change in each piece of the piecewise linear utility function ua . We are interested in encoding the set of parameterized pure Nash equilibria defined as follows: N = {(x, np) : p ∈ Q, 0 ≤ n ≤ B, x ∈ N (n, p)} (9.2) where N (n, p) is the setPof pure Nash equilibria in the symmetric game with n players, feasible configurations {x ∈ F : a∈A = n} and utilities are defined as in (9.1) for a given parameter p. The approach we use to encode N is similar to that of Section 6.1 in that we describe N as a Boolean combination of sets of lattice points contained in polyhedra that in part derive from a partitioning of N into cells of the form N ∩ Pj using the same notation as in that section. The expression of N as a Boolean combination of sets is as follows: [ ]] N =F \ Dev(a, a′ , j, j ′ ) a,a′ j j′ a, a′ where the first union is over all ∈ A, the second union is disjoint over j ∈ Ja , the third union ′ ′ is disjoint over j ∈ Ja and the deviation set   p ∈ Q, 0 ≤ n ≤ B,     P   x = n, x ≥ 1, x ∈ P a a aj ′ ′ a∈A Dev(a, a , j, j ) = (x, n, p) : ′ x = x + ea′ − ea ∈ Pa′ j ′       faj (x) ≤ fa′ j ′ (x′ ) − 1} It is clear that each Dev(a, a′ , j, j ′ ) is a polytopal lattice point set in (x, p) and thus the encoding of N then obtains by applying the Boolean Operations Theorem and the content of Remark 5.4 just as in the proof of Theorem 6.1. We have thus established the following: Theorem 9.1. Consider a parametric symmetric integer programming game with PWL payoffs of the form 4.1 given by the following input in binary encoding: (I1 ) an integer bound B on the number of players; 20 (I2 ) an inequality description of a rational polytope Q contained in Rd . (I3 ) an action set A; (I4 ) for each a ∈ A, a nonnegative integer |Ja | and each j ∈ Ja = {1, . . . , |Ja |} an inequality description of the polytope Paj and integer vectors αaj ∈ Z|A| , and integers β aj defining the affine functions faj (x) = αaj · x + β aj · p. Then, the set N of parameterized Nash equilibrium configurations defined in (9.2) has a short rational generating function encoding, which can be computed in polynomial time when the number of actions |A| and the dimension of the parameter space d is fixed. Once we have encoded the set N of parameterized pure equilibria in (9.2) as a short rational generating function we can optimize linear and polynomial objectives over this set efficiently in view of the Linear Optimization Theorem and Theorem 5.9. This can be seen as a form of mechanism design, where the underlying configurations of players F remain the same but a designer can adjust the number of players and utilities through p so as to optimize (or approximately optimize) some objective. Formally, we solve min f (x, n, p) s. t. (x, n, p) ∈ N to ǫ-optimality for a general nonnegative polynomial objective f and exactly when f is linear, both in polynomial time when the number of actions is fixed. This implicitly assumes that the designer can choose a given equilibrium x from the set N (n, p) once n and p are chosen. This can be seen as a generalization of the “optimistic assumption” common in the bilevel optimization literature, for details see [? ]. 10. Computational issues We want to highlight a need for caution when considering the practical implications of complexity results using the above-stated results for computing equilibria in symmetric games. Although the algorithms presented have nice theoretical run-times in practice the situation in less promising. Many of these algorithms have been implemented in two software packages: LattE machiatto [24] and barvinok [35]. The algorithm of Barvinok for encoding polyhedra is quite sensitive to dimension and problems with up to dimension 30 are the largest instances that have been done in practice [25]. The algorithms for boolean operations also requires costly operations and current implementations in essentially doubling the dimension, and problems with only up to 15. Potentially more disconcerting is that the only working implementation of the Projection Theorem works has performed well on problems with only very few variables (up to four) [27]. This is an active area of research and it is hoped that future gains can be made in the practical implementations of these algorithms. The method of this paper shares some important similarities with that of the previous study by Köppe et. al. [26] on using rational generating functions to find equilibria in integer programming games, in particular both build on the theory of rational generating functions, largely from the 2003 paper by Barvinok and Woods [4]. There are, however, some important differences. In our symmetric case, because there are a finite number of actions, it is much easier to capture deviations in this setting. Indeed, as we saw, unilateral deviations will only affect a configuration vector by 1 in two entries and thus there are few deviations one needs to consider. By contrast, in integer programming games a unilateral deviation can go from the current action profile to a large, in fact exponential, number of different alternate profiles. This is the major reason behind the fact that in this paper we can avoid the use of the Projection Theorem which seems quite is necessary in the integer programming games case. The fact that we can avoid the Projection Theorem altogether in the symmetric case makes the algorithms of this paper more likely to be practical than in the previous study. 21 11. Conclusions and directions for further research In this paper we explored a promising form of compactly represented symmetric games – those with piecewise linear objectives. Given enough pieces such a setting is completely general, but the methods explored here allow us to compute pure NE with the complexity scaling in the number of pieces and not the number of configurations which define the game. This is a major advantage over previous methods. We believe no existing compact representations of symmetric games combine both the generality and powerful approach to computation offered here. Also of note is the novel approach for studying pure strategy Nash equilibria – rational generating functions. The simplicity by which they were used to compute important information on the structure of these games, again reinforces the power of generating functions as an analytical and computational tool for game theory. This confirms the hope of the previous study which used generating functions in games [26] had that these methods can be used to enlighten further investigations in algorithmic game theory, and only adds weight to the case for future use of the method. This work also puts more impetus on searching for improved implementations of Barvinok’s Theorem and the Boolean Operations Theorem, an important area for future research. The results on parametric games also hold promise as a methodology for further investigations on the nature and structure of symmetric games. Future studies might do well to explore practical computations to glean more insights in this direction. References [1] C. Alvarez, J. Gabarro, and M. Serna. Pure Nash equilibria in a game with large number of actions. In Mathematical Foundations of Computer Science. 2005. [2] A. Barvinok. A polynomial time algorithm for counting integral points inpolyhedra when the dimension is fixed. Mathematics of Operations Research, 19(4):769–779, 1994. [3] A. Barvinok. Computing the Ehrhart quasi-polynomial of a rational simplex. Mathematics of Computation, 75(255):1449–1466, 2006. [4] A. Barvinok and K. M. Woods. Short rational generating functions for lattice point problems. Journal of the American Mathematical Society, 16(957-979), 2003. [5] N. A. R. Bhat and K. Leyton-Brown. Computing Nash equilibria of action-graph games. In UAI: Proceedings of the Conference on Uncertainty in Artificial Intelligence, pages 35–42, 2004. [6] F. Brandt, F. Fischer, and M. Holzer. Symmetries and the complexity of pure Nash equilibrium. Journal of Computer and System Sciences, 75(3):163–177, 2009. [7] X. Chen and X. Deng. Settling the complexity of two-player Nash equilibrium. In FOCS: Proceedings of the Annual IEEE Symposium on Foundations of Computer Science, pages 261–272, 2006. [8] S.F. Cheng, D.M. Reeves, Y. Vorobeychik, and M.P. Wellman. Notes on equilibria in symmetric games. In AAMAS: Proceedings of the International Joint Conference on Autonomous Agents and Multiagent Systems, 2004. [9] C. Daskalakis, A. Fabrikant, and C.H. Papadimitriou. The game world is flat: The complexity of Nash equilibria in succinct games. In ICALP: Proceedings of the International Colloquium on Automata, Languages and Programming, pages 513–524, 2006. [10] C. Daskalakis, P. W. Goldberg, and C. H. Papadimitriou. The complexity of computing a Nash equilibrium. In STOC: Proceedings of the Annual ACM Symposium on Theory of Computing, pages 61–70, 2006. [11] C. Daskalakis and C. H. Papadimitriou. Three-player games are hard. In ECCC: Electronic Colloquium on Computational Complexity, 2005. [12] C. Daskalakis and C.H. Papadimitriou. Computing pure Nash equilibria in graphical games via Markov random fields. In ACM-EC: Proceedings of the ACM Conference on Electronic Commerce, pages 91–99, 2006. [13] C. Daskalakis and C.H. Papadimitriou. Computing equilibria in anonymous games. In FOCS: Proceedings of the Annual IEEE Symposium on Foundations of Computer Science, pages 83–93, 2007. [14] C. Daskalakis, G. Schoenebeck, G. Valiant, and P. Valiant. On the complexity of Nash equilibria of Action-Graph Games. In SODA: Proceedings of the ACM-SIAM Symposium on Discrete Algorithms, pages 710–719, 2009. [15] J. A. De Loera. The many aspects of counting lattice points in polytopes. Mathematische Semesterberichte, 52(2):175–195, August 2005. 22 [16] J. A. De Loera, R. Hemmecke, and M. Köppe. Pareto optima of multicriteria integer linear programs. INFORMS Journal on Computing, 21(1):39–48, 2009. [17] J. A. De Loera, R. Hemmecke, M. Köppe, and R. Weismantel. Integer polynomial optimization in fixed dimension. Mathematics of Operations Research, 31(1):147–153, February 2006. [18] J. A. De Loera, R. Hemmecke, J. Tauzer, and R. Yoshida. Effective lattice point counting in rational convex polytopes. Journal of Symbolic Computation, 38(4):1273–1302, October 2004. [19] A. Fabrikant, C. Papadimitriou, and K. Talwar. The complexity of pure Nash equilibria. STOC: Proceedings of the Annual ACM Symposium on Theory of Computing, pages 604–612, 2004. [20] G. Gottlob, G. Greco, and F. Scarcello. Pure Nash equilibria: Hard and easy games. Journal of Artificial Intelligence Research, 24:357–406, 2005. [21] A. Jiang and K. Leyton-Brown. Computing pure Nash equilibria in symmetric action graph games. In AAAI: Proceedings of the AAAI Conference on Artificial Intelligence, 2007. [22] S. Kakade, M. Kearns, J. Langford, and L. Ortiz. Correlated equilibria in graphical games. In ACM-EC: Proceedings of the ACM Conference on Electronic Commerce, pages 42–47, 2003. [23] M. Kearns, M. Littman, and S. Singh. Graphical models for game theory. In UAI: Proceedings of the Conference on Uncertainty in Artificial Intelligence, 2001. [24] M. Köppe. LattE machiatto. Available from URL http://www.math.ucdavis.edu/ mkoeppe/latte/, 2006. [25] M. Köppe. LattE machiatto benchmarks. http://www.math.ucdavis.edu/ mkoeppe/latte/latte-benchmark-200711-01.html, 2007. [26] M. Köppe, C. T. Ryan, and M. Queyranne. Rational generating functions and integer programming games (http://arxiv.org/abs/0809.0689). August 2008. [27] M. Köppe, S. Verdoolaege, and K. M. Woods. An implementation of the Barvinok-Woods integer projection algorithm. In International Conference on Information Theory and Statistical Learning (June 2008), pages 53– 59, 2008. [28] D. Lepelley, A. Louichi, and H. Smaoui. On Ehrhart polynomials and probability calculations in voting theory. Social Choice and Welfare, 30(3):363–383, 2008. [29] J. Nash. Non-cooperative games. Annals of Mathematics, 54(2):286–295, February 1951. [30] N. Nisan, T. Roughgarden, E. Tardos, and V.V. Vazirani. Algorithmic Game Theory. Cambridge University Press New York, NY, USA, 2007. [31] C. H. Papadimitriou and T. Roughgarden. Computing correlated equilibria in multi-player games. Journal of the ACM, 55(3):1–29, 2008. [32] R.W. Rosenthal. A class of games possessing pure-strategy Nash equilibria. International Journal of Game Theory, 2:65–67, 1973. [33] G. Schoenebeck and S. Vadhan. The computational complexity of Nash equilibria in concisely represented games. In ACM-EC: Proceedings of the ACM Conference on Electronic Commerce, pages 270–279, 2006. [34] Y. Shoham and K. Leyton-Brown. Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations. Cambridge University Press, New York, 2009. [35] S. Verdoolaege. barvinok. Available from URL http://freshmeat.net/projects/barvinok/, 2006. [36] S. Verdoolaege, R. Seghir, K. Beyls, V. Loechner, and M. Bruynooghe. Analytical computation of Ehrhart polynomials: Enabling more compiler analyses and optimizations. In Proceedings of the ACM International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, pages 248–258, 2004. A. X. Jiang: University of British Columbia, Department of Computer Science, 201-2366 Main Mall, Vancouver, B.C., Canada, V6T 1Z4 E-mail address: jiang@cs.ubc.ca C. T. Ryan: University of British Columbia, Sauder School of Business, 2053 Main Mall, Vancouver, BC, Canada, V6T 1Z2 E-mail address: chris.ryan@sauder.ubc.ca K. Leyton-Brown: University of British Columbia, Department of Computer Science, 201-2366 Main Mall, Vancouver, B.C., Canada, V6T 1Z4 E-mail address: kevinlb@cs.ubc.ca 23