Gambit: Software Tools for Game Theory | ||
---|---|---|
<<< Previous | Next >>> |
This chapter covers the graphical interface in some detail.
This section discusses features of the graphical interface which are common between the extensive and normal forms. For features which are specific to the extensive form, see the section called Extensive form games, and for features which are specific to the normal form, see the section called Normal form games.
Extensive and normal form windows in the graphical interface share a common structure:
A game window, which displays the game tree of the extensive form or the payoff table of the normal form;
A profile table, displayed when the Profiles menu item is checked on the View menu, which organizes all strategy profiles currently in memory;
A navigation window, which displays information about the currently selected object in the game, and can be used to navigate through the game display;
An outcomes window, which lists all the outcomes currently defined in the game, and their associated payoffs to all players;
A supports window, which organizes all the supports which have been computed by dominance elimination or defined by the user
Details about the game window will be left for the subsequent separate sections addressing extensive and normal forms; the rest of this section will look at each of the auxiliary windows in turn.
The profile table organizes all mixed or behavior strategy profiles, as appropriate, that have been computed by algorithms or entered by the user. Display of the profile table is togged by the checkable menu item Profiles on the View menu. The profile table is also automatically displayed when an algorithm returns solutions. A draggable sash along the top of the profile table permits resizing of the profiles window to taste.
Each row in the table corresponds to one strategy profile. When a profile is selected, its row is highlighted; the selected profile is used by the game window to display strategy or action probabilities, values, or other information. Information about the current profile also appears in the Navigate window. Selecting a profile is done by left-clicking on the row corresponding to the profile.
A variety of data dependent on the generating algorithm are available for most mixed or behavior profiles. Not every category is relevant for every profile. If a certain data member is either not relevant or not available, it will be displayed as ----.
Clicking with the right mouse button within the profile table accesses a popup menu with the following items:
New creates a new profile and opens a dialog to edit its properties. All profiles created with the New command are tagged with a creator field of User.
Duplicate creates a copy of the currently selected profile.
Delete deletes the currently selected profile from the list of profiles.
Properties displays a dialog to view and edit properties of the profile, including the probabilities assigned to actions or strategies. Profiles which are edited using this dialog have their creator field reset to User.
When both the extensive and normal form representations of a game are displayed, the profile lists in the two windows are coordinated. Corresponding profiles are listed in the same order in the two windows, and operations such as changing the currently-selected profile, or deleting a profile, change the profile list accordingly in both windows. The mapping from normal form mixed strategies to extensive form behavior strategies is done using Kuhn's Theorem; as such, the results are unpredictable if the extensive form game is not of perfect recall.
When a game is edited and payoffs are changed, the equilibrium fields such as Nash will be reset. In some cases, these will be updated to yes or no answers; in others for which no definitive test is available, the fields will reset to DK (for "don't know"). When a game is edited to change the number of information sets, actions, or strategies, all profiles are deleted.
![]() | Changes from previous versions |
---|---|
In versions prior to 0.97, this was referred to as the Solutions window, and appeared as a separate frame. The nomenclature has been changed to reflect the usefulness of investigating the properties of profiles which might not satisfy any particular solution concepts. Additionally, in prior versions, solutions had to be manually mapped from a normal form back to its corresponding extensive form, and the two solution lists were separate. |
A support is a subset of the actions (for extensive forms) or strategies (for normal forms) of a game. Supports are most commonly generated as the result of computing the dominated actions or strategies in a game, but may also be manually edited for specific purposes.
The supports currently defined on a game are accessible via the Supports menu item on the View menu. The support panel is in the same notebook window as the outcome and navigation panels.
The main body of the support panel shows, in tree form, the actions or strategies in the currently selected support. In extensive form games, the window is organized hierarchically by player, then information set; in normal form games, by player. Strategies or actions not present in the current support are shown in light grey.
At the top of the support panel is a drop-down list of all supports currently defined. The first support is always the "full support", which cannot be edited. Selecting a support from this list makes the support the new current support, and changes the display of the game accordingly. The arrow buttons next to the drop-down change the current support to the previous or next support in the list, respectively.
The Dominance item on the Tools is used to identify actions or strategies which are dominated. For each iteration of elimination of dominated strategies this algorithm performs, the corresponding support is added to the list of supports. Therefore, using the arrow keys to scroll through the supports after finding dominated actions or strategies is a useful way of seeing which actions or strategies were removed at each iteration.
Supports may be constructed and edited by hand as well. Right-clicking in the support panel displays a menu with the following options:
Duplicate support creates a new support with the same actions or strategies as the current support. The new support becomes the current support.
Delete support deletes the current support from the support list. Note that the "full support" cannot be deleted.
The algorithms in the Equilibrium dialog on the Tools menu compute Nash equilibria on the currently selected support. This is useful, since cutting down on the number of actions or strategies the algorithm must consider can help substantially in efficiency. So long as the current support differs from the full support only in the (possibly iterative) removal of strictly dominated actions or strategies, algorithms will be able to find all Nash equilibria. So long as the current support differs from the full support only in the (possibly iterative) removal of weakly dominated actions or strategies, algorithms will find only Nash equilibria (but can possibly miss equilibria involving weakly dominated actions or strategies). For any other support, algorithms may return profiles which are not Nash equilibria on the whole game, but which are Nash equilibria on the game defined by restricting the original game to actions or strategies found in the current support. Note that such profiles will be indicated in the profiles window with an N in the Nash column.
Gambit has a flexible interpretation of outcomes, particularly in extensive form games. Gambit permits outcomes to appear in more than one place in a tree or normal form. Additionally, outcomes may appear at nonterminal nodes in a game tree, in which case payoffs are interpreted as the incremental payoffs of reaching that point in the tree.
Each game has a predefined "null" outcome. The payoff to all players at a null outcome is defined to be zero. New extensive form games are created with only the null outcome; when creating a normal form game, the New Game dialog box offers by default to create one outcome per contingency in the normal form game.
Outcomes are manipulated using a grid interface accessible by the Outcomes item on the View menu. The outcomes grid functions similar to a spreadsheet.
![]() | There is some variance in the grid behavior between the GTK and Windows versions of Gambit, due to variance in the wxWindows implementation. Hopefully this will standardize in future versions. |
A new outcome is automatically created whenever the Enter key is pressed while on the last row of the outcomes table. Alternately, a new outcome can be created by right-clicking in the grid, which generates a context menu for the outcomes window, and select New.
![]() | For GTK users: A quirk in GTK causes a CTRL-N shortcut to appear on this menu item. The shortcut does not create an outcome, but rather a new game. |
Editing outcome payoffs and labels is done in-place in the grid. Note that editing payoffs may cause computed profiles to cease being Nash equilibria (or, perhaps, cause them to become Nash equilibria); these changes will occur automatically in the Profiles window, if displayed. Strategy, action, and node values similarly will recompute after any payoff change.
Outcomes may be deleted using the Delete on the context menu. Deleting an outcome results in any nodes (in the extensive form) or contingencies (in the normal form) with that outcome having their outcome reset to the null outcome, with zero payoffs.
Outcomes are attached to nodes or contingencies in one of two ways. In either case, first select the node or contingency where the outcome will go.
Using the Edit menu, select Node or Contingency, as appropriate. The presented dialogs have a drop-down choice listing all outcomes and their payoffs; select the desired outcome, and press OK to dismiss the dialog.
Using the outcomes window, select the outcome and right-click to get the context menu. Select Attach, and the outcome will be attached to the selected node or contingency.
In most cases, the first task a user will ask Gambit to do after entering a game is to compute some Nash equilibria. In general, it is not possible to "black box" the process of computing a Nash equilibrium, or a refinement thereof. The algorithm best suited to a particular task depends upon both the properties of the game, such as whether it is zero-sum, or how many players it has, the number of equilibria the user wants to find, and what refinements, if any, the equilibria should satisfy. However, both theory and experience can inform choices for algorithms and parameter settings which work "well" in general.
For both extensive and normal forms, Gambit provides a set of standard Nash equilibrium computation algorithm settings. These standard procedures are run from the Nash equilibrium dialog (accessible with the Equilibrium item on the Tools menu). Standard algorithms to compute one, two, or all Nash equilibria are available for both extensive and normal forms, as well as for selected refinements as appropriate. Refinements currently supported by Gambit are sequential and subgame perfect Nash equilibria on the extensive form, and (trembling-hand) perfect equilibria on the normal form. [1]
[1] | An implementation of Yamamoto's algorithm [Yam93] for finding one proper equilibrium in a normal form game is currently planned for release 0.97.1.x. |
<<< Previous | Home | Next >>> |
Finding Nash equilibria using the normal form | Extensive form games |