|
| 1 | +--- |
| 2 | +title: About Gambit |
| 3 | +--- |
| 4 | + |
| 5 | +Gambit is a set of software tools for doing computation on finite, |
| 6 | +noncooperative games. These comprise a graphical interface for |
| 7 | +interactively building and analyzing general games in extensive or |
| 8 | +strategy form; a number of command-line tools for computing Nash |
| 9 | +equilibria and other solution concepts in games; and, a set of file |
| 10 | +formats for storing and communicating games to external tools. |
| 11 | +Gambit is fully-cross platform, and is supported on Linux, Mac OS X, |
| 12 | +and Microsoft Windows. |
| 13 | + |
| 14 | +Key features of Gambit |
| 15 | +====================== |
| 16 | + |
| 17 | +Gambit has a number of features useful both for the researcher and the |
| 18 | +instructor: |
| 19 | + |
| 20 | +**Interactive, cross-platform graphical interface.** All Gambit |
| 21 | +features are available through the use of a graphical interface, which |
| 22 | +runs under multiple operating systems: Windows, various flavors of |
| 23 | +Un*x (including Linux), and Mac OS X. The interface offers flexible |
| 24 | +methods for creating extensive and strategic games. It offers an |
| 25 | +interface for running algorithms to compute Nash equilibria, and for |
| 26 | +visualizing the resulting profiles on the game tree or table, as well |
| 27 | +as an interactive tool for analyzing the dominance structure of |
| 28 | +actions or strategies in the game. The interface is useful for the |
| 29 | +advanced researcher, but is intended to be accessible for students |
| 30 | +taking a first course in game theory as well. |
| 31 | + |
| 32 | +**Command-line tools for computing equilibria.** More advanced |
| 33 | +applications often require extensive computing time and/or the ability |
| 34 | +to script computations. All algorithms in Gambit are packaged as |
| 35 | +individual, command-line programs, whose operation and output are |
| 36 | +configurable. |
| 37 | + |
| 38 | +**Extensibility and interoperability.** The Gambit tools read and |
| 39 | +write file formats which are textual and documented, making them |
| 40 | +portable across systems and able to interact with external tools. It |
| 41 | +is therefore straightforward to extend the capabilities of Gambit by, |
| 42 | +for example, implementing a new method for computing equilibria, |
| 43 | +reimplementing an existing one more efficiently, or creating tools to |
| 44 | +programmatically create, manipulate, and transform games, or for |
| 45 | +econometric analysis on games. |
| 46 | + |
| 47 | + |
| 48 | +Limitations of Gambit |
| 49 | +===================== |
| 50 | + |
| 51 | +Gambit has a few limitations that may be important in some |
| 52 | +applications. We outline them here. |
| 53 | + |
| 54 | +**Gambit is for finite games only.** Because of the mathematical |
| 55 | +structure of finite games, it is possible to write many general- |
| 56 | +purpose routines for analyzing these games. Thus, Gambit can be used |
| 57 | +in a wide variety of applications of game theory. However, games that |
| 58 | +are not finite, that is, games in which players may choose from a |
| 59 | +continuum of actions, or in which players may have a continuum of |
| 60 | +types, do not admit the same general-purpose methods. |
| 61 | + |
| 62 | +**Gambit is for noncooperative game theory only.** Gambit focuses on |
| 63 | +the branch of game theory in which the rules of the game are written |
| 64 | +down explicitly, and in which players choose their actions |
| 65 | +independently. Gambit's analytical tools center primarily around Nash |
| 66 | +equilibrium, and related concepts of bounded rationality such as |
| 67 | +quantal response equilibrium. Gambit does not at this time provide any |
| 68 | +representations of, or methods for, analyzing games written in |
| 69 | +cooperative form. (It should be noted that some problems in |
| 70 | +cooperative game theory do not suffer from the computational |
| 71 | +complexity that the Nash equilibrium problem does, and thus |
| 72 | +cooperative concepts could be an interesting future direction of |
| 73 | +development.) |
| 74 | + |
| 75 | +**Analyzing large games may become infeasible surprisingly quickly.** |
| 76 | +While the specific formal complexity classes of computing Nash |
| 77 | +equilibria and related concepts are still an area of active research, |
| 78 | +it is clear that, in the typical case, the amount of time required to |
| 79 | +compute equilibria increases rapidly in the size of the game. In other |
| 80 | +words, it is quite easy to write down games which will take Gambit an |
| 81 | +unacceptably long amount time to compute the equilibria of. There are |
| 82 | +two ways to deal with this problem in practice. One way is to better |
| 83 | +identify good heuristic approaches for guiding the equilibrium |
| 84 | +computation process. Another way is to take advantage of known |
| 85 | +features of the game to guide the process. Both of these approaches |
| 86 | +are now becoming areas of active interest. While it will certainly not |
| 87 | +be possible to analyze every game that one would like to, it is hoped |
| 88 | +that Gambit will both contribute to these two areas of research, as |
| 89 | +well as make the resulting methods available to both students and |
| 90 | +practitioners. |
| 91 | + |
| 92 | +Who built Gambit? |
| 93 | +================= |
| 94 | + |
| 95 | +Check out the [team page](/team/) on the Gambit website for up-to-date information on the current Gambit development team. |
| 96 | + |
| 97 | +History |
| 98 | +------- |
| 99 | + |
| 100 | +The principal developers of Gambit have been: |
| 101 | + |
| 102 | +* [Theodore Turocy](http://www.gambit-project.org/turocy), |
| 103 | + University of East Anglia: director. |
| 104 | + |
| 105 | +* Richard D. McKelvey, California Institute of Technology: |
| 106 | + project founder. |
| 107 | + |
| 108 | +* Andrew McLennan, University of Queensland: co-PI during main |
| 109 | + development, developer and maintainer of polynomial-based algorithms |
| 110 | + for equilibrium computation. |
| 111 | + |
| 112 | +Much of the development of the main Gambit codebase took place in |
| 113 | +1994-1996, under a grant from the National Science Foundation to the |
| 114 | +California Institute of Technology and the University of Minnesota |
| 115 | +(McKelvey and McLennan, principal investigators). |
| 116 | + |
| 117 | +Others contributing to the development and distribution of Gambit |
| 118 | +include: |
| 119 | + |
| 120 | +* Bernhard von Stengel provided advice on implementation of |
| 121 | + sequence form code, and contributed clique code |
| 122 | + |
| 123 | +* Eugene Grayver developed the first version of the |
| 124 | + graphical user interface. |
| 125 | + |
| 126 | +* Gary Wu implemented an early scripting language interface for |
| 127 | + Gambit (since superseded by the Python API). |
| 128 | + |
| 129 | +* Stephen Kunath and Alessandro Andrioni did extensive work to create |
| 130 | + the first release of the Python API. |
| 131 | + |
| 132 | +* From Gambit 14, Gambit contains support for Action Graph Games |
| 133 | + [Jiang11]_. This has been contributed by Navin Bhat, Albert Jiang, |
| 134 | + Kevin Leyton-Brown, and David Thompson, with funding support |
| 135 | + provided by a University Graduate Fellowship of the University |
| 136 | + of British Columbia, the NSERC Canada Graduate Scholarship, and a |
| 137 | + Google Research Award to Leyton-Brown. |
| 138 | + |
| 139 | + |
| 140 | +The Gambit Project was founded in the mid-1980s by Richard McKelvey at |
| 141 | +the California Institute of Technology. The original implementation |
| 142 | +was written in BASIC, with a simple graphical interface. This code was |
| 143 | +ported to C around 1990 with the help of Bruce Bell, and was |
| 144 | +distributed publicly as version 0.13 in 1991 and 1992. |
| 145 | + |
| 146 | +A major step in the evolution of Gambit took place with the awarding |
| 147 | +of the NSF grants in 1994, with McKelvey and Andrew McLennan as |
| 148 | +principal investigators, and [Theodore Turocy](http://www.gambit-project.org/turocy) as the head programmer. |
| 149 | +The grants sponsored a complete rewrite of Gambit in C++. The |
| 150 | +graphical interface was made portable across platforms through the use |
| 151 | +of the [wxWidgets library](http://www.wxwidgets.org). Version 0.94 of Gambit was released in |
| 152 | +the late summer of 1994, version 0.96 followed in 1999, and version |
| 153 | +0.97 in 2002. During this time, many students at Caltech and Minnesota |
| 154 | +contributed to the effort by programming, testing, and/or documenting. |
| 155 | +These include, alphabetically, Bruce Bell, Anand Chelian, Matthew |
| 156 | +Derer, Nelson Escobar, Ben Freeman, Eugene Grayver, Todd Kaplan, Geoff |
| 157 | +Matters, Brian Trotter, Michael Vanier, Roberto Weber, and Gary Wu. |
| 158 | + |
| 159 | +Over the same period, Bernhard von Stengel, of the London School of |
| 160 | +Economics, made significant contributions in the implementation of the |
| 161 | +sequence form methods for two-player extensive games, and for |
| 162 | +contributing his "clique" code for identification of equilibrium |
| 163 | +components in two-player strategic games, as well as other advice |
| 164 | +regarding Gambit's implementation and architecture. |
| 165 | + |
| 166 | +Development since the mid-2000s has focused on two objectives. First, |
| 167 | +the graphical interface was reimplemented and modernized, with the |
| 168 | +goal of following good interaction design principles, especially in |
| 169 | +regards to easing the learning curve for users new to Gambit and new |
| 170 | +to game theory. Second, the internal architecture of Gambit was |
| 171 | +refactored to increase interoperability between the tools provided by |
| 172 | +Gambit and those written independently. |
| 173 | + |
| 174 | +Gambit is proud to have participated in the Google Summer of Code |
| 175 | +program in the summers of 2011 and 2012 as a mentoring organization. |
| 176 | +The Python API, which became part of Gambit from Gambit 13, was |
| 177 | +developed during these summers, thanks in particular to the work |
| 178 | +of Stephen Kunath and Alessandro Andrioni. |
0 commit comments