COMPUTING EQUILIBRIA FOR TWO-PERSON GAMES

Save this PDF as:

Size: px
Start display at page:

Transcription

1 COMPUTING EQUILIBRIA FOR TWO-PERSON GAMES Appeared as Chapter 45, Handbook of Game Theory with Economic Applications, Vol. 3 (2002), eds. R. J. Aumann and S. Hart, Elsevier, Amsterdam, pages BERNHARD VON STENGEL London School of Economics Contents 1. Introduction 2. Bimatrix games 2.1. Preliminaries 2.2. Linear constraints and complementarity 2.3. The Lemke Howson algorithm 2.4. Representation by polyhedra 2.5. Complementary pivoting 2.6. Degenerate games 2.7. Equilibrium enumeration and other methods 3. Equilibrium refinements 3.1. Simply stable equilibria 3.2. Perfect equilibria and the tracing procedure 4. Extensive form games 4.1. Extensive form and reduced strategic form 4.2. Sequence form 5. Computational issues References This work was supported by a Heisenberg grant from the Deutsche Forschungsgemeinschaft.

2 1. Introduction Finding Nash equilibria of strategic form or extensive form games can be difficult and tedious. A computer program for this task would allow greater detail of game-theoretic models, and enhance their applicability. Algorithms for solving games have been studied since the beginnings of game theory, and have proved useful for other problems in mathematical optimization, like linear complementarity problems. This paper is a survey and exposition of linear methods for finding Nash equilibria. Above all, these apply to games with two players. In an equilibrium of a two-person game, the mixed strategy probabilities of one player equalize the expected payoffs for the pure strategies used by the other player. This defines an optimization problem with linear constraints. We do not consider nonlinear methods like simplicial subdivision for approximating fixed points, or systems of inequalities for higher-degree polynomials as they arise for noncooperative games with more than two players. These are surveyed in McKelvey and McLennan (1996). First, we consider two-person games in strategic form (see also Parthasarathy and Raghavan, 1971; Raghavan, 1994, 2002). The classical algorithm by Lemke and Howson (1964) finds one equilibrium of a bimatrix game. It provides an elementary, constructive proof that such a game has an equilibrium, and shows that the number of equilibria is odd, except for degenerate cases. We follow Shapley s (1974) very intuitive geometric exposition of this algorithm. The maximization over linear payoff functions defines two polyhedra which provide further geometric insight. A complementary pivoting scheme describes the computation algebraically. Then we clarify the notion of degeneracy, which appears in the literature in various forms, most of which are equivalent. The lexicographic method extends pivoting algorithms to degenerate games. The problem of finding all equilibria of a bimatrix game can be phrased as a vertex enumeration problem for polytopes. Second, we look at two methods for finding equilibria of strategic form games with additional refinement properties (see van Damme, 1987, 2002; Hillas and Kohlberg, 2002). Wilson (1992) modifies the Lemke Howson algorithm for computing simply stable equilibria. These equilibria survive certain perturbations of the game that are easily represented by lexicographic methods for degeneracy resolution. Van den Elzen and Talman (1991) present a complementary pivoting method for finding a perfect equilibrium of a bimatrix game. Third, we review methods for games in extensive form (see Hart, 1992). In principle, such game trees can be solved by converting them to the reduced strategic form and then applying the appropriate algorithms. However, this typically increases the size of the game description and the computation time exponentially, and is therefore infeasible. Approaches to avoiding this problem compute with a small fraction of the pure strategies, which are generated from the game tree as needed (Wilson, 1972; Koller and Megiddo, 1996). A strategic description of an extensive game that does not increase in size is the 2

3 sequence form. The central idea, set forth independently by Romanovskii (1962), Selten (1988), Koller and Megiddo (1992), and von Stengel (1996a), is to consider only sequences of moves instead of pure strategies, which are arbitrary combinations of moves. We will develop the problem of equilibrium computation for the strategic form in a way that can also be applied to the sequence form. In particular, the algorithm by van den Elzen and Talman (1991) for finding a perfect equilibrium carries over to the sequence form (von Stengel, van den Elzen and Talman, 2002). The concluding section addresses issues of computational complexity, and mentions ongoing implementations of the algorithms. 2. Bimatrix games We first introduce our notation, and recall notions from polytope theory and linear programming. Equilibria of a bimatrix game are the solutions to a linear complementarity problem. This problem is solved by the Lemke Howson algorithm, which we explain in graph-theoretic, geometric, and algebraic terms. Then we consider degenerate games, and review enumeration methods Preliminaries We use the following notation throughout. Let (A,B) be a bimatrix game, where A and B are m n matrices of payoffs to the row player 1 and column player 2, respectively. All vectors are column vectors, so an m-vector x is treated as an m 1 matrix. A mixed strategy x for player 1 is a probability distribution on rows, written as an m-vector of probabilities. Similarly, a mixed strategy y for player 2 is an n-vector of probabilities for playing columns. The support of a mixed strategy is the set of pure strategies that have positive probability. A vector or matrix with all components zero is denoted 0. Inequalities like x 0 between two vectors hold for all components. B is the matrix B transposed. Let M be the set of the m pure strategies of player 1 and let N be the set of the n pure strategies of player 2. It is sometimes useful to assume that these sets are disjoint, as in M = {1,...,m}, N = {m + 1,...,m + n}. (2.1) Then x IR M and y IR N, which means, in particular, that the components of y are y j for j N. Similarly, the payoff matrices A and B belong to IR M N. Denote the rows of A by a i for i M, and the rows of B by b j for j N (so each b j is a column of B). Then a i y is the expected payoff to player 1 for the pure strategy i when player 2 plays the mixed strategy y, and b j x is the expected payoff to player 2 for j when player 1 plays x. A best response to the mixed strategy y of player 2 is a mixed strategy x of player 1 that maximizes his expected payoff x Ay. Similarly, a best response y of player 2 to 3

4 x maximizes her expected payoff x By. A Nash equilibrium is a pair (x,y) of mixed strategies that are best responses to each other. Clearly, a mixed strategy is a best response to an opponent strategy if and only if it only plays pure strategies that are best responses with positive probability: Theorem 2.1. (Nash, 1951.) The mixed strategy pair (x, y) is a Nash equilibrium of (A, B) if and only if for all pure strategies i in M and j in N x i > 0 = a i y = max k M a ky, (2.2) y j > 0 = b j x = max k N b kx. (2.3) We recall some notions from the theory of (convex) polytopes (see Ziegler, 1995). An affine combination of points z 1,...,z k in some Euclidean space is of the form k i=1 z iλ i where λ 1,...,λ k are reals with k i=1 λ i = 1. It is called a convex combination if λ i 0 for all i. A set of points is convex if it is closed under forming convex combinations. Given points are affinely independent if none of these points is an affine combination of the others. A convex set has dimension d if and only if it has d + 1, but no more, affinely independent points. A polyhedron P in IR d is a set {z IR d Cz q} for some matrix C and vector q. It is called full-dimensional if it has dimension d. It is called a polytope if it is bounded. A face of P is a set {z P c z = q 0 } for some c IR d, q 0 IR so that the inequality c z q 0 holds for all z in P. A vertex of P is the unique element of a 0-dimensional face of P. An edge of P is a one-dimensional face of P. A facet of a d-dimensional polyhedron P is a face of dimension d 1. It can be shown that any nonempty face F of P can be obtained by turning some of the inequalities defining P into equalities, which are then called binding inequalities. That is, F = {z P c i z = q i, i I}, where c i z q i for i I are some of the rows in Cz q. A facet is characterized by a single binding inequality which is irredundant, that is, the inequality cannot be omitted without changing the polyhedron (Ziegler, 1995, p. 72). A d-dimensional polyhedron P is called simple if no point belongs to more than d facets of P, which is true if there are no special dependencies between the facet-defining inequalities. A linear program (LP) is the problem of maximizing a linear function over some polyhedron. The following notation is independent of the considered bimatrix game. Let M and N be finite sets, I M, J N, A IR M N, b IR M, c IR N. Consider the polyhedron P = {x IR N a i j x j = b i, i M I, j N a i j x j b i, i I, j N x j 0, j J }. 4

