Citing this article

A standard form of citation of this article is:

Isaac, Alan G. (2008). 'Simulating Evolutionary Games: a Python-Based Introduction'. Journal of Artificial Societies and Social Simulation 11(3)8 <https://www.jasss.org/11/3/8.html>.

The following can be copied and pasted into a Bibtex bibliography file, for use with the LaTeX text processor:

@article{isaac2008,
title = {Simulating Evolutionary Games: a Python-Based Introduction},
author = {Isaac, Alan G.},
journal = {Journal of Artificial Societies and Social Simulation},
ISSN = {1460-7425},
volume = {11},
number = {3},
pages = {8},
year = {2008},
URL = {https://www.jasss.org/11/3/8.html},
keywords = {Agent-Based Simulation, Python, Prisoner's Dilemma},
abstract = {This paper is an introduction to agent-based simulation using the Python programming language. The core objective of the paper is to enable students, teachers, and researchers immediately to begin social-science simulation projects in a general purpose programming language. This objective is facilitated by design features of the Python programming language, which we very briefly discuss. The paper has a 'tutorial' component, in that it is enablement-focused and therefore strongly application-oriented. As our illustrative application, we choose a classic agent-based simulation model: the evolutionary iterated prisoner's dilemma. We show how to simulate the iterated prisoner's dilemma with code that is simple and readable yet flexible and easily extensible. Despite the simplicity of the code, it constitutes a useful and easily extended simulation toolkit. We offer three examples of this extensibility: we explore the classic result that topology matters for evolutionary outcomes, we show how player type evolution is affected by payoff cardinality, and we show that strategy evaluation procedures can affect strategy persistence. Social science students and instructors should find that this paper provides adequate background to immediately begin their own simulation projects. Social science researchers will additionally be able to compare the simplicity, readability, and extensibility of the Python code with comparable simulations in other languages.},
}

The following can be copied and pasted into a text file, which can then be imported into a reference database that supports imports using the RIS format, such as Reference Manager and EndNote.


TY - JOUR
TI - Simulating Evolutionary Games: a Python-Based Introduction
AU - Isaac, Alan G.
Y1 - 2008/06/30
JO - Journal of Artificial Societies and Social Simulation
SN - 1460-7425
VL - 11
IS - 3
SP - 8
UR - https://www.jasss.org/11/3/8.html
KW - Agent-Based Simulation
KW - Python
KW - Prisoner's Dilemma
N2 - This paper is an introduction to agent-based simulation using the Python programming language. The core objective of the paper is to enable students, teachers, and researchers immediately to begin social-science simulation projects in a general purpose programming language. This objective is facilitated by design features of the Python programming language, which we very briefly discuss. The paper has a 'tutorial' component, in that it is enablement-focused and therefore strongly application-oriented. As our illustrative application, we choose a classic agent-based simulation model: the evolutionary iterated prisoner's dilemma. We show how to simulate the iterated prisoner's dilemma with code that is simple and readable yet flexible and easily extensible. Despite the simplicity of the code, it constitutes a useful and easily extended simulation toolkit. We offer three examples of this extensibility: we explore the classic result that topology matters for evolutionary outcomes, we show how player type evolution is affected by payoff cardinality, and we show that strategy evaluation procedures can affect strategy persistence. Social science students and instructors should find that this paper provides adequate background to immediately begin their own simulation projects. Social science researchers will additionally be able to compare the simplicity, readability, and extensibility of the Python code with comparable simulations in other languages.
ER -