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