5 Any x belonging to P is called primal feasible. The primal LP is the problem The corresponding dual LP has the feasible set and is the problem maximize c x subject to x P. (2.4) D = {y IR M y i a i j = c j, j N J, i M y i a i j c j, j J, i M y i 0, i I } minimize y b subject to y D. (2.5) Here the indices in I denote primal inequalities and corresponding nonnegative dual variables, whereas those in M I denote primal equality constraints and corresponding unconstrained dual variables. The sets J and N J play the same role with primal and dual interchanged. By reversing signs, the dual of the dual LP is again the primal. We recall the duality theorem of linear programming, which states (a) that for any primal and dual feasible solutions, the corresponding objective functions are mutual bounds, and (b) if the primal and the dual LP both have feasible solutions, then they have optimal solutions with the same value of their objective functions. Theorem 2.2. Consider the primal-dual pair of LPs (2.4), (2.5). Then (a) (Weak duality.) c x y b for all x P and y D. (b) (Strong duality.) If P Ø and D Ø then c x = y b for some x P and y D. For a proof see Schrijver (1986). As an introduction to linear programming we recommend Chvátal (1983) Linear constraints and complementarity Mixed strategies x and y of the two players are nonnegative vectors whose components sum up to one. These are linear constraints, which we define using E = [1,...,1] IR 1 M, e = 1, F = [1,...,1] IR 1 N, f = 1. (2.6) Then the sets X and Y of mixed strategies are X = {x IR M Ex = e, x 0}, Y = {y IR N Fy = f, y 0}. (2.7) With the extra notation in (2.6), the following considerations apply also if X and Y are more general polyhedra, where Ex = e and Fy = f may consist of more than a single row of equations. Such polyhedrally constrained games, first studied by Charnes (1953) for the zero-sum case, are useful for finding equilibria of extensive games (see Section 4). 5

6 Given a fixed y in Y, a best response of player 1 to y is a vector x in X that maximizes the expression x (Ay). That is, x is a solution to the LP maximize x (Ay) subject to Ex = e, x 0. (2.8) The dual of this LP with variables u (by (2.6) only a single variable) states minimize u e u subject to E u Ay. (2.9) Both LPs are feasible. By Theorem 2.2(b), they have the same optimal value. Consider now a zero-sum game, where B = A. Player 2, when choosing y, has to assume that her opponent plays rationally and maximizes x Ay. This maximum payoff to player 1 is the optimal value of the LP (2.8), which is equal to the optimal value e u of the dual LP (2.9). Player 2 is interested in minimizing e u by her choice of y. The constraints of (2.9) are linear in u and y even if y is treated as a variable, which must belong to Y. So a minmax strategy y of player 2 (minimizing the maximum amount she has to pay) is a solution to the LP minimize u,y Figure 2.1 shows an example. e u subject to Fy = f, E u Ay 0, y 0. (2.10) 0 0 u y 4 y = 1 v x x x min max Figure 2.1. Left: Example of the LP (2.10) for a 3 2 zero-sum game. The objective function is separated by a line, nonnegative variables are marked by 0. Right: The dual LP (2.11), to be read vertically. The dual of the LP (2.10) has variables v and x corresponding to the primal constraints Fy = f and E u Ay 0, respectively. It has the form maximize f v subject to Ex = e, F v A x 0, x 0. (2.11) It is easy to verify that this LP describes the problem of finding a maxmin strategy x (with maxmin payoff f v) for player 1. We have shown the following. 6

7 Theorem 2.3. A zero-sum game with payoff matrix A for player 1 has the equilibrium (x,y) if and only if u,y is an optimal solution to the LP (2.10) and v,x is an optimal solution to its dual LP (2.11). Thereby, e u is the maxmin payoff to player 1 and f v is the minmax payoff to player 2. Both payoffs are equal and denote the value of the game. Thus, the maxmin = minmax theorem for zero-sum games follows directly from LP duality (see also Raghavan, 1994). This connection was noted by von Neumann and Dantzig in the late 1940s when linear programming took its shape. Conversely, linear programs can be expressed as zero-sum games (see Dantzig, 1963, p. 277). There are standard algorithms for solving LPs, in particular Dantzig s Simplex algorithm. Usually, they compute a primal solution together with a dual solution which proves that the optimum is reached. A best response x of player 1 against the mixed strategy y of player 2 is a solution to the LP (2.8). This is also useful for games that are not zero-sum. By strong duality, a feasible solution x is optimal if and only if there is a dual solution u fulfilling E u Ay and x (Ay) = e u, that is, x (Ay) = (x E )u or equivalently x (E u Ay) = 0. (2.12) Because the vectors x and E u Ay are nonnegative, (2.12) states that they have to be complementary in the sense that they cannot both have positive components in the same position. This characterization of an optimal primal-dual pair of feasible solutions is known as complementary slackness in linear programming. Since x has at least one positive component, the respective component of E u Ay is zero and u is by (2.6) the maximum of the components of Ay. Any pure strategy i in M of player 1 is a best response to y if and only if the ith component of the slack vector E u Ay is zero. That is, (2.12) is equivalent to (2.2). For player 2, strategy y is a best response to x if and only if it maximizes (x B)y subject to y Y. The dual of this LP is the following LP analogous to (2.9): minimize f v subject to F v B x. Here, a primal-dual pair y,v of feasible solutions is optimal if and only if, analogous to (2.12), y (F v B x) = 0. (2.13) Considering these conditions for both players, this shows the following. Theorem 2.4. The game (A,B) has the Nash equilibrium (x,y) if and only if for suitable u,v Ex = e Fy = f E u Ay 0 F v B x 0 7 x, y 0 (2.14)

8 and (2.12), (2.13) hold. The conditions in Theorem 2.4 define a so-called mixed linear complementarity problem (LCP). There are various solutions methods for LCPs. For a comprehensive treatment see Cottle, Pang, and Stone (1992). The most important method for finding one solution of the LCP in Theorem 2.4 is the Lemke Howson algorithm The Lemke Howson algorithm In their seminal paper, Lemke and Howson (1964) describe an algorithm for finding one equilibrium of a bimatrix game. We follow Shapley s (1974) exposition of this algorithm. It requires disjoint pure strategy sets M and N of the two players as in (2.1). Any mixed strategy x in X and y in Y is labeled with certain elements of M N. These labels denote the unplayed pure strategies of the player and the pure best responses of his or her opponent. For i M and j N, let X(i) = {x X x i = 0}, X( j) = {x X b j x b k x for all k N}, Y (i) = {y Y a i y a k y for all k M}, Y ( j) = {y Y y j = 0}. Then x has label k if x X(k) and y has label k if y Y (k), for k M N. Clearly, the best-response regions X( j) for j N are polytopes whose union is X. Similarly, Y is the union of the sets Y (i) for i M. Then a Nash equilibrium is a completely labeled pair (x,y) since then by Theorem 2.1, any pure strategy k of a player is either a best response or played with probability zero, so it appears as a label of x or y. Theorem 2.5. A mixed strategy pair (x,y) in X Y is a Nash equilibrium of (A,B) if and only if for all k M N either x X(k) or y Y (k) (or both). For the 3 2 bimatrix game (A,B) with A = , B = , (2.15) the labels of X and Y are shown in Figure 2.2. The equilibria are (x 1,y 1 ) = ((0,0,1),(1,0) ) where x 1 has the labels 1, 2, 4 (and y 1 the remaining labels 3 and 5), (x 2,y 2 ) = ((0, 3 1, 2 3 ),( 2 3, 1 3 ( ) ) with labels 1, 4, 5 for x 2, and (x 3,y 3 ) = ( 2 3, 1 3,0),( 1 3, 2 3 ) ) with labels 3, 4, 5 for x 3. This geometric-qualitative inspection is very suitable for finding equilibria of games of up to size 3 3. It works by inspecting any point x in X with m labels and checking if there is a point y in Y having the remaining n labels. Usually, any x in X has at most m labels, and any y in Y has at most n labels. A game with this property is called nondegenerate, as stated in the following equivalent definition. 8

