CoopSim -
Simulating the "Evolution of Cooperation"


This webpage is outdated. For up to date information about CoopSim, please go directly to: https://github.com/jecki/CoopSim/


What is CoopSim ?

screenshot from coopsim

CoopSim is a computer simulation of the game theoretic model of the evolution of cooperation that has been described in Robert Axelrods book "The Evolution of Cooperation". The model used is the reiterated prisoners dilemma, which is a good model for some (though not all) problems of cooperation. CoopSim puts a computer simulation very similar to the one described in Axelrods book into an easy to use application with a nice user interface. Its aim is mainly for educational use; CoopSim has been written for use in an undergraduate course on the "Evolution of Cooperation" at the Heinrich-Heine University of Düsseldorf (Germany). CoopSim is open source software under the MIT License.

Latest Version is CoopSim 0.9.9 beta 6 (September 6th, 2015). See the changes log  for details.

Most of the development of CoopSim took place 10 years ago. While I still add changes so that it can run on current machines, I do not think it is really worth while to develop it further. Due to the use of the wxPython widgets toolkit it cannot even be ported to Python3. There exists another project by Vincent Knight, Own Campbell and Marc Harper with the same goal, however, that is being actively developed, and which I'd like to recommend to anyone interested in this kind of computer simulations: github.com/Axelrod-Python/Axelrod


Key Features

  • Easy to use graphical user interface that allow to freely selecting different strategies for a computer tournament and to adjust simulation parameters such as noise or correlation.
  • Full tournament and (abreviated) match logs, so that the performance of different strategies in the reiterated prisoners dilemma can be studied in detail.
  • Graphical representation of the evolutionary development ("ecological simulation") of strategies.
  • A simple object orientated interface to add your own strategies to CoopSim. The programming language used is Python, an easy to learn and easy to use interpreted programming language.

back to top

Screenshot Gallery

Click on the images to see them in full size

screenshot coopsim
screenshot coopsim
screenshot coopsim
screenshot coopsim
The tournament log
The setup dialog
The ecological simulation
Another view of the
ecological simulation

back to top

Documentation

The user's manual of CoopSim is available online. You can browse the online documentation of CoopSim here.

back to top

Installation and Download

The easiest way to use CoopSim under Windows is to download and run the CoopSim exe file.

If you are using Linux or if you do not want to use the ready to run package you can also download the CoopSim zip file. In this case, before you can use CoopSim you will also need to install Python and wxWidgets on your system. Then, simply unpack the zip Archive in any driectory and run "CoopSim.py" to start the application.

System Requirements

  • AMD Athlon or Pentium III System, 1 Ghz or above
    (otherwise CoopSim might run pretty slow)
  • 128 MB or more of memory
  • Windows 98 / XP or Linux operating system

Download Packages

Source Code The CoopSim source in now on GitHub: github.com/jecki/CoopSim/
CoopSim Package : download CoopSim-0.99.exe (ready to run, Windows, 6MB; this version is slightly outdated!)
download CoopSim-0.9.9beta6.zip (zip file, all Platforms, 1.5 MB)
Required for CoopSim (zip file):
download Python 2.3 or higher from www.python.org
Required for CoopSim (zip file):
download wxPython 2.4.2 or higher from www.wxpython.org

The graph plotting library that has been used for CoopSim is also available as a separate package. It can be downloaded from the PyPlotter Homepage.

back to top

About

CoopSim has been desigend and programmed by Eckhart Arnold

If you would like to contact me, please write to: eckhart_arnold@hotmail.com

The basic concept of the computer simulation of the reiterated prisoners dilemma in CoopSim has been taken from the book "The Evolution of Cooperation" by Robert Axelrod.

back to top

My personal homepage:  www.eckhartarnold.de
Website of Theoretical Philosophy in Düsseldorf: www.phil-fak.uni-duesseldorf.de/philo
A good and justly critical article on "Evolutionary Game Theory": http://plato.stanford.edu/entries/game-evolutionary/
Homepage of the PyPlotter graph plotting package: www.eckhartarnold.de/apppages/pyplotter.html
Website of the Python programming language: www.python.org
Website of the wxWidgets GUI toolkit: www.wxwidgets.org
Website of the wxWidgets bindings for Python: www.wxpython.org

back to top

    

 Menu

 Features
 Screenshots
 Documentation
 Download
 About
 Links