logo_ipparis.png     TelecomParis_endossem_IPP_RVB_100pix.png Telecom Paris
Dep. Informatique & Réseaux

Dessalles_2018.png J-L. DessallesHome page

November 2021

SECS.png Module Athens TP-09

    Social Emergence in Complex Systems
    jean-louis Dessalles - Associate professor at Telecom-Paris
    Julien Lie-Panis - final year PhD student at Telecom-Paris and Institut Jean Nicod

                                other AI courses




Lab work sessions are based on Evolife.
This software has been developed at Telecom ParisTech by Jean-Louis Dessalles for this course.
Evolife is written in Python. The package contains a documentation, which can also be found there.
Evolife’s latest sources may be downloaded from there.
To execute Evolife on your machine, see ’How to execute Evolife in the documentation.

Evolife implements various aspects of evolutionary simulation, including: These aspects will be illustrated during the various Lab Work sessions.

First contact with Evolife


Get Evolife and install it, as explained.
Note: if your are using a unix or Linux machine, don’t forget to run the command "python first.py" once, as explained in the documentation.

Run Starter (in the Evolife directory). It opens the Configuration Editor. There are a number of pre-stored configuration files (*.evo files) that can be loaded with the [Load] button. Most of these files are located in the folder Expe. You may click on parameter values in the Configuration Editor to change them (alternatively, you can navigate using arrows and use the [F2] key to edit values). Contextual documentation is given in the bottom panel.

Example: Load the SumBits.evo configuration file from Starter. Press [Run] (shortcut Alt-R). The Evolife window should open. Click its [Run] button to run the simulation (this experiment will be studied in the section "Genetic Algorithms").



[Genome]:    Displays the genomes of the population [Photo]:    Enters Photo Mode: [Run]:    Runs the simulation in continuous mode
[Step]:    Runs the simulation stepwise
[T]:    Displays trajectories when applicable
[N]:    Displays social links (network) when applicable
[F]:    Displays agents’ positions on a 2-D field
[L]:    Log messages (not implemented)
[Help]:    Displays help file


Various shortcuts are available in the Evolife window.
(shortcuts also work from satellite windows)

Each configuration file XXX.evo corresponds to a scenario, implemented in a file named S_XXX.py located in the Scnenarii directory. Try to locate the S_SumBits.py. Open it in your favourite editor. You can observe that its main class, the class Scenario, inherits Default_Scenario defined in the file Default_Scenario.py. This is the main way you will be using Evolife. A particular scenario is defined by redefining some of the default functions defined in Default_Scenario. For instance, the scenario corresponding to S_SumBits.py redefines functions such as genemap or evaluation.

In case of error: Errors may occur, as you will be asked to change the program. Most errors will be displayed in the text window. However, in case of python crash, use a terminal window, go to the Evolife directory and execute Main.py. The python error will be displayed.
Forum: Improvements
Please express your thoughts, remarks, suggestions to improve Evolife.



Back to the main page