9 x 1 x 3 x 1 2 x x 3 3 x 2 y y 3 2 y 2 3 y 1 5 y 4 Figure 2.2. Mixed strategy sets X and Y of the players for the bimatrix game (A,B) in (2.15). The labels 1,2,3, drawn as circled numbers, are the pure strategies of player 1 and marked in X where they have probability zero, in Y where they are best responses. The pure strategies of player 2 are similar labels 4,5. The dots mark points x and y with a maximum number of labels. Definition 2.6. A bimatrix game is called nondegenerate if the number of pure best responses to a mixed strategy never exceeds the size of its support. A game is usually nondegenerate since every additional label introduces an equation that reduces the dimension of the set of points having these labels by one. Then only single points x in X have m given labels and single points y in Y have n given labels, and no point has more labels. Nondegeneracy is discussed in greater detail in Section 2.6 below. Until further notice, we assume that the game is nondegenerate. Theorem 2.7. In a nondegenerate m n bimatrix game (A,B), only finitely many points in X have m labels and only finitely many points in Y have n labels. Proof. Let K and L be subsets of M N with K = m and L = n. There are only finitely many such sets. Consider the set of points in X having the labels in K, and the set of points in Y having the labels in L. By Theorem 2.10(c) below, these sets are empty or singletons. The finitely many points in the preceding theorem are used to define two graphs G 1 and G 2. Let G 1 be the graph whose vertices are those points x in X that have m labels, with an additional vertex 0 in IR M that has all labels i in M. Any two such vertices x and x are joined by an edge if they differ in one label, that is, if they have m 1 labels in common. Similarly, let G 2 be the graph with vertices y in Y that have n labels, with the extra vertex 0 in IR N having all labels j in N, and edges joining those vertices that have n 1 labels in common. The product graph G 1 G 2 of G 1 and G 2 has vertices (x,y) 9

10 where x is a vertex of G 1, and y is a vertex of G 2. Its edges are given by {x} {y,y } for vertices x of G 1 and edges {y,y } of G 2, or by {x,x } {y} for edges {x,x } of G 1 and vertices y of G 2. The Lemke Howson algorithm can be defined combinatorially in terms of these graphs. Let k M N, and call a vertex pair (x,y) of G 1 G 2 k-almost completely labeled if any l in M N {k} is either a label of x or of y. Since two adjacent vertices x,x in G 1, say, have m 1 labels in common, the edge {x,x } {y} of G 1 G 2 is also called k-almost completely labeled if y has the remaining n labels except k. The same applies to edges {x} {y,y } of G 1 G 2. Then any equilibrium (x,y) is in G 1 G 2 adjacent to exactly one vertex pair (x,y ) that is k-almost completely labeled: Namely, if k is the label of x, then x is joined to the vertex x in G 1 sharing the remaining m 1 labels, and y = y. If k is the label of y, then y is similarly joined to y in G 2 and x = x. In the same manner, a k-almost completely labeled pair (x,y) that is completely labeled has exactly two neighbors in G 1 G 2. These are obtained by dropping the unique duplicate label that x and y have in common, joining to an adjacent vertex either in G 1 and keeping y fixed, or in G 2 and keeping x fixed. This defines a unique k-almost completely labeled path in G 1 G 2 connecting one equilibrium to another. The algorithm is started from the artificial equilibrium (0, 0) that has all labels, follows the path where label k is missing, and terminates at a Nash equilibrium of the game. x 1 V x x III I 3 1 IV y II y 2 3 VI y Figure 2.3. The graphs G 1 and G 2 for the game in (2.15). The set of 2-almost completely labeled pairs is formed by the paths with edges (in G 1 G 2 ) I II III IV, connecting the artificial equilibrium (0,0) and (x 3,y 3 ), and V VI, connecting the equilibria (x 1,y 1 ) and (x 2,y 2 ). Figure 2.3 demonstrates this method for the above example. Let 2 be the missing label k. The algorithm starts with x = (0,0,0) and y = (0,0). Step I: y stays fixed and x is changed in G 1 to (0,1,0), picking up label 5, which is now duplicate. Step II: dropping label 5 in G 2 changes y to (0,1), picking up label 1. Step III: dropping label 1 10

11 in G 1 changes x to x 3, picking up label 4. Step IV: dropping label 4 in G 2 changes y to y 3 which has the missing label 2, terminating at the equilibrium (x 3,y 3 ). In a similar way, steps V and VI indicated in Figure 2.3 join the equilibria (x 1,y 1 ) and (x 2,y 2 ) on a 2-almost completely labeled path. In general, one can show the following. Theorem 2.8. (Lemke and Howson, 1964; Shapley, 1974.) Let (A, B) be a nondegenerate bimatrix game and k be a label in M N. Then the set of k-almost completely labeled vertices and edges in G 1 G 2 consists of disjoint paths and cycles. The endpoints of the paths are the equilibria of the game and the artificial equilibrium (0,0). The number of Nash equilibria of the game is odd. This theorem provides a constructive, elementary proof that every nondegenerate game has an equilibrium, independently of the result of Nash (1951). By different labels k that are dropped initially, it may be possible to find different equilibria. However, this does not necessarily generate all equilibria, that is, the union of the k-almost completely labeled paths in Theorem 2.8 for all k M N may be disconnected (Shapley, 1974, p. 183, reports an example due to R. Wilson). For similar observations see Aggarwal (1973), Bastian (1976), Todd (1976, 1978). Shapley (1981) discusses more general methods as a potential way to overcome this problem Representation by polyhedra The vertices and edges of the graphs G 1 and G 2 used in the definition of the Lemke Howson algorithm can be represented as vertices and edges of certain polyhedra. Let H 1 = {(x,v) IR M IR x X, B x F v}, H 2 = {(y,u) IR N IR y Y, Ay E u}. (2.16) The elements of H 1 H 2 represent the solutions to (2.14). Figure 2.4 shows H 2 for the example (2.15). The horizontal plane contains Y as a subset. The scalar u, drawn vertically, is at least the maximum of the functions a i y for the rows a i of A and for y in Y. The maximum itself shows which strategy of player 1 is a best response to y. Consequently, projecting H 2 to Y by mapping (y,u) to y, in Figure 2.4 shown as (y,0), reveals the subdivision of Y into best-response regions Y (i) for i M as in Figure 2.2. Figure 2.4 shows also that the unbounded facets of H 2 project to the subsets Y ( j) of Y for j N. Furthermore, the maximally labeled points in Y marked by dots appear as projections of the vertices of H 2. Similarly, the facets of H 1 project to the subsets X(k) of X for k M N. The graph structure of H 1 and H 2 with its vertices and edges is therefore identical to that of G 1 and G 2, except for the m unbounded edges of H 1 and the n unbounded edges of H 2 that connect to infinity rather than to the additional vertex 0 of G 1 and G 2, respectively. 11

12 4 H 2 u y y Figure 2.4. The polyhedron H 2 for the game in (2.15), and its projection to the set {(y,0) (y,u) H 2 }. The vertical scale is displayed shorter. The circled numbers label the facets of H 2 analogous to Figure 2.2. The constraints (2.14) defining H 1 and H 2 can be simplified by eliminating the payoff variables u and v, which works if these are always positive. For that purpose, assume that A and B are nonnegative and have no zero column. (2.17) This assumption can be made without loss of generality since a constant can be added to all payoffs without changing the game in a material way, so that, for example, A > 0 and B > 0. For examples like (2.15), zero matrix entries are also admitted in (2.17). By (2.6), u and v are scalars and E and F are single columns with all components equal to one, which we denote by the vectors 1 M in IR M and 1 N in IR N, respectively. Let P 1 = {x IR M x 0, B x 1 N }, P 2 = {y IR N Ay 1 M, y 0}. (2.18) It is easy to see that (2.17) implies that P 1 and P 2 are full-dimensional polytopes, unlike H 1 and H 2. The set H 1 is in one-to-one correspondence with P 1 {0} with the map (x,v) x (1/v). Similarly, (y,u) y (1/u) defines a bijection H 2 P 2 {0}. These maps have the respective inverse functions x (x,v) and y (y,u) with x = x v, v = 1/1 Mx, y = y u, u = 1/1 Ny. (2.19) 12

13 These bijections are not linear. However, they preserve the face incidences since a binding inequality in H 1 corresponds to a binding inequality in P 1 and vice versa. In particular, vertices have the same labels defined by the binding inequalities, which are some of the m + n inequalities defining P 1 and P 2 in (2.18). u y j y j u 1 0 H 2 y 5... P y 4 Figure 2.5. The map H 2 P 2, (y,u) y = y (1/u) as a projective transformation with projection point (0,0). The left-hand side shows this for a single component y j of y, the right-hand side shows how P 2 arises in this way from H 2 in the example (2.15). Figure 2.5 shows a geometric interpretation of the bijection (y,u) y (1/u) as a projective transformation (see Ziegler, 1995, Sect. 2.6). On the left-hand side, the pair (y j,u) is shown as part of (y,u) in H 2 for any component y j of y. The line connecting this pair to (0,0) contains the point (y j,1) with y j = y j/u. Thus, P 2 {1} is the intersection of the lines connecting any (y,u) in H 2 with (0,0) in IR N IR with the set {(y,1) y IR N }. The vertices 0 of P 1 and P 2 do not arise as such projections, but correspond to H 1 and H 2 at infinity Complementary pivoting Traversing a polyhedron along its edges has a simple algebraic implementation known as pivoting. The constraints defining the polyhedron are thereby represented as linear equations with nonnegative variables. For P 1 P 2, these have the form Ay + r = 1 M B x (2.20) + s = 1 N 13

