Economic Theory

, Volume 42, Issue 1, pp 9–37 | Cite as

Enumeration of Nash equilibria for two-player games

  • David Avis
  • Gabriel D. Rosenberg
  • Rahul Savani
  • Bernhard von StengelEmail author


This paper describes algorithms for finding all Nash equilibria of a two-player game in strategic form. We present two algorithms that extend earlier work. Our presentation is self-contained, and explains the two methods in a unified framework using faces of best-response polyhedra. The first method lrsnash is based on the known vertex enumeration program lrs, for “lexicographic reverse search”. It enumerates the vertices of only one best-response polytope, and the vertices of the complementary faces that correspond to these vertices (if they are not empty) in the other polytope. The second method is a modification of the known EEE algorithm, for “enumeration of extreme equilibria”. We also describe a second, as yet not implemented, variant that is space efficient. We discuss details of implementations of lrsnash and EEE, and report on computational experiments that compare the two algorithms, which show that both have their strengths and weaknesses.


Bimatrix game Nash equilibrium Linear programming Complementarity 

JEL Classification



Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Audet C., Belhaï za S., Hansen P.: Enumeration of all extreme equilibria in game theory: bimatrix and polymatrix games. J Optim Theory Appl 129, 349–372 (2006)CrossRefGoogle Scholar
  2. Audet, C., Belhaï za, S., Hansen, P.: A new sequence form approach for the enumeration of all extreme Nash equilibria for extensive form games. Int Game Theory Rev, to appear (2009)Google Scholar
  3. Audet C., Hansen P., Jaumard B., Savard G.: Enumeration of all extreme equilibria of bimatrix games. SIAM J Sci Comput 23, 323–338 (2001)CrossRefGoogle Scholar
  4. Avis, D. lrs: a revised implementation of the reverse search vertex enumeration algorithm. In: Kalai, G., Ziegler, G. (eds.): Polytopes—Combinatorics and Computation, DMV Seminar Band 29, pp. 177–198. Basel: Birkhäuser (2000)Google Scholar
  5. Avis, D.: User’s Guide for lrs. (2006)
  6. Avis D., Fukuda K.: A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra. Discrete Comput Geom 8, 295–313 (1992)CrossRefGoogle Scholar
  7. Avis D., Bremner D., Seidel R.: How good are convex hull algorithms?. Comput Geom 7, 265–301 (1997)CrossRefGoogle Scholar
  8. Azulay D.-O., Pique J.-F.: A revised simplex method with integer Q-matrices. ACM Trans Math Softw 27, 350–360 (2001)CrossRefGoogle Scholar
  9. Bron C., Kerbosch J.: Finding all cliques of an undirected graph. Comm ACM 16, 575–577 (1973)CrossRefGoogle Scholar
  10. Canty M.J.: Resolving Conflicts with Mathematica: Algorithms for Two-Person Games. Academic Press, Amsterdam (2003)Google Scholar
  11. Chvátal V.: Linear Programming. Freeman, New York (1983)Google Scholar
  12. Cormen T.H., Leiserson C.E., Rivest R.L., Stein C.: Introduction to Algorithms, 2nd edn. MIT Press, Cambridge, Mass (2001)Google Scholar
  13. Dickhaut J., Kaplan T.: A program for finding Nash equilibria. Mathematica J 1(4), 87–93 (1991)Google Scholar
  14. Fukuda K., Prodon A. et al.: Double description method revisited. In: Deza, M. (eds) Combinatorics and Computer Science, Lecture Notes in Computer Science, vol 1120., pp. 91–121. Springer, Berlin (1996)Google Scholar
  15. Gilboa I., Zemel E.: Nash and correlated equilibria: some complexity considerations. Games Econ Behav 1, 80–93 (1989)CrossRefGoogle Scholar
  16. Jansen M.J.M.: Maximal Nash subsets for bimatrix games. Naval Res Logist Quart 28, 147–152 (1981)CrossRefGoogle Scholar
  17. Kohlberg E., Mertens J.-F.: On the strategic stability of equilibria. Econometrica 54, 1003–1037 (1986)CrossRefGoogle Scholar
  18. Kuhn H.W.: An algorithm for equilibrium points in bimatrix games. Proc Nat Acad Sci USA 47, 1657–1662 (1961)CrossRefGoogle Scholar
  19. Lemke C.E., Howson J.T. Jr: Equilibrium points of bimatrix games. J Soc Ind Appl Math 12, 413–423 (1964)CrossRefGoogle Scholar
  20. Mangasarian O.L.: Equilibrium points in bimatrix games. J Soc Ind Appl Math 12, 778–780 (1964)CrossRefGoogle Scholar
  21. McKelvey, R.D., McLennan, A.M., Turocy, T.L.: Gambit: Software Tools for Game Theory, Version 0.2007.01.30 (2007)
  22. Millham C.B.: On Nash subsets of bimatrix games. Naval Res Logist Quart 21, 307–317 (1974)CrossRefGoogle Scholar
  23. Motzkin, T.S., Raiffa, H., Thompson, G.L., Thrall, R.M.: The double description method. In: Kuhn, H.W., Tucker, A.W. (eds.) Contributions to the Theory of Games II, pp. 51–73. Annals of Mathematics Studies 28, Princeton: Princeton University Press (1953)Google Scholar
  24. Nash J.F.: Non-cooperative games. Ann Math 54, 286–295 (1951)CrossRefGoogle Scholar
  25. Rosenberg, G.D.: Enumeration of All Extreme Equilibria of Bimatrix Games with Integer Pivoting and Improved Degeneracy Check. CDAM Research Report LSE-CDAM-2005-18, London School of Economics (2005)Google Scholar
  26. Savani, R.: Solve a bimatrix game. Interactive website. (2005)
  27. Shapley, L.S.: A note on the Lemke–Howson algorithm. Mathematical Programming Study 1: Pivoting and Extensions, pp. 175–189 (1974)Google Scholar
  28. van den Elzen A.H., Talman A.J.J.: A procedure for finding Nash equilibria in bi-matrix games. Math Meth Oper Res 35, 27–43 (1991)CrossRefGoogle Scholar
  29. von Schemde A., von Stengel B.: Strategic characterization of the index of an equilibrium. In: Monien, B., Schroeder, U.-P. (eds) Symposium on Algorithmic Game Theory (SAGT) 2008, Lecture Notes in Computer Science, vol. 4997, pp. 242–254. Springer, Berlin (2008)Google Scholar
  30. von Stengel B.: Efficient computation of behavior strategies. Games Econ Behav 14, 220–246 (1996)CrossRefGoogle Scholar
  31. von Stengel, B.: Improved equilibrium enumeration for bimatrix games. Extended Abstract, In: International Conference on Operations Research, ETH Zurich, 31 Aug–3 Sept. (1998)
  32. von Stengel B.: New maximal numbers of equilibria in bimatrix games. Discrete Comput Geom 21, 557–568 (1999)CrossRefGoogle Scholar
  33. von Stengel B.: Computing equilibria for two-person games. In: Aumann, R.J., Hart, S. (eds) Handbook of Game Theory, vol. 3., pp. 1723–1759. North-Holland, Amsterdam (2002)Google Scholar
  34. Vorob’ev N.N.: Equilibrium points in bimatrix games. Theory Prob Appl 3, 297–309 (1958)CrossRefGoogle Scholar
  35. Winkels H.-M.: An algorithm to determine all equilibrium points of a bimatrix game. In: Moeschlin, O., Pallaschke, D. (eds) Game Theory and Related Topics., pp. 137–148. North-Holland, Amsterdam (1979)Google Scholar

Copyright information

© Springer-Verlag 2009

Authors and Affiliations

  • David Avis
    • 1
  • Gabriel D. Rosenberg
    • 2
  • Rahul Savani
    • 3
  • Bernhard von Stengel
    • 4
    Email author
  1. 1.School of Computer Science and GERADMcGill UniversityMontrealCanada
  2. 2.Yale Law SchoolNew HavenUSA
  3. 3.Department of Computer Science and DIMAPUniversity of WarwickCoventryUK
  4. 4.Department of MathematicsLondon School of EconomicsLondonUK

Personalised recommendations