-
Notifications
You must be signed in to change notification settings - Fork 165
Description
Overview
Gambit overloads terminology on methods that compute using behaviors with two different conventions:
-
For some equilibrium methods -
enumpureandliap, passinguse_extensive=Trueactually operates with what Myerson (1991) calls the "multiagent" representation of the game - where each information set is treated as a separate player. This means these methods can return profiles which are "multiagent Nash", but not Nash. See Myerson's game 4.2 for such an example (also used as an example in BUG:liap_valueincorrect for mixed strategy profile on an extensive game #616). -
However, sequence-form based methods -
lp,lcp, andenumpoly- (should) return only profiles with are "truly" Nash as standardly defined when solving withuse_extensive=True. In additionlogit- despite its implementation as "agent QRE" - returns an (approximate) sequential equilibrium (as proven in McKelvey-Palfrey 1998). (To understand whylogitdoes not have this "problem" despite the use of "agent" in its name, consider the Myerson example - the spurious multiagent representation equilibrium requires player 1 to play z1, but because player 2 plays w2, along the AQRE path the belief on that information set must be concentrated at the node following w2, and y1 is the best response to such beliefs.) -
In addition, the regret-related quantities as well as
liap_valueon behavior strategy profiles actually compute using the multiagent representation.
Proposed solution
pygambit
In pygambit, the ambiguity could be resolved as follows:
-
enumpure_solveandliap_solveshould have the argument name changed touse_multiagent(oruse_agent, depending on the terminology we prefer). This is in one sense a breaking change, but as the old name was misleading it seems good to do it immediately for clarity. -
liap_valueand theregretimplementations as currently available should be re-named to versions withagentormultiagentin their names. They are still relevant and correct, they are just not what a user might expect with the current names. -
The above should be replaced with new implementations which internally use the mixed strategy representation. Regret needs to be clarified and defined/documented (and tested!) carefully.
Command-line tools
In the command-line tools, a similar change to the command-line switches should be made as a one-off to avoid ambiguity.
Graphical user interface
Because the graphical interface is intended primarily for simple use cases and beginning users, the most straightforward approach is to remove the "using the extensive game" option for enumpure and liap and use the strategic game for these. Otherwise we would need to create an extra layer of concepts around agent representations - which would be an entire feature set in itself.