14 with x,y,r,s 0 where r IR M and s IR N are vectors of slack variables. The system (2.20) is of the form Cz = q (2.21) for a matrix C, right-hand side q, and a vector z of nonnegative variables. The matrix C has full rank, so that q belongs always to the space spanned by the columns C j of C. A basis β is given by a basis {C j j β} of this column space, so that the square matrix C β formed by these columns is invertible. The corresponding basic solution is the unique vector z β = (z j ) j β with C β z β = q, where the variables z j for j in β are called basic variables, and z j = 0 for all nonbasic variables z j, j β, so that (2.21) holds. If this solution fulfills also z 0, then the basis β is called feasible. If β is a basis for (2.21), then the corresponding basic solution can be read directly from the equivalent system C 1 Cz = C 1q, called a tableau, since the columns of C 1C for the basic variables form β β β the identity matrix. The tableau and thus (2.21) is equivalent to the system z β = C 1 β q C 1 β C jz j (2.22) j β which shows how the basic variables depend on the nonbasic variables. Pivoting is a change of the basis where a nonbasic variable z j for some j not in β enters and a basic variable z i for some i in β leaves the set of basic variables. The pivot step is possible if and only if the coefficient of z j in the ith row of the current tableau is nonzero, and is performed by solving the ith equation for z j and then replacing z j by the resulting expression in each of the remaining equations. For a given entering variable z j, the leaving variable is chosen to preserve feasibility of the basis. Let the components of C 1 β q be q i and of C 1 β C j be c i j, for i β. Then the largest value of z j such that in (2.22), z β = C 1 β q C 1 β C jz j is nonnegative is obviously given by min{q i /c i j i β, c i j > 0}. (2.23) This is called a minimum ratio test. Except in degenerate cases (see below), the minimum in (2.23) is unique and determines the leaving variable z i uniquely. After pivoting, the new basis is β { j} {i}. The choice of the entering variable depends on the solution that one wants to find. The Simplex method for linear programming is defined by pivoting with an entering variable that improves the value of the objective function. In the system (2.20), one looks for a complementary solution where x r = 0, y s = 0 (2.24) because it implies with (2.19) the complementarity conditions (2.12) and (2.13) so that (x,y) is a Nash equilibrium by Theorem 2.4. In a basic solution to (2.20), every nonbasic 14

15 variable has value zero and represents a binding inequality, that is, a facet of the polytope. Hence, each basis defines a vertex which is labeled with the indices of the nonbasic variables. The variables of the system come in complementary pairs (x i,r i ) for the indices i M and (y j,s j ) for j N. Recall that the Lemke Howson algorithm follows a path of solutions that have all labels in M N except for a missing label k. Thus a k- almost completely labeled vertex is a basis that has exactly one basic variable from each complementary pair, except for a pair of variables (x k,r k ), say (if k M) that are both basic. Correspondingly, there is another pair of complementary variables that are both nonbasic, representing the duplicate label. One of them is chosen as the entering variable, depending on the direction of the computed path. The two possibilities represent the two k-almost completely labeled edges incident to that vertex. The algorithm is started with all components of r and s as basic variables and nonbasic variables (x,y ) = (0,0). This initial solution fulfills (2.24) and represents the artificial equilibrium. Algorithm 2.9. (Complementary pivoting.) For a bimatrix game (A, B) fulfilling (2.17), compute a sequence of basic feasible solutions to the system (2.20) as follows. (a) Initialize with basic variables r = 1 M, s = 1 N. Choose k M N, and let the first entering variable be x k if k M and y k if k N. (b) Pivot such as to maintain feasibility using the minimum ratio test. (c) If the variable z i that has just left the basis has index k, stop. Then (2.24) holds and (x, y) defined by (2.19) is a Nash equilibrium. Otherwise, choose the complement of z i as the next entering variable and go to (b). We demonstrate Algorithm 2.9 for the example (2.15). The initial basic solution in the form (2.22) is given by r 1 = 1 6y 5 r 2 = 1 2y 4 5y 5 (2.25) and r 3 = 1 3y 4 3y 5 s 4 = 1 x 1 4x 3 s 5 = 1 2x 2 3x 3. (2.26) Pivoting can be performed separately for these two systems since they have no variables in common. With the missing label 2 as in Figure 2.3, the first entering variable is x 2. Then the second equation of (2.26) is rewritten as x 2 = x s 5 and s 5 leaves the basis. Next, the complement y 5 of s 5 enters the basis. The minimum ratio (2.23) in (2.25) is 1/6, so that r 1 leaves the basis and (2.25) is replaced by the system y 5 = r 1 r 2 = 1 6 2y r 1 r 3 = 1 2 3y r 1. (2.27) 15

16 Then the complement x 1 of r 1 enters the basis and s 4 leaves, so that the system replacing (2.26) is now x 1 = 1 4x 3 s 4 x 2 = x 3 2 1s (2.28) 5. With y 4 entering, the minimum ratio (2.23) in (2.27) is 1/12, where r 2 leaves the basis and (2.27) is replaced by y 5 = r 1 y 4 = r r 2 r 3 = r r 2. (2.29) Then the algorithm terminates since the variable r 2, with the missing label 2 as index, has become nonbasic. The solution defined by the final systems (2.28) and (2.29), with the nonbasic variables on the right-hand side equal to zero, fulfills (2.24). Renormalizing x and y by (2.19) as probability vectors gives the equilibrium (x,y) = (x 3,y 3 ) mentioned after (2.15) with payoffs 4 to player 1 and 2/3 to player 2. Assumption (2.17) with the simple initial basis for the system (2.20) is used by Wilson (1992). Lemke and Howson (1964) assume A < 0 and B < 0, so that P 1 and P 2 are unbounded polyhedra and the almost completely labeled path starts at the vertex at the end of an unbounded edge. To avoid the renormalization (2.19), the Lemke Howson algorithm can also be applied to the system (2.14) represented in equality form. Then the unconstrained variables u and v have no slack variables as counterparts and are always basic, so they never leave the basis and are disregarded in the minimum ratio test. Then the computation has the following economic interpretation (Wilson, 1992; van den Elzen, 1993): Let the missing label k belong to M. Then the basic slack variable r k which is basic together with x k can be interpreted as a subsidy payoff for the pure strategy k so that player 1 is in equilibrium. The algorithm terminates when that subsidy or the probability x k vanishes. Player 2 is in equilibrium throughout the computation Degenerate games The path computed by the Lemke Howson algorithm is unique only if the game is nondegenerate. Like other pivoting methods, the algorithm can be extended to degenerate games by lexicographic perturbation, as suggested by Lemke and Howson (1964). Before we explain this, we show that various definitions of nondegeneracy used in the literature are equivalent. In the following theorem, I M denotes the identity matrix in IR M M. Furthermore, a pure strategy i of player 1 is called payoff equivalent to a mixed strategy x of player 1 if it produces the same payoffs, that is, a i = x A. The strategy i is called weakly dominated by x if a i x A, and strictly dominated by x if a i < x A holds. The same applies to the strategies of player 2. Theorem Let (A,B) be an m n bimatrix game so that (2.17) holds. Then the following are equivalent. 16

