How does Nashpy relate to GambitΒΆ

Gambit is the state of the art software library for Game Theory [McKelvey2016]. It also has a Python interface. It handles \(N\geq2\) player games and is computationally efficient. It is a much more mature piece of software than Nashpy.

It does however sometimes prove difficult to install (because of the required C libraries), in particular installation is not supported on Windows. In those instances you can use Game Theory Explorer which is a great web point and click Graphical User Interface (GUI) to Gambit.

The main mission statement of Nashpy is to provide a simple to install Python library that implements algorithms that are simple to implement using the scientific Python stack (numpy and scipy).

This is motivated by the fact that I wanted a Python library (not a GUI as I am keen to teach reproducibly research methodologies) for teaching my Mathematics students. Using the Gambit Python interface is not sufficient for this as students need to be able to install it on their own machines (without difficulty).

All the algorithms in Nashpy are implemented with readability as the main motivation. This at times comes at an efficiency cost. For example, Support enumeration builds the entire Polytope representation (using functionality of scipy) which is not efficient.

To summarise:

  • If you want to do sophisticated efficient game theoretic computations, use Gambit.
  • If you are happy to use a GUI use Game Theory Explorer.
  • If you would like an easy to install Python library for two player games you can use Nashpy.