Telecom Paris
Dep. Informatique & Réseaux

J-L. Dessalles Home page

November 2019



Module Athens TPT-09

    Emergence in Complex Systems      From nature to engineering
                                other AI courses

Evolife

Presentation

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").

Buttons


[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

Shortcuts

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