17 (a) The game is nondegenerate according to Definition 2.6. [ ] IM (b) For any x in X and y in Y, the rows of B for the labels of x are linearly independent, and the rows of for the labels of y are linearly [ ] A independent. I N (c) For any x in X with set of labels K and y in Y with set of labels L, the set k K X(k) has dimension m K, and the set l LY (l) has dimension n L. (d) P 1 and P 2 in (2.18) are simple polytopes, and any pure strategy of a player that is weakly dominated by or payoff equivalent to another mixed strategy is strictly dominated by some mixed strategy. (e) In any basic feasible solution to (2.20), all basic variables have positive values. Lemke and Howson (1964) define nondegenerate games by condition (b). Krohn et al. (1991), and, in slightly weaker form, Shapley (1974), define nondegeneracy as in (c). Van Damme (1987, p. 52) has observed the implication (b) (a). Some of the implications between the conditions (a) (e) in Theorem 2.10 are easy to prove, whereas others require more work. For details of the proof see von Stengel (1996b). The m+n rows of the matrices in (b) define the inequalities for the polytopes P 1 and P 2 in (2.18), where the labels denote binding inequalities. This condition explains why a generic bimatrix game is nondegenerate with probability one: We call a game generic if each payoff is drawn randomly and independently from a continuous distribution, for example the normal distribution with small variance around an approximate value for the respective payoff. Then the rows of the matrices described in 2.10(b) are linearly independent with probability one, since a linear dependence imposes an equation on at least one payoff, which is fulfilled with probability zero. However, the strategic form of an extensive game (like Figure 4.1 below) is often degenerate since its payoff entries are not independent. A systematic treatment of degeneracy is therefore of interest. The dimensionality condition in Theorem 2.10(c) has been explained informally before Theorem 2.7 above. The geometric interpretation of nondegeneracy in 2.10(d) consists of two parts. The polytope P 1 (and similarly P 2 ) is simple since a point that belongs to more than m facets of P 1 has too many labels. In the game A = , B = , (2.30) the polytope P 1 is not simple because its vertex (0,0, 1 4 ) belongs to four facets. This game is degenerate since the pure strategy 3 of player 1 has two best responses. Apart from this, degeneracy may result due to a redundancy of the description of the polytope by inequalities (for example, if A has two identical rows of payoffs to player 1). It is not hard to show that such redundant inequalities correspond to weakly dominated strategies. 17

18 A binding inequality of this sort defines a face of the respective polytope. The strict dominance in (d) asserts that this face is empty if the game is nondegenerate. Theorem 2.10(e) states that every feasible basis of the system is nondegenerate, that is, all basic variables have positive values. This condition implies that the leaving variable in step (b) of Algorithm 2.9 is unique, since otherwise, another variable that could also leave the basis but stays basic will have value zero after the pivoting step. This concludes our remarks on Theorem The lexicographic method extends the minimum ratio test in such a way that the leaving variable is always unique, even in degenerate cases. The method simulates an infinitesimal perturbation of the right-hand side of the given linear system (2.21), z 0, and works as follows. Let Q be a matrix of full row rank with k columns. For any ε 0, consider the system Cz = q + Q (ε 1,...,ε k ) (2.31) which is equal to (2.21) for ε = 0 and which is a perturbed system for ε > 0. Let β be a basis for this system with basic solution z β = C 1 β q +C 1 β Q (ε1,...,ε k ) = q + Q (ε 1,...,ε k ) (2.32) and z j = 0 for j β. It is easy to see that z β is positive for all sufficiently small ε if and only if all rows of the matrix [q, Q] are lexico-positive, that is, the first nonzero component of each row is positive. Then β is called a lexico-feasible basis. This holds in particular for q > 0 when β is a nondegenerate basis for the unperturbed system. Because Q has full row rank, Q has no zero row, which implies that any feasible basis for the perturbed system is nondegenerate. In consequence, the leaving variable for the perturbed system is always unique. It is determined by the following lexico-minimum ratio test. Like for the minimum ratio test (2.23), let, for i β, the entries of the entering column C 1 β C j be c i j, those of q in (2.32) be q i0, and those of Q be q il for 1 l k. Then the leaving variable is determined by the maximum choice of the entering variable z j such that all basic variables z i in (2.31) stay nonnegative, that is, z i = q i0 + q i1 ε q ik ε k c i j z j 0 for all i β. For sufficiently small ε, the sharpest bound for z j is obtained for that i in β with the lexicographically smallest row vector 1/c i j (q i0,q i1,...,q ik ) where c i j > 0 (a vector is called lexicographically smaller than another if it is smaller in the first component where the vectors differ). No two of these row vectors are equal since Q has full row rank. Therefore, this lexico-minimum ratio test, which extends (2.23), determines the leaving variable z i uniquely. By construction, it preserves the invariant that all computed bases are lexico-feasible, provided this holds for the initial basis like that in Algorithm 2.9(a) which is nondegenerate. Since the computed sequence of bases is unique, the computation cannot cycle and terminates like in the nondegenerate case. 18

19 The lexico-minimum ratio test can be performed without actually perturbing the system, since it only depends on the current basis β and Q in (2.32). The actual values of the basic variables are given by q, which may have zero entries, so the perturbation applies as if ε is vanishing. The lexicographic method requires little extra work (and none for a nondegenerate game) since Q can be equal to C or to that part of C containing the identity matrix, so that Q in (2.32) is just the respective part of the current tableau. Wilson (1992) uses this to compute equilibria with additional stability properties, as discussed in Section 3.1 below. Eaves (1971) describes a general setup of lexicographic systems for LCPs and shows various ways (pp. 625, 629, 632) of solving bimatrix games with Lemke s algorithm (Lemke, 1965), a generalization of the Lemke Howson method Equilibrium enumeration and other methods For a given bimatrix game, the Lemke Howson algorithm finds at least one equilibrium. Sometimes, one wishes to find all equilibria, for example in order to know if an equilibrium is unique. A simple approach (as used by Dickhaut and Kaplan, 1991) is to enumerate all possible equilibrium supports, solve the corresponding linear equations for mixed strategy probabilities, and check if the unplayed pure strategies have smaller payoffs. In a nondegenerate game, both players use the same number of pure strategies in equilibrium, so only supports of equal cardinality need to be examined. They can be represented as M S and N S for any n-element subset S of M N except N. There are ( m+n) n 1 many possibilities for S, which is exponential in the smaller dimension m or n of the bimatrix game. Stirling s asymptotic formula 2πn(n/e) n for the factorial n! shows that in a square bimatrix game where m = n, the binomial coefficient ( 2n n ) is asymptotically 4 n / πn. The number of equal-sized supports is here not substantially smaller than the number 4 n of all possible supports. An alternative is to inspect the vertices of H 1 H 2 defined in (2.16) if they represent equilibria. Mangasarian (1964) does this by checking if the bilinear function x (A + B)y u v has a maximum, that is, has value zero, so this is equivalent to the complementarity conditions (2.12) and (2.13). It is easier to enumerate the vertices of P 1 and P 2 in (2.18) since these are polytopes if (2.17) holds. Analogous to Theorem 2.5, a pair (x,y ) in P 1 P 2, except (0,0), defines a Nash equilibrium (x,y) by (2.19) if it is completely labeled. The labels can be assigned directly to (x,y ) as the binding inequalities. That is, (x,y ) in P 1 P 2 has label i in M if x i = 0 or a iy = 1, and label j in N if b j x = 1 or y j = 0 holds. Theorem Let (A,B) be a bimatrix game so that (2.17) holds, and let V 1 and V 2 be the sets of vertices of P 1 and P 2 in (2.18), respectively. Then if (A,B) is nondegenerate, (x,y) given by (2.19) is a Nash equilibrium of (A,B) if and only if (x,y ) is a completely labeled vertex pair in V 1 V 2 {(0,0)}. Thus, computing the vertex sets V 1 of P 1 and V 2 of P 2 and checking their labels finds all Nash equilibria of a nondegenerate game. This method was first suggested by Vorob ev 19

