Simulating Evolutionary Games: A Python-Based Introduction
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.
Volume (Year): 11 (2008)
Issue (Month): 3 ()
|Contact details of provider:|| |
References listed on IDEAS
Please report citation or reference errors to , or , if you are the registered author of the cited work, log in to your RePEc Author Service profile, click on "citations" and make appropriate adjustments.:
- van Bragt, David & van Kemenade, Cees & la Poutre, Han, 2001.
"The Influence of Evolutionary Selection Schemes on the Iterated Prisoner's Dilemma,"
Springer;Society for Computational Economics, vol. 17(2-3), pages 253-263, June.
- David van Bragt & Cees van Kemenade & Han La Poutre, 1999. "The Influence of Evolutionary Selection Schemes on the Iterated Prisoner's Dilemma," Computing in Economics and Finance 1999 344, Society for Computational Economics.
- Michael D. Cohen & Rick L. Riolo & Robert Axelrod, 1999. "The Emergence of Social Organization in the Prisoner's Dilemma: How Context-Preservation and Other Factors Promote Cooperation," Working Papers 99-01-002, Santa Fe Institute.
- David McFadzean & Deron Stewart & Leigh Tesfatsion, 2000. "A Computational Laboratory for Evolutionary Trade Networks," Computational Economics 0004004, EconWPA.
- McFadzean, David & Stewart, Deron & Tesfatsion, Leigh S., 2001. "A Computational Laboratory for Evolutionary Trade Networks," Staff General Research Papers Archive 2049, Iowa State University, Department of Economics.
- Miles Parker, 2001. "What is Ascape and Why Should You Care?," Journal of Artificial Societies and Social Simulation, Journal of Artificial Societies and Social Simulation, vol. 4(1), pages 1-5.
- Hodgson, Geoffrey M. & Knudsen, Thorbjorn, 2006. "Why we need a generalized Darwinism, and why generalized Darwinism is not enough," Journal of Economic Behavior & Organization, Elsevier, vol. 61(1), pages 1-19, September.
- Tackseung Jun & Rajiv Sethi, 2007. "Neighborhood structure and the evolution of cooperation," Journal of Evolutionary Economics, Springer, vol. 17(5), pages 623-646, October.
- LÃ¡szlÃ³ GulyÃ¡s & Tamás Kozsik & John B. Corliss, 1999. "The Multi-Agent Modelling Language and the Model Design Interface," Journal of Artificial Societies and Social Simulation, Journal of Artificial Societies and Social Simulation, vol. 2(3), pages 1-8. Full references (including those not matched with items on IDEAS)