{'fraction_non_alphanumeric': 0.04570771671901817, 'fraction_numerical': 0.009342314044234318, 'mean_word_length': 3.8774382057964147, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 14, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 27, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
From Duels to Battefields: Computing Equilibria of Blotto and Other Games

We study the problem of computing Nash equilibria of zero-sum games. Many natural zero-sum games have exponentially many strategies, but highly structured payoffs. For example, in the well-studied Colonel Blotto game (introduced by Borel in 1921), players must divide a pool of troops among a set of battlefields with the goal of winning (i.e., having more troops in) a majority. The Colonel Blotto game is commonly used for analyzing a wide range of applications from the U.S presidential election, to innovative technology competitions, to advertisement, to sports. However, because of the size of the strategy space, standard methods for computing equilibria of zero-sum games fail to be computationally feasible. Indeed, despite its importance, only a few solutions for special variants of the problem are known. In this paper we show how to compute equilibria of Colonel Blotto games. Moreover, our approach takes the form of a general reduction: to find a Nash equilibrium of a zero-sum game, it suffices to design a separation oracle for the strategy polytope of any bilinear game that is payoff-equivalent. We then apply this technique to obtain the first polytime algorithms for a variety of games. In addition to Colonel Blotto, we also show how to compute equilibria in an infinite-strategy variant called the General Lotto game; this involves showing how to prune the strategy space to a finite subset before applying our reduction. We also consider the class of dueling games, first introduced by Immorlica et al. (2011). We show that our approach provably extends the class of dueling games for which equilibria can be computed: we introduce a new dueling game, the matching duel, on which prior methods fail to be computationally feasible but upon which our reduction can be applied.


Introduction
Computing a Nash equilibrium of a given game is a central problem in algorithmic game theory. It is known that every finite game admits a Nash equilibrium (that is, a profile of strategies from which no player can benefit from a unilateral deviation) [39]. But it is not necessarily obvious how to find an equilibrium. Indeed, the conclusions to date have been largely negative: computing a Nash equilibrium of a normal-form game is known to be PPAD-complete [16,22], even for two-player games [12]. In fact, it is PPAD-complete to find an 1 n O(1) approximation to a Nash equilibrium [13]. These results call into question the predictiveness of Nash equilibrium as a solution concept.
This motivates the study of classes of games for which equilibria can be computed efficiently. It has been found that many natural and important classes of games have structure that can be exploited to admit computational results [15,21,30,36]. Perhaps the most well-known example is the class of zero-sum two-player games 1 , where player 2's payoff is the negation of player 1's payoff. The normal-form representation of a zero-sum game is a matrix A, which specifies the game payoffs for player 1. This is a very natural class of games, as it models perfect competition between two parties. Given the payoff matrix for a zero-sum game as input, a Nash equilibrium can be computed in polynomial time, and hence time polynomial in the number of pure strategies available to each player [15]. Yet even for zero-sum games, this algorithmic result is often unsatisfactory. The issue is that for many games the most natural representation is more succinct than simply listing a payoff matrix, so that the number of strategies is actually exponential in the most natural input size. In this case the algorithm described above fails to guarantee efficient computation of equilibria, and alternative approaches are required.
The Colonel Blotto Game A classical and important example illustrating these issues is the Colonel Blotto game, first introduced by Borel in 1921 [8,9,19,20,48]. In the Colonel Blotto game, two colonels each have a pool of troops and must fight against each other over a set of battlefields. The colonels simultaneously divide their troops between the battlefields. A colonel wins a battlefield if the number of his troops dominates the number of troops of his opponent. The final payoff of each colonel is the (weighted) number of battlefields won. An equilibrium of the game is a pair of colonels' strategies, which is a (potentially randomized) distribution of troops across battlefields, such that no colonel has incentive to change his strategy. Although the Colonel Blotto game was initially proposed to study a war situation, it has found applications in the analysis of many different forms of competition: from sports, to advertisement, to politics [38,34,37,14,31,32], and has thus become one of the most well-known games in classic game theory.
Colonel Blotto is a zero-sum game. However, the number of strategies in the Colonel Blotto game is exponential in its natural representation. After all, there are n+k−1 k−1 ways to partition n troops among k battlefields. The classical methods for computing the equilibra of a zero-sum game therefore do not yield computationally efficient results. Moreover, significant effort has been made in the economics literature to understand the structure of equilibria of the Colonel Blotto game, i.e., by solving for equilibrium explicitly [47,6,7,5,45,49,42,33,26,23,32]. Despite this effort, progress remains sparse. Much of the existing work considers a continuous relaxation of the problem where troops are divisible, and for this relaxation a significant breakthrough came only quite recently in the seminal work of Roberson [42], 85 years after the introduction of the game. Roberson finds an equilibrium solution for the continuous version of the game, in the special case that all battlefields have the same weight. The more general weighted version of the problem remains open, as does the original non-relaxed version with discrete strategies. Given the apparent

Our Contribution
We first show how to compute equilibria of the Colonel Blotto game. Like the works described above, our method is to consider a payoff-equivalent bilinear game defined over a space of appropriatelyselected marginals (in this case, the distribution of soldiers to a given battlefield). However, unlike those works, we do not explicitly construct a game-specific mapping to and from a polynomiallysized bilinear game. We instead use a more general reduction, based on the idea that it suffices to solve linear optimization queries over strategy profiles in a (potentially exponentially-sized) bilinear game. In other words, equilibrium computation reduces to the problem of finding a strategy that optimizes a given linear function over its marginal components. We apply our reduction to the Colonel Blotto game by showing how to solve these requisite optimization queries, which can be done via dynamic programming.
The reduction described above follows from a repeated application of the classic equivalence of separation and optimization [24]. In more detail, we formulate the equilibrium conditions as an LP whose feasibility region is the intersection of two polytopes: the first corresponding to the set of strategies of player 1, and the second encoding payoff constraints for player 2. To find a solution of the LP via Ellipsoid method, it suffices to design a separation oracle for each polytope. However, as we show, separation oracles for the second polytope reduce to (and from) separation oracles for the set of strategies of player 2. It therefore suffices to design separation oracles for the polytope of strategies for each player, and for this it is enough to perform linear optimization over those polytopes [24]. Finally, to convert back to an equilibrium of the original game, we make use of a result from combinatorial optimization: the solution of an LP with polynomially many variables can always be expressed as a mixed strategy with a polynomial-size support, and such a mixed strategy can be computed using the separation oracles described previously [24].
The reduction described above is not specific to the Colonel Blotto game: it applies to any zero-sum game, and any payoff-equivalent bilinear form thereof. To the best of our knowledge, this general reduction from equilibrium computation to linear optimization has not previously been stated explicitly, although it has been alluded to in the security games literature 2 and similar ideas have been used to compute correlated equilibria in compact games [28]. In particular, it is notable that one requires only a single linear optimization oracle, over the set of pure strategies, to both find an equilibrium of the bilinear game and convert this to a mixed equilibrium in the original game. We demonstrate the generality of this approach by considering notable examples of games to which it can be applied. In each case, our approach either results in the first known polytime algorithm for computing equilibria, or else significantly simplifies prior analysis. Finally, we note that our approach also extends to approximations: given the ability to approximately answer separation oracle queries to within any fixed error ǫ > 0, one can compute a corresponding approximation to the equilibrium payoffs.
Dueling Games In a dueling game, introduced by Immorlica et al. [27], two competitors each try to design an algorithm for an optimization problem with an element of uncertainty, and each player's payoff is the probability of obtaining a better solution. This framework falls within a natural class of ranking or social context games [1,10], in which players separately play a base game and then receive ultimate payoffs determined by both their own outcomes and the outcomes of others. Immorlica et al. argue that this class of games models a variety of scenarios of competitions between algorithm designers: for example, competition between search engines (who must choose how to rank search results), or competition between hiring managers (who must choose from a pool of candidates in the style of the secretary problem). Immorlica et al. [27] show how to compute a Nash equilibrium for certain dueling games, by developing mappings to and from bilinear games with compact representations. We extend their method, and show how to expand the class of dueling games for which equilibria can be efficiently computed. As one particular example, we introduce and solve the matching duel. In this game, two players each select a matching in a weighted graph, and each player's payoff is the probability that a randomly selected node would have a higher-weight match in that player's matching than in the opponent's. Notably, since the matching polytope does not have a compact representation [43], the original method of [27] is not sufficient to find equilibria of this game. We also illustrate that our approach admits a significantly simplified analysis for some other dueling games previously analyzed by Immorlica et al.
General Lotto Game Hart [26] considers a variant of the Colonel Blotto game, namely the General Lotto game. In this game, each player chooses a distribution over non-negative real numbers, subject to the constraint that its expectation must equal a certain fixed value. A value is then drawn from each player's chosen distribution; the players' payoffs are then functions of these values. What is interesting about this game is that there are infinitely many pure strategies, which complicates equilibrium computation. Nevertheless, we show that our techniques can be applied to this class of games as well, yielding a polynomial-time algorithm for computing Nash equilibria. It is worth mentioning that the General Lotto game is an important problem by itself, and its continuous variant has been well studied in the literature (see, for example, [4,44,26,18]).

Subsequent Work
The algorithm proposed in this work is later improved and simplified in [3].

Results and Techniques
We present a general method for computing Nash equilibria of a broad class of zero-sum games. Our approach is to reduce the problem of computing equilibria of a given game to the problem of optimizing linear functions over the space of strategies in a payoff-equivalent bilinear game.
Before presenting our general reduction, we will first illustrate our techniques by considering the Colonel Blotto game as a specific example. In Section 2.1 we describe our approach in detail for the Colonel Blotto game, explaining the process by which equilibria can be computed. Then in Section 2.2 we will present the general reduction. Further applications of this technique are provided in Section 3 (for dueling games) and Appendix B (for the General Lotto game).

Colonel Blotto
Here, we propose a polynomial-time algorithm for finding an equilibrium of discrete Colonel Blotto in its general form. We allow the game to be asymmetric across both the battlefields and the players. A game is asymmetric across the battlefields when different battlefields have different contributions to the outcome of the game, and a game is asymmetric across the players when two players have different number of troops.
In the Colonel Blotto game, two players A and B simultaneously distribute a and b troops, respectively, over k battlefields. A pure strategy of player A is a k-partition x = x 1 , x 2 , . . . , x k where k i=1 x i = a, and a pure strategy of player B is a k-partition y = y 1 , y 2 , . . . , y k where be the payoff of player A and player B from the i-th battlefield, respectively. Note that the payoff functions of the i-th battlefield, u A i and u B i , have (a + 1) × (b + 1) entries. This means the size of input is Θ(kab). Since Colonel Blotto is a zero-sum game, we have Note that we do not need to put any constraint on the payoff functions, and our result works for all payoff functions. We also represent the total payoff of player A and player B by , respectively. A mixed strategy of each player would be a probability distribution over his pure strategies. Theorem 1 One can compute an equilibrium of any Colonel Blotto game in polynomial time.
Proof: Let X and Y be the set of all pure strategies of players A and B respectively, i.e., each member of X is a k-partition of a troops and each member of Y is a k-partition of b troops. We represent a mixed strategy of player A with function p : X → [0, 1] such that x∈X p(x) = 1. Similarly, let function q : Y → [0, 1] be a mixed strategy of player B. We may also use x and y, instead of p and q, for referring to a mixed strategy of player A and B respectively. Since Colonel Blotto is a zero-sum game, we leverage the MinMax theorem for finding an NE of the game. This theorem says that pair (p * , q * ) is an NE of the Colonel Blotto game if and only if strategies p * and q * maximize the guaranteed payoff of players A and B respectively [46]. Now, we are going to find strategy p * of player A which maximizes his guaranteed payoff. The same technique can be used for finding q * . It is known that for each mixed strategy p, at least one of the best-response strategies to p is a pure strategy. Therefore, a solution to the following program characterizes strategy p * .
Unfortunately, LP 1 has |X | variables and |Y| + 1 constraints where |X | and |Y| + 1 are exponential. We therefore cannot solve LP 1 directly.
Step 1: Transferring to a new space. We address this issue by transforming the solution space to a new space in which an LP equivalent to LP 1 becomes tractable (See, e.g., [2], for similar technique). This new space will project mixed strategies onto the marginal probabilities for each (battlefield, troop count) pair. For each pure strategy x ∈ X of player A, we map it to a point in {0, 1} n(A) where n(A) = k × (a + 1). For convenience, we may abuse the notation, and index each point x ∈ {0, 1} n(A) by two indices i and j such thatx i,j representsx (i−1)(a+1)+j+1 . Now we map a pure strategy is the expected payoff of player A.
Step 2: Solving LP 2. The modified LP above, LP 2, has exponentially many constraints, but only polynomially many variables. One can therefore apply the Ellipsoid method to solve the LP, given a separation oracle that runs in polynomial time [25,41]. By the equivalence of separation and optimization [24], one can implement such a separation oracle given the ability to optimize linear functions over the polytopes S A (for the membership constraints) and S B (for the payoff constraints). Stated more explicitly, given a sequence c 0 , c 1 , . . . , c k(m+1) , where k is the number of battlefields and m is the number of troops for a player, the required oracle must find a pure strategy x = (x 1 , x 2 , . . . , x k ) ∈ X such that k i=1 x i = m, andx = G(x) minimizes the following equation: and similarly for polytope Y. The following lemma shows that one can indeed find a minimizer of Equation (3) in polynomial time.
Lemma 2.1 Given two integers m and k and a sequence c 0 , c 1 , . . . , c k(m+1) , one can find (in polynomial time) an optimal pure strategy x = (x 1 , x 2 , . . . , Proof: We employ a dynamic programming approach. Define d[i, t] to be the minimum possible value of c ixi . We have that d[0, j] is equal to c 0 for all j. For an arbitrary i > 0 and t, the optimal strategy x puts 0 ≤ t ′ ≤ t units in the i-th battlefield and the applied cost in the equation 3 is equal to c (i−1)(m+1)+t ′ +1 . Thus, we can express d[i, t] as Solving this dynamic program, we can find the allocation of troops that minimizes α ixi in polynomial time, as required.
Step 3: Transferring to the original space. At last we should transfer the solution of LP 2 to the original space. In particular, we are given a pointx ∈ S A and our goal is to find a strategy x ∈ M(X ) such that G A (x) =x. To achieve this, we invoke a classic result of [24] which states that an interior point of an n-dimensional polytope P can be decomposed as a convex combination of at most n + 1 extreme points of P , in polynomial time, given an oracle that optimizes linear functions over P . Note that this is precisely the oracle required for Step 2, above. Applying this result to the solution of LP 2 in polytope S A , we obtain a convex decomposition ofx into extreme points of S A , sayx = i α ixi . Since eachx i corresponds to a pure strategy in X , it is trivial to find point Combining these three steps, we find a Nash Equilibrium of the Colonel Blotto game in polynomial time, completing the proof of Theorem 1. See Appendix A for more details.

A general framework for bilinear games
In our method for finding a Nash Equilibrium of the Colonel Blotto game, the main steps were to express the game as a bilinear game of polynomial dimension, solve for an equilibrium of the bilinear game, then express that point as an equilibrium of the original game. To implement the final two steps, it sufficed to show how to optimize linear functions over the polytope of strategies in the bilinear game. This suggests a general reduction, where the equilibrium computation problem is reduced to finding the appropriate bilinear game and implementing the required optimization algorithm. In other words, the method for computing Nash equilibria applies to a zero-sum game when: 1. One can transfer each strategy x of player A to G A (x) =x ∈ R n(A) , and each strategy y of player B to G B (y) =ŷ ∈ R n(B) such that the payoff of the game for strategiesx andŷ can be represented in a bilinear form based onx andŷ, i.e., the payoff isx t Mŷ where M is a n(A) × n(B) matrix. 2. For any given vector α and real number α 0 we can find, in polynomial time, whether there is a pure strategyx in the transferred space such that α 0 + i α ixi ≥ 0.
We refer to such a game as polynomially separable. A direct extension of the proof of Theorem 1 implies that Nash equilibria can be found for polynomially separable games.
Theorem 2 There is a polytime algorithm which finds a Nash Equilibrium of a given polynomially separable game.
This general methodology can be used for finding a NE in many zero-sum games. In subsequent sections, we show how our framework can be used to find Nash equilibria for a generalization of Blotto games, known as games, and for a class of dueling games introduced by Immorlica et al. [27].
We also show one can use similar techniques to compute the approximate equilibrium payoffs of a dueling game when we are not able to answer the separation problem in polynomial time but instead we can polynomially solve the ǫ-separation problem for any ǫ > 0. The proof of Theorem 2 is deferred to Appendix E.
Theorem 3 Given an oracle function for the ǫ-separation problem, one can find an ǫ-approximation to the equilibrium payoffs of a polynomially separable game in polynomial time.

General Lotto
The General Lotto game is a relaxation of the Colonel Lotto game (See [26] for details). In this game each player's strategy is a distribution of a nonnegative integer-valued random variable with a given expectation. In particular, players A and B simultaneously determine (two distributions of) two nonnegative integer-valued random variables X and Y , respectively, such that and again the payoff of player B is the negative of the payoff of player Hart [26] presents a solution for the General Lotto game when u(i, j) = sign(i − j). Here, we generalize this result and present a polynomial-time algorithm for finding an equilibrium when u is a bounded distance function. Function u is a bounded distance function, if one can write it as u(i, j) = f u (i − j) such that f u is a monotone function and reaches its maximum value at is a bounded distance function where it reaches its maximum value at i − j = 1. Now, we are ready to present our main result regarding the General Lotto game.
Theorem 4 There is a polynomial-time algorithm which finds an equilibrium of a General Lotto game where the payoff function is a bounded distance function.
Main challenge Note that in the General Lotto game, each player has infinite number of pure strategies, and thus one cannot use neither our proposed algorithm for the Colonel Blotto game nor the technique of [27] for solving the problem. We should prune strategies such that the problem becomes tractable. Therefore, we characterize the extreme point of the polytope of all strategies, and use this characterization for pruning possible strategies.
To the best of our knowledge, our algorithm is the first algorithm of this kind which computes an NE of a game with infinite number of pure strategies.

Application to Dueling Games
Immorlica et al. [27] introduced the class of dueling games. In these games, an optimization problem with an element of uncertainty is considered as a competition between two players. They also provide a technique for finding Nash equilibria for a set of games in this class. Later Dehghani et al. [17] studied dueling games in a non-computational point of view and proved upper bounds on the price of anarchy of many dueling games. In this section, we formally define the dueling games and bilinear duels. Then, in Section 3.3, we describe our method and show that our technique solves a more general class of dueling games. Furthermore, we provide examples to show how our method can be a simpler tool for solving bilinear duel games compared to [27] method. Finally, in Section 3.4, we examine the matching duel game to provide an example where the method of Immorlica et al. [27] does not work, but our presented method can yet be applied.

Dueling games
Formally, dueling games are two player zero-sum games with a set of strategies X, a set of possible situations Ω, a probability distribution p over Ω, and a cost function c : X × Ω → R that defines the cost measure for each player based on her strategy and the element of uncertainty. The payoff of each player is defined as the probability that she beats her opponent minus the probability that she is beaten. More precisely, the utility function is defined as where x and y are strategies for player A and B respectively. In the following there are two dueling games mentioned in [27].
Binary search tree duel. In the Binary search tree duel, there is a set of elements Ω and a probability distribution p over Ω. Each player is going to construct a binary search tree containing the elements of Ω. Strategy x beats strategy y for element ω ∈ Ω if and only if the path from ω to the root in x is shorter than the path from ω to the root in y. Thus, the set of strategies X is the set of all binary search trees with elements of Ω, and c(x, ω) is defined to be the depth of element ω in strategy x.
Ranking duel. In the Ranking duel, there is a set of m pages Ω, and a probability distribution p over Ω, notifying the probability that each page is going to be searched. In the Ranking duel, two search engines compete against each other. Each search engine has to provide a permutation of these pages, and a player beats the other if page ω comes earlier in her permutation. Hence, set of strategies X is all m! permutations of the pages and for permutation x = (x 1 , x 2 , . . . , x m ) and page ω, c(x, ω) = i iff ω = x i .

Dueling games are Polynomially Separable
In the following theorem, we show that every polynomially representable bilinear duel is also polynomially separable, as defined in Section 2.2. This implies that the general reduction described in Section 2.2 can be used to solve polynomially representable bilinear duels as well.
Proof: Let S A and S B be the set of strategy points for player A and player B, respectively. We show that if S A can be specified with polynomial number of linear constraints, then one could design an algorithm that finds out whether there exists a pointx ∈ S A such that Since all these constraints are linear, we can solve this feasibility problem by a LP in polynomial time. The same argument holds for S B , therefore every polynomially representable bilinear duel is polynomially separable as well.

A Simplified Argument for Ranking and Binary Search Duels
In this section, we revisit some examples of dueling games, and show how to use Theorem 2 to establish that they can be solved in polynomial time. The application of Theorem 2 as two main steps. First, it is necessary to express the duel as a bilinear game: that is, one must transfer every strategy of the players to a point in n(A) and n(B) dimensional space, such the outcome of the game can be determined for two given strategy points with an n(A) × n(B) matrix M . Second, one must implement an oracle that determines whether there exists a strategy point satisfying a given linear constraint.
To illustrate our method more precisely, we propose a polynomial-time algorithm for finding an NE for ranking and binary search tree dueling games in what follows.
Theorem 6 There exists an algorithm that finds an NE of the Ranking duel in polynomial time.
Proof: We transfer each strategy x of player A to pointx in R m 2 wherex i,j denotes the probability that ω i stands at position j in x. The outcome of the game is determined by the following equation Here, we need to provide an oracle that determines whether there exists a strategy point for a player that satisfies a given linear constraint α 0 + α i,jxi,j ≥ 0. Since each pure strategy is a matching between pages and indices, we can find the pure strategy that maximizes α i,jxi,j with the maximum weighted matching algorithm. Therefore, this query can be answered in polynomial time. Since we have reduced this game to a polynomially-separable bilinear duel, we can find a Nash equilibrium in polynomial time.
Theorem 7 There exists an algorithm that finds an NE of the Binary search tree duel in polynomial time.
Proof: Here we map each strategy x to the pointx = x 1,1 ,x 1,2 , . . . ,x 1,m ,x 2,1 ,x 2,2 , . . . ,x m,m ∈ R m 2 wherex i,j denotes the probability that depth of the i-th element is equal to j. Therefore, the payoff of the game for strategiesx andŷ is equal to Where p(ω i ) denotes the probability that i-th element is searched.
Next, we need to provide an oracle that determines whether there exists a strategy point for a player that satisfies a given linear constraint α 0 + α i,jxi,j ≥ 0. To do this, we find the binary search tree that maximizes α i,jxi,j . This can be done with a dynamic program. Let D(a, b, k) denote the maximum value of b i=a α i,jxi,j for a subtree that its root is at depth k. D(a, b, k) can be formulated as Therefore, we can find the Binary search tree which maximizes α i,jxi,j in polynomial time and see if it meets the constraint. Since we have reduced this game to a polynomially-separable bilinear duel, we can find an NE in polynomial time.

Matching duel
In matching duel we are given a weighted graph G = (V, E, W ) which is not necessarily bipartite. In a matching duel each pure strategy of players is a perfect matching, set of possible situations Ω is the same as the set of nodes in G, and probability distribution p over Ω determines the probability of selection of each node. In this game, strategy x beats strategy y for element ω ∈ Ω if ω is matched to a higher weighted edge in strategy x than strategy y.
The matching duel may find its application in a competition between websites that try to match people according to their desire. In this competition the website that suggest a better match for each user will get that user, and the goal of each website is to maximize the number of its users. We mention that the ranking duel is a special case of the matching duel, when G is a complete bipartite graph with n nodes on each side, in which the first part denotes the web pages and the second part denotes the positions in the ranking. Thus, the weight of the edge between page i and rank j is equal to j.
First, we describe how our method can solve this game and then we show the method of Immorlica et al. [27] cannot be applied to find an NE of the matching duel.
Theorem 8 There exists an algorithm that finds an NE of the matching duel in polynomial time.
Proof: We transfer every strategy x to a point in |E|-dimensional Euclidean spacex, wherê x e denotes the probability that x chooses e in the matching. Thus, the payoff function is bilinear and is as follows: where N (ω) is the set of edges adjacent to ω 4 . Next, we need to prove that the game is polynomially separable. That is, given a vector α and a real number α 0 , we are to find out whether there is a strategyx such that α 0 + α.x ≥ 0. This problem can be solved by a maximum weighted prefect matching, where the graph is G = (V, E, W ) and w(e) = α e . Thus our framework can be used to find an NE of the matching duel in polynomial time.
Note that Rothvoss [43] showed that the feasible strategy polytope (the perfect matching polytope) has exponentially many facets. Therefore, the prior approach represented in the work of Immorlica et al. [27] is not applicable to the matching duel. This example shows that our framework nontrivially generalizes the method of Immorlica et al. [27] and completes the presentation of our simpler and more powerful tool for solving bilinear duels.

A Colonel Blotto
In this appendix we provide a more detailed desciption of our polynomial time algorithm for finding a Nash equilibrium (NE) of the Colonel Blotto game. Hart showed that the Colonel Lotto game is equivalent to a special case of the Colonel Blotto game [26]. Therefore, our algorithm could be used to find a NE of the Colonel Lotto game as well.
In section A.1, we present a procedure for mapping strategies of both players to a new space. The new space maintains the important information of each strategy and helps us to find a Nash equilibrium of the game. Next in section A.2, we show how we check the feasibility of the membership constraint in the new space. Moreover, we present a polynomial-time algorithm for determining an equilibrium of the Colonel Blotto game in the new space. At last in section A.3, we present an algorithm which transfers a Nash equilibrium from the new space to the original space.

A.1 Transferring to a new space
In this subsection we define a new notation for describing the strategies of players and discuss about the properties of the transferred strategies. Let n(A) = k(a + 1), and x be a strategy of player A. We define the function G A in the following way: G A (x) =x wherex is a point in R n(A) such thatx (i−1)(a+1)+j+1 is equal to the probability that strategy x puts j units in the i-th battlefield, for 1 ≤ i ≤ k and 0 ≤ j ≤ a. For simplicity we may representx (i−1)(a+1)+j+1 byx i,j . We define n(B) and G B similarly for player B. Let n = max{n(A), n(B)}. Note that, G A maps each strategy of the first player to exactly one point in R n(A) . However, each point in R n(A) may be mapped to zero, one, or more than one strategies. Let us recall the definition of M(X ) which is the set of all strategies of player A, and the definition of S A which is In order to design an algorithm for checking the membership constraint, we first demonstrate in Lemma A.1 that set S A is a polyhedron with an exponential number of vertices and facets. This lemma is a more formal statement of Lemma 1. Then we prove in Lemma A.2 that set S A can be formulated with O(2 poly(n) ) number of constraints. These results allow us to leverage the Ellipsoid method for checking the membership constraint [25].

A.2 Checking the membership constraint and the payoff constraints
As we briefly described in Subsection 2, the final goal of this section is to determine a NE of the Colonel Blotto game. To do this, we provide linear program 2 and show that this LP can be solved in polynomial time. Since we use the Ellipsoid method to solve the LP, we have to implement an oracle function that reports a violating constraint for any infeasible solution. In this subsection we focus on the membership constraint of LP 2 and show that for any infeasible pointx which violates membership constraint, a polynomial-time algorithm finds a hyperplane that separatesx from S A . Lemma A.3 There exists a polynomial time algorithm that gets a pointx as input, and either finds a hyperplane that separatesx from S A , or reports that no such hyperplane exists.
Proof: Letx = (x 1 ,x 2 , . . . ,x n(A) ). Consider the following LP, which we will refer to as LP 5: The variables of the linear program are α 0 , α 1 , . . . , α n(A) , which describe the following hyperplane: Constraints 5 and 6 force LP 5 to find a hyperplane that separatesx from S A . Hence, LP 5 finds a separating hyperplane if and only ifx is not in S A . Hyperplane separating oracle is an oracle that gets variables α 0 , α 1 , . . . , α n(A) as input and finds if constraints 6 are satisfied. Moreover, if some constraints are violated it returns at least one of the violated constraints. In Section C we describe a polynomial-time algorithm for the hyperplane separating oracle. Constraint 5 also can be checked in polynomial time. Our LP has n(A) + 1 variables and |I A | + 1 constraints which is O(2 poly(n) ) by Lemma A.1. Thus we can solve this LP in polynomial time with the Ellipsoid method [25].
In the next step, we present an algorithm to determine the outcome of the game when both players play optimally. We say x is an optimal strategy of player A, if it maximizes the guaranteed payoff of player A. By the MinMax Theorem, in a NE of a zero-sum game players play optimally [46]. Therefore, it is enough to find an optimal strategy of both players. Before we discuss the algorithm, we show the payoff h A B (x, y) can be determined by G A (x) and G B (y). Recall the definition Lemma A.4 Let x ∈ M(X ) and y ∈ M(Y) be two mixed strategies for player A and B respectively. Letx = G A (x) andŷ = G B (y). The outcome of the game is determined by h A B (x,ŷ). Proof: Let x and y be two mixed strategies of players A and B respectively, and let E[u A i (x, y)] be the expected value of the outcome in battlefield i. We can write E[u A i (x, y)] as follows We know that the total outcome of the game is the sum of the outcome in all battlefields, which is Theorem A.1 There exists a polynomial time algorithm that finds a NE of the Colonel Blotto game in the new space.
Proof: The Colonel Blotto is a zero-sum game, and the MinMax theorem states that a pair of strategies (x,ŷ) is a Nash equilibrium ifx andŷ maximize the guaranteed payoff of players A and B respectively [46]. Recall that LP 2 finds a pointx ∈ S A which describes an optimal strategy of player A 5 . This LP has n(A) + 1 variablesx 1 ,x 2 , . . . ,x n(A) and U wherex 1 ,x 2 , . . . ,x n(A) describe pointx. The membership constraint guaranteesx is in S A . It is known that in any normal-form game there always exists a best-response strategy which is a pure strategy [40]. Hence, variable U represents the maximum payoff of player A with strategyx when player B plays his best-response strategy againstx. Note that, Lemma A.4 shows h A B (x,ŷ) is a linear function ofx, whenŷ is a fixed strategy of player B. This means the payoff constraints are linear constraints. Putting all these together show, LP 2 finds a pointx such that: 1. There exists strategy x such that G A (x) =x.

The minimum value of h A
B (x, y) is maximized for every y ∈ M(Y).
Next we show that this LP can be solved in polynomial time with the Ellipsoid method. First, Lemma A.3 proposes a polynomial-time algorithm for checking the membership constraint. Second, best-response separating oracle is an oracle that gets pointx and variable U as input and either reports pointx passes all payoff constrains or reports a violated payoff constraint. In Section C, we will show that the running time of this oracle is O(poly(n)).
At last we prove LP 2 has O(2 poly(n) ) number of constraints, and we can leverage the Ellipsoid method for finding a solution of this LP. Note that Lemma A.2 indicates that set S A can be represented by O(2 poly(n) ) number of hyperplanes. On the other hand, Lemma A.1 shows LP 2 has at most |I B | = O(2 poly(n) ) constraints.

A.3 Finding a Nash equilibrium in the original space
In the previous subsection, we presented an algorithm which finds a Nash equilibrium (G A (x), G B (y)) of the game in the new space. The remaining problem is to retrieve x from G A (x).
Theorem A.2 Given a pointx ∈ S A , there exists a polynomial time algorithm which finds a strategy x ∈ M(X ) such that G A (x) =x.
Proof: Since every strategy of player A is a convex combination of elements of X , our goal is to find a feasible solution of the following LP.
where α x is the probability of pure strategy x ∈ X . Note that, this LP finds a mixed strategy of player A by finding the probability of each pure strategy. Since every feasible solution is acceptable, objective function does not matter. To find a solution of this LP, we write its dual LP as follows.
An oracle similar to the hyperplane separating oracle can find a violating constraint for any infeasible solution of the dual LP. Since the number of constraints in the dual LP is |I A | = O(2 poly(n) ) based on Lemma A.1, we can use the Ellipsoid method and find an optimal solution of the dual LP in polynomial time.
The next challenge is to find an optimal solution of the primal LP from an optimal solution of the dual LP. We resolve this problem by the following lemma. We knowx is in S A . This means there is strategy x ∈ M(X ) such that G A (x) =x. Hence, linear program 7 and its dual are feasible, and we can apply Lemma A.5.
Lemma A.5 Assume we have a separation oracle for primal LP max{c T x : Ax ≤ b} with exponentially many constraints and polynomially many variables. If primal LP is feasible, then there is a polynomial-time algorithm which returns an optimum solution of dual LP min{b T y : A T y ≥ c}.

Proof:
Since the primal LP is feasible, we can assume OP T = max{c T x : Ax ≤ b}. The Ellipsoid method returns an optimum solution of primal LP by doing binary search and finding the largest K which guarantees feasibility of {c T x ≤ K : Ax ≤ b}. Let (Â,b) be the set of polynomially many constraints returned by the separation oracle during all iterations. We first prove max{c T x :Âx ≤b} = OP T . Note that (Â,b) is a set of constraints returned by the Ellipsoid method. Note that (Â,b) is a subset of all constraints (A, b). This means every vector x which satisfies Ax ≤ b will satisfyÂx ≤b as well. Therefore, max{c T x :Âx ≤b} ≥ max{c T x : Ax ≤ b} = OP T . On the other hand, we know (Â,b) contains constraints which guarantees infeasibility of max{c T x ≥ OP T + ǫ : Ax ≤ b}. So, LP max{c T x ≥ OP I + ǫ :Âx ≤b} is infeasible which means max{c T x :Âx ≤b} ≤ OP T . Putting all these together we can conclude that max{c T x :Âx ≤b} = OP T .
Linear program max{c T x :Âx ≤b} has polynomially many constraints and polynomially many variables, and we can find an optimum solution to its dual min{b Tŷ :Â Tŷ ≥ c} in polynomial time. Letŷ * be an optimum solution of dual LP min{b Tŷ :Â Tŷ ≥ c}, and let where A i is the i-th row of matrix A, i.e., be set of indices corresponding to constraints in (Â,b). For every vector y and every set of indices R we define y R to be the projection of vector y on set R. Now consider vector y * as a solution of dual LP min{b T y : A T y ≥ c} such that y * S =ŷ * and y * i = 0 for all i ∈ S. We prove y * is an optimum solution of dual LP min{b T y : A T y ≥ c} as follows: • We first show y * is feasible. Note that y * i = 0 for all i ∈ S which means A T y * =Â Tŷ * ≥ c where the last inequality comes from the feasibility ofŷ * in dual LP min{b T y :Â T y ≥ c}.
The last equality comes from the facts that y * i = 0 for all i ∈ S, and i∈S b T i y * i =b Tŷ * . Sinceŷ * is an optimum solution of dual the LP min{b T y :Â T y ≥ c}, by the weak duality, it is equal to max{c T x :Âx ≤b} = OP T . Therefore, b T y * = OP T .
We have proved y * is a feasible solution to dual LP min{b T y : A T y ≥ c} and b T y * = OP T . We also know OP T = max{c T x : Ax ≤ b} by definition. Therefore, the weak duality insures y * is an optimum solution of dual LP min{b T y : A T y ≥ c}.

B General Lotto
In this section we study the General Lotto game. An instance of the General Lotto game is defined by Γ(a, b, u), where players A and B simultaneously define probability distributions of non-negative integers X and Y , respectively, such that E[X] = a and E[Y ] = b. In this game, player A's aim is to The previous studies of the General Lotto game considered a special case of the problem where u(i, j) = sign(i − j) 6 . Here, we generalize the payoff function to a bounded distance function and present an algorithm for finding a Nash equilibrium of the General Lotto game in this case. Function u is a bounded distance function, if one can write it as u(i, j) = f u (i − j) such that f u is a monotone function and reaches its maximum value at f u (t u ) where t u ∈ O(poly(a, b)).
We first define a new version of the General Lotto game, which is called the finite General Lotto game. We prove a Nash equilibrium of the finite General Lotto game can be found in polynomial time. Then we reduce the problem of finding a Nash equilibrium of the General Lotto game with a bounded distance function to the problem of finding a Nash equilibrium of the finite General Lotto game. This helps us to propose a polynomial-time algorithm which finds a Nash equilibrium of the General Lotto game where the payoff function is a bounded distance function.

B.1 Finite General Lotto
We define the finite General Lotto game Γ(a, b, u, S) to be an instance of the General Lotto game where every strategy of players is a distribution over a finite set of numbers S. Here, we leverage our general technique to show the finite General Lotto game is a polynomially-separable bilinear game and, as a consequence, it leads to a polynomial time algorithm to find a Nash equilibrium for this game.
Theorem B.1 There exists an algorithm which finds a Nash equilibrium of the finite General Lotto game Γ(a, b, u, S) in time O(poly(|S|)).
Proof: First we map each strategy X to a pointx = x 1 ,x 2 , . . . ,x |S| , wherex i denotes Pr(X = S i ). Without loss of generality we assume the elements of S are sorted in strictly ascending order, i.e. for each 1 ≤ i < j ≤ |S|, S i < S j . Now the utility of player A when A plays a strategy corresponding tox and B plays a strategy corresponding toŷ is obtained by the following linear function.
Therefore the game is bilinear. Now we prove the game is polynomially separable. Given a real number r and a vector v, we provide a polynomial-time algorithm which determines whether there exists a strategy pointx such that r + v.x ≥ 0. We design the following feasibility program for this problem with |S| variablesx 1 tox |S| and three constraints.
Constraints 13 and 14 force the variables to represent a valid strategy point (i.e., the probabilities sum to 1 and the expectation equals a). Thus every pointx is a valid strategy point iff it satisfies Constraints 13 and 14. On the other hand, Constraint 15 enforces the program to satisfy the given linear constraint of the separation problem. Thus there exists a strategy pointx such that b + v.x ≥ 0 iff there is a solution for the feasibility LP. The feasibility of the program can be determined in polynomial time, hence, the separation problem is polynomially tractable. Therefore the finite General Lotto game is a polynomially-separable bilinear game and by Theorem 2, there exists a polynomial-time algorithm which finds a Nash equilibrium of the finite General Lotto game.

B.2 General Lotto with bounded distance functions
In this section, we consider General Lotto game Γ(a, b, u) where u is a bounded distance function and design a polynomial-time algorithm for finding a Nash equilibrium of the game. In the following part of this section we assume a ≤ b. Recall the definition of bounded distance functions.
Definition B.1 Function u is a bounded distance function, if one can write it as u(i, j) = f u (i − j) such that f u is a monotone function and reaches its maximum value at u M = f u (u T ) where u T ∈ O(poly(a, b)). We call u T the threshold of function u, and u M the maximum of function u 7 .
First we define a notion of paired strategies and claim that for every strategy of a player there is a best-response strategy which is a paired strategy. Then, using this observation, we can prove nice bounds on the set of optimal strategies. Consider a probability distribution which only allows two possible outcomes, i.e., there are only two elements in S with non-zero probabilities. We call such a distribution a paired strategy. We define T i,j to be a paired strategy which only has non-zero probabilities at elements i and j. Furthermore, we define T a i,j to be a paired strategy with E[T a i,j ] = a. In paired strategy T a i,j , the probabilities of elements i and j are determined by α a i,j = P r(T a i,j = i) = a−j i−j and α a j,i = P r(T a i,j = j) = a−i j−i = 1 − α a i,j . In the following structural lemma, we show that every distribution T over a finite set S can be constructed by a set of paired strategies. Proof: We prove this claim by induction on the number of elements with non-zero probabilities in T . If there is only one element with non-zero probability in T , i.e., t = 1, then we have P r(T = a) = 1. Thus T = T a 0,a is a paired strategy and the claim holds by setting σ 1 = T a 0,a and β 1 = 1. Now assuming the claim holds for all 1 ≤ t ′ < t, we prove the claim also holds for t. Suppose T be a probability distribution with t non-zero probability elements. Since t ≥ 2, there should be some i < a with P r(T = i) > 0 and some j > a with P r(T = j) > 0. We choose the largest possible number 0 < β ≤ 1 such that βα a i,j ≤ P r(T = i) and βα a j,i ≤ P r(T = j). If β = 1, then P r(T = i) + P r(T = j) ≥ α a i,j + α a j,i = 1. This means T = T a i,j is a paired strategy and the claim holds by setting σ 1 = T a i,j and β 1 = 1. Otherwise, we can write We select β such that at least one of the probabilities P r[T ′ = i] or P r[T ′ = j] becomes zero. Thus compared to T , the number of elements with non-zero probability in T ′ is at least decreased by one, and by the induction hypothesis we can write where each σ i is a paired strategy and E(σ i ) = a. Furthermore, m = m ′ + 1 ≤ t and the proof is complete. Since t ≤ |S|, m is polynomial in the size of input. Therefore paired strategies σ 1 , σ 2 , . . . , σ m and their corresponding coefficients β 1 , β 2 , . . . , β m can be computed in polynomial time.
Lemma B.2 For every strategy of player A in a finite General Lotto game there is a best-response strategy of player B which is a paired strategy.
Proof: Consider finite General Lotto game Γ(a, b, u, S), strategy X of player A, and a bestresponse strategy Z of player B. Since Z is a distribution on S, by using Lemma B.1 we can write Z = m r=1 β r σ r . Thus, we have h B Γ (X, Z) = h B Γ (X, m r=1 β r σ r ) and because of the linearity of expectation we can write h B Γ (X, Z) = m r=1 β r h B Γ (X, σ r ). Since Z is a best-response strategy, we have: This means paired strategy σ r , for each 1 ≤ r ≤ m, is a best-response strategy of player B.
In the following lemmas, using the structural property of the best-response strategies, we show some bounds for each player's optimal strategies.
Lemma B.4 Consider Nash equilibrium (X, Y ) of General Lotto game Γ(a, b, u) where u is a bounded distance function with threshold u T . We have a−1 i=0 Pr(Y = i) ≤ u T u T +1 .
Proof: Let X ′ be a pair distribution of player A that chooses a − 1 with probability p and chooses a + u T − 1 with probability 1 − p. Thus p = u T −1 u T . The payoff of playing strategy X ′ against Y is Note that by the definition of u, u(i, j) ≥ 0 if and only if i − j ≥ 0 and u(i, j) ≤ 0 if and only Thus, by applying Equality 17 and Inequality 18 we have In the following lemma we provide an upper-bound for the maximum variable with non-zero probability of a player's strategy in the equilibrium.
Proof: First, we prove for any integer z >û, Pr(X = z) = 0. The proof is by contradiction. Let z >û be an integer with non-zero probability in X. Thus there is an integer x < a with non-zero probability in X. Consider the pair distribution T a x,z . We define another pair distribution T a x,y where y = 4bu T + 4b + u T . Consider strategy X ǫ = X − ǫT a x,z + ǫT a x,y . Note that (X, Y ) is a Nash equilibrium of the game. This means strategy X is a best response of player A to strategy Y of player B which implies On the other hand, because of the linearity of expectation we can write We write w as w = w 1 + w 2 − w 3 − w 4 + w 5 , where Pr(Y = i)qu(y, i), Pr(Y = i)pu(z, i).
Since 1 − p ≥ 1 − q and u(z, i) = u(y, i) = u M for all i ≤ x, we can conclude w 1 ≤ 0. For all i > x, we have u(x, i) ≤ 0, and we also know 1 − p ≥ 1 − q. These mean w 2 ≤ 0. Since for all i ≤ y − u T we have u(y, i) = u M , we conclude Moreover, for any arbitrary integers i and j, Therefore by knowing w ≥ 0, w 1 ≤ 0, w 2 ≤ 0, and considering Inequalities 19, 20, and 21, we conclude On the other hand, Lemma B.4 says and By Inequalities 22,23,24, and +∞ i=x+1 Pr(Y = i) ≤ 1, we have which implies q p ≤ 2u T + 2. Recalling p = α a z,x = a−x z−x , q = α a y,x = a−x y−x , and z > y, we can bound z y as follows z y ≤ z−x y−x = q p ≤ 2u T + 2. Therefore z ≤ y(2u T + 2) =û which is a contradiction. Knowing that player A put zero probability on every number z >û and considering the definition of bounded distance function u, player B will put zero probability of every number greater than u + u T in any Nash equilibrium.
The following theorem follows immediately after Theorem B.1 and Lemma B.5.
Theorem B.2 There is a polynomial time algorithm which finds a Nash Equilibrium of the General Lotto game Γ(a, b, u) where u is a bounded distance function.
Proof: Letū = (4bu T + 4b + u T )(2u T + 2) + u T . Lemma B.5 shows there is a bound on the optimal strategies in a Nash equilibrium. More precisely P r(Y >ū) = 0, where Y is a strategy of player A or B. Thus General Lotto game Γ(a, b, u) is equivalent to finite General Lotto game Γ(a, b, f, S), where S = {1, 2, . . . ,ū}. By Theorem B.1, a polynomial-time algorithm finds a Nash equilibrium of the game.

C Oracles
In this section we describe, in precise detail, the separating oracles used by the ellipsoid method to solve our represented linear programs. Consider we are given a sequence c 0 , c 1 , . . . , c k(m+1) , where k is the number of battlefields and m is the number of troops for a player. We first present an algorithm which finds a pure strategy x = (x 1 , x 2 , . . . , x k ) ∈ X such that k i=1 x i = m, and x = G(x) minimizes the following equation.
Then we leverage this algorithm and design polynomial-time algorithms for the hyperplane separating oracle and best-response separating oracle. The following lemma shows that Algorithm 1 (FindBestPure ) finds the minimizer of Equation 26.
Lemma C.1 Given two integers m and k and a sequence c 0 , c 1 , . . . , c k(m+1) , algorithm FindBestPure correctly finds an optimal pure strategy x = ( Proof: In Algorithm FindBestPure , using a dynamic programming approach, we define d[i, t] to be the minimum possible value of c 0 + i(t+1) c ixi . Now, we show that Algorithm FindBestPure correctly computes d[i, t] for all 0 ≤ i ≤ k and 0 ≤ t ≤ m. Obviously d[0, j] is equal to c 0 . For an arbitrary i > 0 and t, the optimal strategy x puts 0 ≤ t ′ ≤ t units in the i-th battlefield and the applied cost in the equation 26 is equal to c (i−1)(m+1)+t ′ +1 . Thus, for t ← 0 to m do 6: for j ← 0 to t do To compute the optimal pure strategy x = (x 1 , x 2 , . . . , x k ) we also keep a value which determines the number of units the optimal strategy should put in the i-th battlefield to minimize c 0 + i(t+1) i ′ =1 c i ′x i ′ . Assuming we have correctly computed x i+1 , . . . , x k , in line 16, algorithm FindBestPure correctly computes x i which is equal to r[i, m − k j=i+1 x j ]. Since x k = r[k, m] we can conclude algorithm FindBestPure correctly computes the optimal strategy x = (x 1 , x 2 , . . . , x k ).

C.1 Hyperplane separating oracle
Algorithm 2 (HyperplaneOracle ) gets a hyperplane as input and either finds a point in I A which violates constraints in LP 5 or reports that all points in I A are satisfying all constraints in LP 5. We suppose that the input hyperplane is described by the following equation, and we want to find a pointx ∈ I A that violates the following constraint: This problem is equivalent to finding a pointx min ∈ I A which minimizes equation ≥ 0 it means all points in I A are satisfying the constraints of LP, and otherwisex min is a point which violates constraint 6. Since points in I A are equivalent to pure strategies of player A, we can use algorithm FindBestPure to findx min . Thus we can conclude algorithm HyperplaneOracle correctly finds a violated constraint or reports that the hyperplane satisfies constraints 6 of LP 5.

C.2 Best-response separating oracle
Algorithm 3 (BestRespOracle ) gets a pair (x, U ) as input and decides whether there is a pure strategy y = (y 1 , y 2 , . . . , y k ) ∈ Y such that forŷ = G B (y), we have We can rewrite inequality 29 as follows: , this problem is equivalent to find a point y min ∈ I B which minimizes Lemma D.1 Let x 1 , x 2 , . . . , x t be t arbitrary mixed strategies of player A, t r=1 α r = 1, and x = t r=1 α r x r be a mixed strategy that plays strategy x r with probability α r , then G A (x) = t r=1 α r G A (x r ).
Proof: Since x = t r=1 α r x r and G A (x r ) j represent the probability that strategy x r plays j, we have [G A (x)] j = t r=1 α r [G A (x r )] j , for all 1 ≤ j ≤ n(A). Therefore, G A (x) = t r=1 α r G A (x r ).
Lemma D.2 S A is a convex set. for t b ← 0 to b do 3: end for 5: end for 6: y min ← FindBestPure(b, k, c 0 , c 1 , c 2 , . . . , c k(b+1) ) 7:ŷ min ← G B (y min ) 8: if Proof: A set of points is convex if and only if every segment joining two of its points is completely in the set. Letx = (x 1 ,x 2 , . . . ,x n(A) ) andx ′ = (x ′ 1 ,x ′ 2 , . . . ,x ′ n(A) ) be two points in R n(A) . We show that ifx,x ′ ∈ S A then for every 0 ≤ α ≤ 1,x ′′ = (αx + (1 − α)x ′ ) ∈ S A . Sincex andx ′ are in S A , there exist mixed strategies x and x ′ in M(X ), such thatx = G A (x) and x ′ = G A (x ′ ). Let x ′′ = αx + (1 − α)x ′ be a mixed strategy of player A that plays x with probability α and x ′ with probability 1 − α. By Lemma D.1 we have G A (x ′′ ) = αx + (1 − α)x ′ =x ′′ hence, x ′′ ∈ S A . Now we are ready to proof Lemma A.1. By Lemma D.2, we know S A is convex. We show that we can find a finite set of points in S A , such that every point in S A can be written as a convex combination of these points. Note that, X = {X 1 , X 2 , . . . , X |X | } is the set of all pure strategies of player A and I A = {X 1 ,X 2 , . . . ,X |X | } is the set of points whereX i = G A (X i ). Note that, I A and X are finite sets. Every strategy of player A is either a pure strategy or a mixed strategy and can be written as a convex combination of the pure strategies. Therefore, according to Lemma D.1 every point in S A is either in I A or can be written as a convex combination of points in I A . Hence, S A forms a convex polyhedron in R n(A) .
Next we show that the number of vertices and facets of S A is O(2 poly(n) ). Letx be a vertex of polyhedron S A and x be a strategy of player A such that G A (x) =x. Sincex is a vertex of S A , it cannot be written as a convex combination of other vertices of S A . If x is a mixed strategy, it can be written as a convex combination of other strategies and according to Lemma D.1, G A (x) can be written as convex combination of other points of S A . This implies that either x is a pure strategy or there exists a pure strategy x ′ such that G A (x ′ ) =x. Therefore, the number of vertices of S A is no more than the number of pure strategies of player A. Since each pure strategy of player A is a partition of a units into k battlefields the number of pure strategies is no more than (a + 1) k . Thus, the number of vertices of S A is at most n(A) n(A) .
Let d ≤ n(A) be the dimension of S A . Since every facet of S A can be uniquely determined by d vertices of S A , the number of facets is no more than Proof of Lemma A.2: Note that the dimension of S A is not necessarily n(A). Let d be the dimension of S A and H(S A ) be the affine hull of S A . Since H(S A ) is a d-dimensional subspace of We say a (not necessarily feasible) pointx is an ǫ-solution of the LP in a bilinear dueling game where there exists a feasible strategy pointx ′ such that |x −x ′ | ≤ ǫ and the minimum payoff of strategyx differs by at most ǫ from that of the MinMax strategies. Remark that, in the separation problem we are given a linear constraint α 0 , α 1 , . . . and are to find out whether there exists a strategy point for a player which has the property α 0 + i α ixi ≥ 0. We say a separation oracle solves this problem with approximation factor ǫ if it always finds such a point when there exists a violating point having a distance of at least ǫ from the hyperplane. Note that, the approximate oracle may not report a correct answer when the distance of all desired points to the hyperplane is less than ǫ. We say a dueling game is polynomially ǫ-separable if we can approximately solve the separation problem in polynomial time for every ǫ > 0. The following theorem provides a strong tool for approximating the payoff of the game in an NE for a broad set of dueling games. Proof: Suppose we solve LP 2 with Ellipsoid method using an ǫ/β-separating oracle instead of the exact oracle and letx be the solution we find. First we show that there exists at least one feasible strategyx ′ such that |x ′ −x| ≤ ǫ. Next, we will compare the minimum payoff ofx ′ with that of the MinMax strategies. Remark that, in order to determine whether or notx is within the set of feasible strategy points we solve the following linear program (which is the same as LP 5 from the proof of Lemma A.3) and see if there is any violating constraint.
α 0 + j α jvj ≥ 0 ∀v ∈ I A Since the ǫ/β-separating oracle does not report any violating constrains forx, either there is no violating constrain or the distance ofx from all violating hyperplanes is less than ǫ/β. Therefore there exists a pointx ′ in the set of feasible solution such that |x ′ −x| ≤ ǫ/β ≤ ǫ. Next, we compare the minimum payoff of strategyx ′ with the minimum payoff of the MinMax strategies. From the previous argument we have |x ′ −x| < ǫ/β. Since β = i,j |M i,j |, we have |(xMŷ) − (x ′ Mŷ)| < |x ′ −x|.β < ǫ for each strategyŷ of the second player. Moreover, since every MinMax strategy is a potential solution of the linear program andx is the solution which maximizes the objective function, the minimum possible payoff offx is not less than the minimum possible payoff of the MinMax strategies. Thus, the difference between the minimum possible payoff ofx ′ and that of the MinMax strategies is at most ǫ. Since we're using Ellipsoid method, the number of times we call the ǫ-separation oracle is poly(n), hence the running time of the algorithm is O(poly(n) · f (ǫ/β, n)). Note that, Theorem E.1 states if we can find an approximate solution of the separation problem in polynomial time, then we can find an approximate solution of the LP in polynomial time as well.
Since an approximate solution may not necessarily be a feasible strategy point, it cannot be used in order to characterize the properties of the MinMax strategies. However, we can approximate the payoff of the players in an NE by computing the payoffs for the ǫ-solution of the LP.