20 (1958), and later simplified by Kuhn (1961). An elegant method for vertex enumeration is due to Avis and Fukuda (1992). The number of vertices of a polytope is in general exponential in the dimension. The maximal number is described in the following theorem, where t for a real number t denotes the largest integer not exceeding t. Theorem (Upper bound theorem for polytopes, McMullen, 1970.) The maximum number of vertices of a d-dimensional polytope with k facets is ( k d 1 2 Φ(d,k) = 1 ) ( k d ) d d 1 2. For a self-contained proof of this theorem see Mulmuley (1994). This result shows that P 1 has at most Φ(m,n + m) and P 2 has at most Φ(n,m + n) vertices, including 0 which is not part of an equilibrium. In a nondegenerate game, any vertex is part of at most one equilibrium, so the smaller number of vertices of the polytope P 1 or P 2 is a bound for the number of equilibria. Corollary (Keiding, 1997.) A nondegenerate m n bimatrix game has at most min{φ(m,n + m),φ(n,m + n)} 1 equilibria. It is not hard to show that m < n implies Φ(m,n + m) < Φ(n,m + n). For m = n, Stirling s formula shows that Φ(n,2n) is asymptotically c (27/4) n/2 / n or about c n / n, where the constant c is equal to 2 2/3π or about.921 if n is even, and 2/π or about.798 if n is odd. Since n grows less rapidly than 4 n, vertex enumeration is more efficient than support enumeration. Although the upper bound in Corollary 2.13 is probably not tight, it is possible to construct bimatrix games that have a large number of Nash equilibria. The n n bimatrix game where A and B are equal to the identity matrix has 2 n 1 Nash equilibria. Then both P 1 and P 2 are equal to the n-dimensional unit cube, where each vertex is part of a completely labeled pair. Quint and Shubik (1997) conjectured that no nondegenerate n n bimatrix game has more equilibria. This follows from Corollary 2.13 for n 3 and is shown for n = 4 by Keiding (1997) and McLennan and Park (1999). However, there are counterexamples for n 6, with asymptotically c (1 + 2) n / n or about c n / n many equilibria, where c is 2 3/4 / π or about.949 if n is even, and (2 9/4 2 7/4 )/ π or about.786 if n is odd (von Stengel, 1999). These games are constructed with the help of polytopes which have the maximum number Φ(n,2n) of vertices. This result suggests that vertex enumeration is indeed the appropriate method for finding all Nash equilibria. For degenerate bimatrix games, Theorem 2.10(d) shows that P 1 or P 2 may be not simple. Then there may be equilibria (x, y) corresponding to completely labeled points (x,y ) in P 1 P 2 where, for example, x has more than m labels and y has fewer than n labels and is therefore not a vertex of P 2. However, any such equilibrium is the convex 20

Equilibrium computation: Part 1

