This is a repository created to run a workshop on Game Theory using the programming language Python and more specifically an open source software called the Axelrod Python library.
The topics being covered in this workshop are the following:
- An introduction to Game theory and the iterated prisoner's dilemma
- Creating matches and tournaments using the Axelrod library
- Writing strategies and contributing to the Axelrod library
- Playing against strategies of the iterated prisoner's dilemma
There are various distributions of Python. I recommend using Anaconda which comes packaged with a variety of tools, such as Jupyter Notebooks.
This tutorial is written in Jupyter Notebooks.
This repository comes with an environment.yml file. The environment.yml file will allow you to create an Anaconda environment. To do that use the terminal or an anaconda prompt and after you have navigated to the repository just type:
$ conda env create -f environment.yml
The environment can be activated by typing:
$ conda activate game-python
and notebooks can also run in it. To do that you will have to select (from within a running notebook) Kernel and under Change Kernel select the environment game-python.
All contributions are welcome! This may include communicating ideas for new sections, letting us know about bugs, and code contributions.
This tutorial has been used in the following events:
Have you used this tutorial in an event you hosted or participated? Please do let me know by either contacting me or feel free to open a pr adding your event to this list.
The code in this repository, including all code samples in the notebooks listed above, is released under the MIT license.