This library implements the following algorithms for Nash equilibria on 2 player games:
Nashpy has a simple set of Python dependencies: it only requires numpy
and scipy
so is straightforward to install on all operating systems.
By design Nashpy is easy to install: the easiest way to install is from pypi:
$ python -m pip install nashpy
Create bi matrix games by passing two 2 dimensional arrays/lists:
>>> import nashpy as nash
>>> A = [[1, 2], [3, 0]]
>>> B = [[0, 2], [3, 1]]
>>> game = nash.Game(A, B)
>>> for eq in game.support_enumeration():
... print(eq)
(array([1., 0.]), array([0., 1.]))
(array([0., 1.]), array([1., 0.]))
(array([0.5, 0.5]), array([0.5, 0.5]))
>>> game[[0, 1], [1, 0]]
array([3, 3])
Full documentation is available here: http://nashpy.readthedocs.io/
To install a development version of this library:
$ python setup.py develop
To run the full test suite (install pytest
: pip install pytest
) and run:
$ pytest .
All contributions are welcome, although this is meant to be a simple library, for more detailed game theoretic contribution please see gambit.
In the interest of fostering an open and welcoming environment, all contributors, maintainers and users are expected to abide by the Python code of conduct: https://www.python.org/psf/codeofconduct/