Equilibrium computation: Part 1 Nicola Gatti 1 Troels Bjerre Sorensen 2 1 Politecnico di Milano, Italy 2 Duke University, USA Nicola Gatti and Troels Bjerre Sørensen ( Politecnico di Milano, Italy, Equilibrium

3. Linear Programming and Polyhedral Combinatorics

Massachusetts Institute of Technology Handout 6 18.433: Combinatorial Optimization February 20th, 2009 Michel X. Goemans 3. Linear Programming and Polyhedral Combinatorics Summary of what was seen in the

By W.E. Diewert. July, Linear programming problems are important for a number of reasons:

APPLIED ECONOMICS By W.E. Diewert. July, 3. Chapter : Linear Programming. Introduction The theory of linear programming provides a good introduction to the study of constrained maximization (and minimization)

1 Polyhedra and Linear Programming

CS 598CSC: Combinatorial Optimization Lecture date: January 21, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im 1 Polyhedra and Linear Programming In this lecture, we will cover some basic material

Geometry of Linear Programming

Chapter 2 Geometry of Linear Programming The intent of this chapter is to provide a geometric interpretation of linear programming problems. To conceive fundamental concepts and validity of different algorithms

1 Introduction. Linear Programming. Questions. A general optimization problem is of the form: choose x to. max f(x) subject to x S. where.

Introduction Linear Programming Neil Laws TT 00 A general optimization problem is of the form: choose x to maximise f(x) subject to x S where x = (x,..., x n ) T, f : R n R is the objective function, S

Chapter 15 Introduction to Linear Programming

Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2014 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of

2.3 Convex Constrained Optimization Problems

42 CHAPTER 2. FUNDAMENTAL CONCEPTS IN CONVEX OPTIMIZATION Theorem 15 Let f : R n R and h : R R. Consider g(x) = h(f(x)) for all x R n. The function g is convex if either of the following two conditions

Practical Guide to the Simplex Method of Linear Programming

Practical Guide to the Simplex Method of Linear Programming Marcel Oliver Revised: April, 0 The basic steps of the simplex algorithm Step : Write the linear programming problem in standard form Linear

Section Notes 3. The Simplex Algorithm. Applied Math 121. Week of February 14, 2011

Section Notes 3 The Simplex Algorithm Applied Math 121 Week of February 14, 2011 Goals for the week understand how to get from an LP to a simplex tableau. be familiar with reduced costs, optimal solutions,

Transportation Polytopes: a Twenty year Update

Transportation Polytopes: a Twenty year Update Jesús Antonio De Loera University of California, Davis Based on various papers joint with R. Hemmecke, E.Kim, F. Liu, U. Rothblum, F. Santos, S. Onn, R. Yoshida,

Min-cost flow problems and network simplex algorithm

Min-cost flow problems and network simplex algorithm The particular structure of some LP problems can be sometimes used for the design of solution techniques more efficient than the simplex algorithm.

Theory of Linear Programming

Theory of Linear Programming Debasis Mishra April 6, 2011 1 Introduction Optimization of a function f over a set S involves finding the maximum (minimum) value of f (objective function) in the set S (feasible

4.6 Linear Programming duality

4.6 Linear Programming duality To any minimization (maximization) LP we can associate a closely related maximization (minimization) LP. Different spaces and objective functions but in general same optimal

Chap 4 The Simplex Method

The Essence of the Simplex Method Recall the Wyndor problem Max Z = 3x 1 + 5x 2 S.T. x 1 4 2x 2 12 3x 1 + 2x 2 18 x 1, x 2 0 Chap 4 The Simplex Method 8 corner point solutions. 5 out of them are CPF solutions.

OPRE 6201 : 2. Simplex Method

OPRE 6201 : 2. Simplex Method 1 The Graphical Method: An Example Consider the following linear program: Max 4x 1 +3x 2 Subject to: 2x 1 +3x 2 6 (1) 3x 1 +2x 2 3 (2) 2x 2 5 (3) 2x 1 +x 2 4 (4) x 1, x 2

Definition of a Linear Program

Definition of a Linear Program Definition: A function f(x 1, x,..., x n ) of x 1, x,..., x n is a linear function if and only if for some set of constants c 1, c,..., c n, f(x 1, x,..., x n ) = c 1 x 1

max cx s.t. Ax c where the matrix A, cost vector c and right hand side b are given and x is a vector of variables. For this example we have x

Linear Programming Linear programming refers to problems stated as maximization or minimization of a linear function subject to constraints that are linear equalities and inequalities. Although the study

I. Solving Linear Programs by the Simplex Method

Optimization Methods Draft of August 26, 2005 I. Solving Linear Programs by the Simplex Method Robert Fourer Department of Industrial Engineering and Management Sciences Northwestern University Evanston,

LECTURE 5: DUALITY AND SENSITIVITY ANALYSIS. 1. Dual linear program 2. Duality theory 3. Sensitivity analysis 4. Dual simplex method

LECTURE 5: DUALITY AND SENSITIVITY ANALYSIS 1. Dual linear program 2. Duality theory 3. Sensitivity analysis 4. Dual simplex method Introduction to dual linear program Given a constraint matrix A, right

Linear Programming I

Linear Programming I November 30, 2003 1 Introduction In the VCR/guns/nuclear bombs/napkins/star wars/professors/butter/mice problem, the benevolent dictator, Bigus Piguinus, of south Antarctica penguins

Quiz 1 Sample Questions IE406 Introduction to Mathematical Programming Dr. Ralphs

Quiz 1 Sample Questions IE406 Introduction to Mathematical Programming Dr. Ralphs These questions are from previous years and should you give you some idea of what to expect on Quiz 1. 1. Consider the

Absolute Value Programming

Computational Optimization and Aplications,, 1 11 (2006) c 2006 Springer Verlag, Boston. Manufactured in The Netherlands. Absolute Value Programming O. L. MANGASARIAN olvi@cs.wisc.edu Computer Sciences

Week 5 Integral Polyhedra

Week 5 Integral Polyhedra We have seen some examples 1 of linear programming formulation that are integral, meaning that every basic feasible solution is an integral vector. This week we develop a theory

Mathematics Course 111: Algebra I Part IV: Vector Spaces

Mathematics Course 111: Algebra I Part IV: Vector Spaces D. R. Wilkins Academic Year 1996-7 9 Vector Spaces A vector space over some field K is an algebraic structure consisting of a set V on which are

Special Situations in the Simplex Algorithm

Special Situations in the Simplex Algorithm Degeneracy Consider the linear program: Maximize 2x 1 +x 2 Subject to: 4x 1 +3x 2 12 (1) 4x 1 +x 2 8 (2) 4x 1 +2x 2 8 (3) x 1, x 2 0. We will first apply the

What is Linear Programming?

Chapter 1 What is Linear Programming? An optimization problem usually has three essential ingredients: a variable vector x consisting of a set of unknowns to be determined, an objective function of x to

Game Theory Explorer Software for the Applied Game Theorist

Game Theory Explorer Software for the Applied Game Theorist Rahul Savani ernhard von Stengel arxiv:40.969v [cs.gt] 6 Mar 04 March 6, 04 Abstract This paper presents the Game Theory Explorer software tool

Continued Fractions and the Euclidean Algorithm

Continued Fractions and the Euclidean Algorithm Lecture notes prepared for MATH 326, Spring 997 Department of Mathematics and Statistics University at Albany William F Hammond Table of Contents Introduction

Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc.

1. Introduction Linear Programming for Optimization Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc. 1.1 Definition Linear programming is the name of a branch of applied mathematics that

Lecture 3: Linear Programming Relaxations and Rounding

Lecture 3: Linear Programming Relaxations and Rounding 1 Approximation Algorithms and Linear Relaxations For the time being, suppose we have a minimization problem. Many times, the problem at hand can

The Simplex Method. yyye

Yinyu Ye, MS&E, Stanford MS&E310 Lecture Note #05 1 The Simplex Method Yinyu Ye Department of Management Science and Engineering Stanford University Stanford, CA 94305, U.S.A. http://www.stanford.edu/

December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B. KITCHENS

December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B KITCHENS The equation 1 Lines in two-dimensional space (1) 2x y = 3 describes a line in two-dimensional space The coefficients of x and y in the equation

Approximation Algorithms

Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

Outline. Linear Programming (LP): Simplex Search. Simplex: An Extreme-Point Search Algorithm. Basic Solutions

Outline Linear Programming (LP): Simplex Search Benoît Chachuat McMaster University Department of Chemical Engineering ChE 4G03: Optimization in Chemical Engineering 1 Basic Solutions

CHAPTER 9. Integer Programming

CHAPTER 9 Integer Programming An integer linear program (ILP) is, by definition, a linear program with the additional constraint that all variables take integer values: (9.1) max c T x s t Ax b and x integral

LINEAR PROGRAMMING P V Ram B. Sc., ACA, ACMA Hyderabad

LINEAR PROGRAMMING P V Ram B. Sc., ACA, ACMA 98481 85073 Hyderabad Page 1 of 19 Question: Explain LPP. Answer: Linear programming is a mathematical technique for determining the optimal allocation of resources

Linear Programming: Theory and Applications

Linear Programming: Theory and Applications Catherine Lewis May 11, 2008 1 Contents 1 Introduction to Linear Programming 3 1.1 What is a linear program?...................... 3 1.2 Assumptions.............................

arxiv:1203.1525v1 [math.co] 7 Mar 2012

Constructing subset partition graphs with strong adjacency and end-point count properties Nicolai Hähnle haehnle@math.tu-berlin.de arxiv:1203.1525v1 [math.co] 7 Mar 2012 March 8, 2012 Abstract Kim defined

Stanford University CS261: Optimization Handout 6 Luca Trevisan January 20, In which we introduce the theory of duality in linear programming.

Stanford University CS261: Optimization Handout 6 Luca Trevisan January 20, 2011 Lecture 6 In which we introduce the theory of duality in linear programming 1 The Dual of Linear Program Suppose that we

The Simplex Method. What happens when we need more decision variables and more problem constraints?

The Simplex Method The geometric method of solving linear programming problems presented before. The graphical method is useful only for problems involving two decision variables and relatively few problem

NP-Hardness Results Related to PPAD

NP-Hardness Results Related to PPAD Chuangyin Dang Dept. of Manufacturing Engineering & Engineering Management City University of Hong Kong Kowloon, Hong Kong SAR, China E-Mail: mecdang@cityu.edu.hk Yinyu

Linear Programming. March 14, 2014

Linear Programming March 1, 01 Parts of this introduction to linear programming were adapted from Chapter 9 of Introduction to Algorithms, Second Edition, by Cormen, Leiserson, Rivest and Stein [1]. 1

This exposition of linear programming

Linear Programming and the Simplex Method David Gale This exposition of linear programming and the simplex method is intended as a companion piece to the article in this issue on the life and work of George

Introduction to Linear Programming.

Chapter 1 Introduction to Linear Programming. This chapter introduces notations, terminologies and formulations of linear programming. Examples will be given to show how real-life problems can be modeled

Good luck, veel succes!

Final exam Advanced Linear Programming, May 7, 13.00-16.00 Switch off your mobile phone, PDA and any other mobile device and put it far away. No books or other reading materials are allowed. This exam

Minimize subject to. x S R

Chapter 12 Lagrangian Relaxation This chapter is mostly inspired by Chapter 16 of [1]. In the previous chapters, we have succeeded to find efficient algorithms to solve several important problems such

Linear Inequalities and Linear Programming. Systems of Linear Inequalities in Two Variables

Linear Inequalities and Linear Programming 5.1 Systems of Linear Inequalities 5.2 Linear Programming Geometric Approach 5.3 Geometric Introduction to Simplex Method 5.4 Maximization with constraints 5.5

On Stability Properties of Economic Solution Concepts

On Stability Properties of Economic Solution Concepts Richard J. Lipton Vangelis Markakis Aranyak Mehta Abstract In this note we investigate the stability of game theoretic and economic solution concepts

The Canonical and Dictionary Forms of Linear Programs

The Canonical and Dictionary Forms of Linear Programs Recall the general optimization problem: Minimize f(x) subect to x D (1) The real valued function f is called the obective function, and D the constraint

Vector Spaces II: Finite Dimensional Linear Algebra 1

John Nachbar September 2, 2014 Vector Spaces II: Finite Dimensional Linear Algebra 1 1 Definitions and Basic Theorems. For basic properties and notation for R N, see the notes Vector Spaces I. Definition

The Graphical Simplex Method: An Example

The Graphical Simplex Method: An Example Consider the following linear program: Max 4x 1 +3x Subject to: x 1 +3x 6 (1) 3x 1 +x 3 () x 5 (3) x 1 +x 4 (4) x 1, x 0. Goal: produce a pair of x 1 and x that

1 Solving LPs: The Simplex Algorithm of George Dantzig

Solving LPs: The Simplex Algorithm of George Dantzig. Simplex Pivoting: Dictionary Format We illustrate a general solution procedure, called the simplex algorithm, by implementing it on a very simple example.

Linear Programming is the branch of applied mathematics that deals with solving

Chapter 2 LINEAR PROGRAMMING PROBLEMS 2.1 Introduction Linear Programming is the branch of applied mathematics that deals with solving optimization problems of a particular functional form. A linear programming

Introduction to Flocking {Stochastic Matrices}

Supelec EECI Graduate School in Control Introduction to Flocking {Stochastic Matrices} A. S. Morse Yale University Gif sur - Yvette May 21, 2012 CRAIG REYNOLDS - 1987 BOIDS The Lion King CRAIG REYNOLDS

1 VECTOR SPACES AND SUBSPACES

1 VECTOR SPACES AND SUBSPACES What is a vector? Many are familiar with the concept of a vector as: Something which has magnitude and direction. an ordered pair or triple. a description for quantities such

Lecture 7: Approximation via Randomized Rounding

Lecture 7: Approximation via Randomized Rounding Often LPs return a fractional solution where the solution x, which is supposed to be in {0, } n, is in [0, ] n instead. There is a generic way of obtaining

Planar Tree Transformation: Results and Counterexample

Planar Tree Transformation: Results and Counterexample Selim G Akl, Kamrul Islam, and Henk Meijer School of Computing, Queen s University Kingston, Ontario, Canada K7L 3N6 Abstract We consider the problem

. P. 4.3 Basic feasible solutions and vertices of polyhedra. x 1. x 2

4. Basic feasible solutions and vertices of polyhedra Due to the fundamental theorem of Linear Programming, to solve any LP it suffices to consider the vertices (finitely many) of the polyhedron P of the

Solving Linear Programs

Solving Linear Programs 2 In this chapter, we present a systematic procedure for solving linear programs. This procedure, called the simplex method, proceeds by moving from one feasible solution to another,

CHAPTER 17. Linear Programming: Simplex Method

CHAPTER 17 Linear Programming: Simplex Method CONTENTS 17.1 AN ALGEBRAIC OVERVIEW OF THE SIMPLEX METHOD Algebraic Properties of the Simplex Method Determining a Basic Solution Basic Feasible Solution 17.2

3 Does the Simplex Algorithm Work?

Does the Simplex Algorithm Work? In this section we carefully examine the simplex algorithm introduced in the previous chapter. Our goal is to either prove that it works, or to determine those circumstances

Using the Simplex Method in Mixed Integer Linear Programming

Integer Using the Simplex Method in Mixed Integer UTFSM Nancy, 17 december 2015 Using the Simplex Method in Mixed Integer Outline Mathematical Programming Integer 1 Mathematical Programming Optimisation

24. The Branch and Bound Method

24. The Branch and Bound Method It has serious practical consequences if it is known that a combinatorial problem is NP-complete. Then one can conclude according to the present state of science that no

α = u v. In other words, Orthogonal Projection

Orthogonal Projection Given any nonzero vector v, it is possible to decompose an arbitrary vector u into a component that points in the direction of v and one that points in a direction orthogonal to v

2.3 Scheduling jobs on identical parallel machines

2.3 Scheduling jobs on identical parallel machines There are jobs to be processed, and there are identical machines (running in parallel) to which each job may be assigned Each job = 1,,, must be processed

Linear Programming, Lagrange Multipliers, and Duality Geoff Gordon

lp.nb 1 Linear Programming, Lagrange Multipliers, and Duality Geoff Gordon lp.nb 2 Overview This is a tutorial about some interesting math and geometry connected with constrained optimization. It is not

2.5 Gaussian Elimination

page 150 150 CHAPTER 2 Matrices and Systems of Linear Equations 37 10 the linear algebra package of Maple, the three elementary 20 23 1 row operations are 12 1 swaprow(a,i,j): permute rows i and j 3 3

Chapter 3 LINEAR PROGRAMMING GRAPHICAL SOLUTION 3.1 SOLUTION METHODS 3.2 TERMINOLOGY

Chapter 3 LINEAR PROGRAMMING GRAPHICAL SOLUTION 3.1 SOLUTION METHODS Once the problem is formulated by setting appropriate objective function and constraints, the next step is to solve it. Solving LPP

The multi-integer set cover and the facility terminal cover problem

The multi-integer set cover and the facility teral cover problem Dorit S. Hochbaum Asaf Levin December 5, 2007 Abstract The facility teral cover problem is a generalization of the vertex cover problem.

Partitioning edge-coloured complete graphs into monochromatic cycles and paths

arxiv:1205.5492v1 [math.co] 24 May 2012 Partitioning edge-coloured complete graphs into monochromatic cycles and paths Alexey Pokrovskiy Departement of Mathematics, London School of Economics and Political

A Hybrid Algorithm for Solving the Absolute Value Equation

A Hybrid Algorithm for Solving the Absolute Value Equation Olvi L. Mangasarian Abstract We propose a hybrid algorithm for solving the NP-hard absolute value equation (AVE): Ax x = b, where A is an n n

Recall that two vectors in are perpendicular or orthogonal provided that their dot

Orthogonal Complements and Projections Recall that two vectors in are perpendicular or orthogonal provided that their dot product vanishes That is, if and only if Example 1 The vectors in are orthogonal

1 if 1 x 0 1 if 0 x 1

Chapter 3 Continuity In this chapter we begin by defining the fundamental notion of continuity for real valued functions of a single real variable. When trying to decide whether a given function is or

Sensitivity analysis for production planning model of an oil company

Sensitivity analysis for production planning model of an oil company Thesis Supervised by By Yu Da Assoc. Professor Tibor Illés Eötvös Loránd University Faculty of Natural Sciences 2004 ACKNOWLEDGEMENT

Linear Codes. In the V[n,q] setting, the terms word and vector are interchangeable.

Linear Codes Linear Codes In the V[n,q] setting, an important class of codes are the linear codes, these codes are the ones whose code words form a sub-vector space of V[n,q]. If the subspace of V[n,q]

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of

Graphs without proper subgraphs of minimum degree 3 and short cycles

Graphs without proper subgraphs of minimum degree 3 and short cycles Lothar Narins, Alexey Pokrovskiy, Tibor Szabó Department of Mathematics, Freie Universität, Berlin, Germany. August 22, 2014 Abstract

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

ALMOST COMMON PRIORS 1. INTRODUCTION

ALMOST COMMON PRIORS ZIV HELLMAN ABSTRACT. What happens when priors are not common? We introduce a measure for how far a type space is from having a common prior, which we term prior distance. If a type

U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009. Notes on Algebra

U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009 Notes on Algebra These notes contain as little theory as possible, and most results are stated without proof. Any introductory

Duality of linear conic problems

Duality of linear conic problems Alexander Shapiro and Arkadi Nemirovski Abstract It is well known that the optimal values of a linear programming problem and its dual are equal to each other if at least

Summary of week 8 (Lectures 22, 23 and 24)

WEEK 8 Summary of week 8 (Lectures 22, 23 and 24) This week we completed our discussion of Chapter 5 of [VST] Recall that if V and W are inner product spaces then a linear map T : V W is called an isometry

Two General Methods to Reduce Delay and Change of Enumeration Algorithms

ISSN 1346-5597 NII Technical Report Two General Methods to Reduce Delay and Change of Enumeration Algorithms Takeaki Uno NII-2003-004E Apr.2003 Two General Methods to Reduce Delay and Change of Enumeration

AM 221: Advanced Optimization Spring Prof. Yaron Singer Lecture 7 February 19th, 2014

AM 22: Advanced Optimization Spring 204 Prof Yaron Singer Lecture 7 February 9th, 204 Overview In our previous lecture we saw the application of the strong duality theorem to game theory, and then saw

Zachary Monaco Georgia College Olympic Coloring: Go For The Gold

Zachary Monaco Georgia College Olympic Coloring: Go For The Gold Coloring the vertices or edges of a graph leads to a variety of interesting applications in graph theory These applications include various

Simplex method summary

Simplex method summary Problem: optimize a linear objective, subject to linear constraints 1. Step 1: Convert to standard form: variables on right-hand side, positive constant on left slack variables for

Graphical method. plane. (for max) and down (for min) until it touches the set of feasible solutions. Graphical method

The graphical method of solving linear programming problems can be applied to models with two decision variables. This method consists of two steps (see also the first lecture): 1 Draw the set of feasible

The Dirichlet Unit Theorem

Chapter 6 The Dirichlet Unit Theorem As usual, we will be working in the ring B of algebraic integers of a number field L. Two factorizations of an element of B are regarded as essentially the same if

Chapter 2: Systems of Linear Equations and Matrices:

At the end of the lesson, you should be able to: Chapter 2: Systems of Linear Equations and Matrices: 2.1: Solutions of Linear Systems by the Echelon Method Define linear systems, unique solution, inconsistent,

Polytope Examples (PolyComp Fukuda) Matching Polytope 1

Polytope Examples (PolyComp Fukuda) Matching Polytope 1 Matching Polytope Let G = (V,E) be a graph. A matching in G is a subset of edges M E such that every vertex meets at most one member of M. A matching

1. LINEAR EQUATIONS. A linear equation in n unknowns x 1, x 2,, x n is an equation of the form

1. LINEAR EQUATIONS A linear equation in n unknowns x 1, x 2,, x n is an equation of the form a 1 x 1 + a 2 x 2 + + a n x n = b, where a 1, a 2,..., a n, b are given real numbers. For example, with x and

MATHEMATICS (CLASSES XI XII)

MATHEMATICS (CLASSES XI XII) General Guidelines (i) All concepts/identities must be illustrated by situational examples. (ii) The language of word problems must be clear, simple and unambiguous. (iii)

Solving Mixed Integer Linear Programs Using Branch and Cut Algorithm

1 Solving Mixed Integer Linear Programs Using Branch and Cut Algorithm by Shon Albert A Project Submitted to the Graduate Faculty of North Carolina State University in Partial Fulfillment of the Requirements

10. Graph Matrices Incidence Matrix

10 Graph Matrices Since a graph is completely determined by specifying either its adjacency structure or its incidence structure, these specifications provide far more efficient ways of representing a

Minimally Infeasible Set Partitioning Problems with Balanced Constraints

Minimally Infeasible Set Partitioning Problems with alanced Constraints Michele Conforti, Marco Di Summa, Giacomo Zambelli January, 2005 Revised February, 2006 Abstract We study properties of systems of

Chapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one