Evolutionary Task Force

Included page "clone:symbrion-ec" does not exist (create it now)

Minutes Converence Call, November 17 - 18 Nov 2011 10:48

Global Task:

  • Each leader writes a paragraph on the progress before Sunday night.

Synchronize the experiments in each subtask so that people do comparable experiments

  • Every group holds a private skype when necesarry
  • Important thing is that experiments are comparable

Subtask 1: Morphogenesis

  • Wenguo has improved his representation to include different connection rotations and heterogeneity
  • Yao: done some experiments in its simulator; working with Ronny to integrate his findings.


  • Michele: Before sunday evening, paragraph summarizing progress.
  • Wenguo: Create mutation, crossover. He will send them to Christopher who will help make them good

Subtask2: Organism Control

  • Until November 30 everyone can use their own simulator
  • By December 15 the solution should be running in Robot3D
  • We postpone the decision until December 15th, as we need to be able to compare them and for that they need to run in the same simulator
  • Everyone needs to be careful that 2 weeks to port your code may be short, so you should look into porting it sooner.


  • Juergen: Before sunday evening, paragraph summarizing progress.
    • Everyone: Send a short text (max 5 - 10 lines) on the progress you made
  • Juergen has an implementation in his own simulator and will implement On-Line On-board evolution there first, and then move on to Robot3D
  • Evert has an implementation in Wiibots and will first implement the inclusion of sensors there, and then move on to Robot3D
  • Florian does not have his own simulator and will work in Robot3D immediately
  • Yao has an implementation in his own simulator and will move toward Robot3D
  • Ronny has an implementation in his own simulator

Subtask3: Internal Reward

  • They will adapt an implementation of the QI to create a Static version of QI.


  • Evert: Implement (he plan to do that before the week-end)
  • There will be an internal discussion after the skype.
  • Evert: Before sunday evening, paragraph summarizing progress.

Subtask 4: Simulator

  • There are still some bugs that Lutz and Vojta are working on.
    • For instance the plugin threads are currently faulty
  • The target platform for now will be Ubuntu 11.04.
    • Any bugs reported should be from this platform
  • Report any bugs to Vojta
  • We will organize a number of tutorials on using Robot3D
    • First tutorial will be somewhere next week.
    • Topics will include
      • Getting, Compiling and Running Robot3D
      • Where to write your controller code, and how to use it in the simulator
      • Some examples
  • Libor and crew have created a component which measures how fast/slow the simulation is compared to real time
  • Several scenarios have been conceptualized and will be implemented
  • First results somewhere next week (Wednesday?)
  • Libor will investigate whether a publication can be made on the simulator
    • The simulator may be a legacy of the project with desirable characteristics


  • Berend: Before sunday evening, paragraph summarizing progress
  • Berend: Confer with Anne and Vojta about bug-reporting and tracking!

Tags: minutes skype-meeting | Comments: 0

Minutes Converence Call - 10 Nov 2011 15:51



To test the feasibility of the representation.


  • Michele (INRIA)


  • Wenguo: explicit representation, task: create and test evolvability
      • Christopher will help Wenguo with building operators for the explicit representation.
  • Ronny: we have a genome which is evolvable and can build an organism. Tested in simulation.
      • Yao will work with Ronny
  • Inria, implicit representation, task: test evolvability


What a good representation requires, depends on the size of the experiment/organism.

To bootstrap the evolution, we may need an alphabet of shapes; I, H, X, L, T.

  • Ronny: A predefined alphabet may make it hard for evolution to find other shapes.

Initialization phase

For each representation we need to:

  • Know which percentage of individuals is viable, when the genome is initialized randomly
  • How long it takes to complete a shape
  • Define crossover and mutation
  • Know which percentage of offspring viable after crossover/mutation
      • The means for:
      • Explicit: Is the expression well-formed?
      • Implicit: does it converge

The upper-bound on the size of organism is: 4-10.


Everyone creates an experiment in their own simulator and sends their plan to Michele. Michele compiles this into a workplan?



The goal is to compare CFG and AHHS and GRN (Yao-yao).

Task: walk, recognize the walls.


  • Juergen.


  • Juergen (AHHS)
  • Evert (CPG),
  • Florian (CPG)
  • Yao-yao (GRN)


Evert sends an e-mail and organizes things.



The goal is to re-calibrate the controller when a new shape is created; this recalibration is a nested optimization problem (on-line learning).

In order to optimize, we cannot use a external measure, so what is then criterion?

  • Distance
  • QI from the traces
  • evolved QI (learning weights on the sensori-motor states) ** this might be too ambitious **


  • Evert


  • Evert
  • Michele
  • Christopher


Evert sends an e-mail and organizes discussion



Benchmark the simulator to get a feel for how large an experiment we can run in what time.


  • Berend


  • Berend
  • Anne
  • Lutz
  • Libor


  • Test#3: loose modules wandering, organisms moving randomly. Empty space with walls.
  • Anne: appropriate sensors;


Christopher: Do we keep all sensors on everywhere, or do we turn off sensors that are useless in simulator?

  • For now we keep them all on, this is probably needed for AHHS anyway.

Berend: We will also simulate computational effort of crossover and mutation, to make the test as realistic as possible.


  • Procreating requires moving around.
  • Egg receives 2 DNA; then becomes active and recruit others.
  • A cell is an egg or a free cell.
      • Whether a robot is an egg or a free cell is fixed at the start of the simulation
  • An organism has a maximum lifetime (to be set later).
  • An egg does not move

Tags: minutes skype-meeting | Comments: 0

Minutes Kick Off Meeting - 03 Nov 2011 16:21

Evolutionary Task Force

Amsterdam, november 2-3 2011


Michèle Sebag, Marc Schoenauer, Gusz Eiben, Evert Haasdijk, Juergen Stradner, Anne van Rossum, Berend Weel, Florian Schlachter, Wenguo Liu, Jean-Marc Montanier, Remco Tukker, Nicolas Bredeche


  • description of agenda for each task-force (deadline: Friday, nov. 11th)
  • weekly executive summary (by Gusz)


  • Every Thursday
  • At 11:00 CET
  • Skype or Mumble?


  • individual control parameters INACTIVE/IGNORED

SUB-TASK FORCE #1 : morphogenesis control parameters

  • Explicit (UWE+UT?) vs. Implicit (Graz and TAO) representation of the shape
  • First step: explorative
  • Sub-Task Force: UWE, INRIA, (+ Ronny@Graz)
  • Deadline: NOV. 30
Remarks on the current state:
Ronny Wenguo INRIA
evolvable + - .
tested on robot ? + .

SUB-TASK FORCE #2 : organism control parameters

  • First step
    • CPG(evert)
    • CPG(florian)
    • AHHS
  • we forget, for the moment, about the joint AHHS-CPG architecture (AHHS as sensor info manager)
  • This sub-task force: berend, juergen, florian, anne
  • Deadline NOV. 30
Remarks on the current state:
AHHS CPG(evert) CPG(florian)
online-evolv. - + -
sensor inputs + - +
tested + +? +

SUB-TASK FORCE #3 ''internal reward (during lifetime learning)''

  • people: VU, INRIA, UT?
  • investigation of curiosity as internal reward.
  • Deadline: NOV. 30 for exploration

SUB-TASK FORCE #4 ''benchmark of simulator''

  • people: Anne/almende, Berend
  • Benchmarking the simulator
    • nb and size of organisms, nb of cells, test scale up
    • test #1: swarm of cells
    • test #2.a: organism, snake
    • test #2.b: organism, H-shape
    • test #3: swarm of organisms and cells (simulate the expected content of video)
  • Deadline: 16/11 (2 weeks from now)

Decisions for DAY 1

General considerations

  • general:
    • there are 4 stages: egg, growth, organism (ie. static body shape), dying.
    • only organisms transmit genomes
    • only eggs that are not aggregated can receive genomes
    • open question:
        • no fitness? environment-driven evolutionary adaptation (no fitness function / reproductive advantage)
        • implicit fitness? curiosity-driven, no ground truth
  • swarm-mode:
      • there will be no evolving swarm of single robots
          1. we’re skipping tasks evolutionary swarm mode: all robots are either an egg or in search of an organism to join.
      • use pre-defined behaviors (random walk, red light tracking, …)
  • organism-mode
    • we start with small organisms
    • development process in 2D; organism is expected to ‘stand up’ and move in 3D
    • there will be no evolving swarm of organism — no direct mating among organisms. The only mating is through organism planting seed in unused eggs.

Decisions for DAY 2

  • Agreement on scenario 1
    • parameters, general: how many cells/eggs, % eggs, size of arena, communication range, egg's timeout-to-restart, lifetime
    • parameters, in organism mode: time/trial (=tau), #trials, duration of learning wrt. lifetime
    • unlimited energy
    • walls
    • fixed nb of free cells and eggs
    • initial shapes
  • Agreement on various issues:
    • an egg re-becomes an egg after organism death
    • body and mind evolve together
    • mind may adapt during lifetime (eventually by evolution/learning)
    • mind may be trasmitted in a lamarckian fashion… or not.
        • Lexicon: organism = body + mind/brain = shape + controller
        • controller
        • evolutionary timescale
            1. control parameters (''narrow sense'')
            2. lifetime adaptation mechanisms
                1. init points (inherited vs. random)
                2. hyper-parameters
                3. internal reward
                    • options: (1) distance (2) traces (2.a) QI (2.b) evolved-QI
                    • start simple: distance, even though may not be correlated with survival
  • Conceptual boxes:
    • box #1: build candidate shape
    • box #2: build candidate controller
    • box #3: morphogenesis
    • box #4: epigenetics learning

What can be shown in the demonstration video / Requirements

  • in simulator:
      • video is ON for all experiments, we record EVERYTHING
      • record logs, for each time steps:
          • random seed for each log
          • compilation version(s) of everything (simulator, controller, etc.)
          • position of each cells
          • input and output values
          • for every new organism: record the description of shape and controller

Looking at the demo / visual outcome and impact expected:

  • observed:
      • number of shapes
      • size
      • distances
      • when
  • tools
      • clustering
      • genealogy
      • behavior as in physical trajectories
      • behavior as in sensory-motor space
      • behavior as in response test
  • monitoring
      • show the robot physical trajectories
      • datamining the log

Tags: minutes | Comments: 0

Outline of Experiments - 31 Oct 2011 12:12


Imagine an arena filled with Symbricator robots that move around, feed (charge their batteries), and evolve their controllers. This evolution is invisible from the outside, since the birth of a new controller takes place inside a robot. As time progresses, some robots aggregate into organisms, each consisting of several robot modules, and each with its own distinctive shape. These organisms move; some aptly, some only just starting to learn how to move their limbs. They also feed and evolve their shapes and controllers. This evolution is partly visible from the outside, since the birth of a new organism is a clearly observable event: we see individual robots aggregating into a new organism.

Under the hood, organisms carry a genome that encodes their shape and their controller. To reproduce, organisms need to find an ‘egg’ - an individual stationary robot module, perhaps a remnant of an old organism - which they can fertilise with their genome. An egg that has been fertilised by two different organisms performs crossover on the two genotypes and mutates the result. The new genotype is the basis for a new organism that will be born through a process of morphogenesis, initiated by the egg. The egg calls out to available modules, broadcasting the shape of the new organism and asking them to join to construct it. In response, modules in the vicinity move towards the egg to start a complicated dance, where more and more of them dock together to form the required shape. After a while the dance stops, and a new organism is born.

Meanwhile, an existing organism - maybe one of the parents of this new organism - has come to the end of its life: now it is time to disassemble. It lies down and its individual modules detach; some of them drive away in search of a forming organism that they will become part of, some drive away a small distance, spreading themselves out to become eggs to be fertilised, and some revert to their swarm behaviour.

As you can see, the idea is to use a swarm of robots to create a population of organisms and have these organisms evolve on a different level than the swarm. This constitutes two steps:

  1. The evolution of organisms from a swarm through some environmental pressure;
  2. The reproduction and evolution of organisms.

These two steps can be separated and step 1 can be - for now - replaced by a shortcut using a pre-programmed drive to create organisms. For the purposes of this task force, we propose to tackle these two steps separately, and focus first on organism reproduction and evolution, as this is the more exciting and challenging goal. In that case, there is no evolving swarm behaviour, but robots are hardwired to seek out and connect to forming organisms, or to become stationary and await fertilisation.
For the experiments, we want to implement an evolutionary process based on a “clean” reproductive advantage, without using an explicit fitness function. Such a reproductive advantage for organisms can stem from two sources in this scenario. Firstly, the ability to move: moving around, an organism can find more eggs to fertilise before its time runs out and it ‘dies’1. We propose that the fertilisation range is limited, so that moving really is a necessary skill to find eggs and so procreate. Secondly, it can stem from the ability to feed - to dock with and charge from sockets or batteries. Feeding allows an organism to walk about longer (because organisms die when their energy runs low) and so encounter more eggs to fertilise. In the first set of simulation experiments, we can decide to assume unlimited energy for the robots. This would simplify the problem and require only the evolution of moving skills.

Regarding moving skills two cases can be further distinguished: simple movement (gait) without any target and directed movement. The latter seems necessary for feeding, as organisms should detect power sources and go there to charge.
To be able to run these experiments, decisions need to be made about 1) the type of controller for the modules; 2) the type of controller for the organisms; 3) the genetic representation of organism shapes (body) and controllers (mind); 4) the environment of the experiment; and 5) the simulator.

For all these decisions we have to take into account that Symbrion adaptation has to embed on-line, on-board (OLOB) evolution. This is a technical necessity as well as the reviewers’ demand (cf. “without hands”). This means that the controllers for individual robots (in swarm mode) as well as the controllers of organisms and the shapes of organisms should be OLOB-evolvable: using only those reproduction, selection, and fitness evaluation mechanisms that are executable "in vivo" on/by the robots, without an external oracle.

Food for thought

Here are a few issues that need consideration for the success of this experiment; some may already have answers, while some are very open.

  • When deciding to use a certain type of robot controller, organism controller, and organism shape representation OLOB-evolvability is an essential evaluation criterion. In the extreme: if a certain type of robot controller, organism controller, or organism shape representation is not OLOB-evolvable, then it is not suitable for these experiments.
  • Is it important or even desirable to use the same controller for modules in swarm mode and organism mode?
  • What will be the representation of the robot body and mind?
    • Will these representations be part of the same genome, and thus undergo crossover and mutation at the same time?
  • Will the morphogenesis of organisms be a self-organising process, or will it be a predefined process guided by a shape defined (maybe indirectly) by the representation?
  • Will there be a task for modules in swarm mode?
  • Will the organism need to have lifetime learning? What kind?
  • Will the environment determine the emergence of organisms, or will this be pre-programmed?

Tags: | Comments: 0

York Meeting - 28 Oct 2011 14:02

Task Force

At the general assembly in York in October 2011 Guszti Eiben presented a plan for the evolutionary computing task force within the Symbrion project. The goal of this task force is the implementation of Grand Challenge 2 (GC2) of the Symbrion project: Origin of Species and the Emergence of Self-regulation through Open-ended Evolution

The plan is to leverage the expertise of the partners involved, to design the implementation of GC2 within the next few months. Realise this design in simulation a few months later, and realise it in real hardware a year later.

The general assembly agreed on the merrits of this plan and several partners have signed up to join this cause. The slides that Guszti Eiben presented during the general assembly can be found here.

Involved partners

Vrije Universiteit Amsterdam VU
Universität Graz GRAZ
Universität Stuttgart USTUTT
University of the West of England UWE
Eberhard Karls Universität Tübingen UT
Institut National de Recherche en Informatique et Automatique INRIA
Flanders Institute for Biotechnology VIB
Czech Technical University CVUT
Almende B.V. Almende

Tags: progress task-force | Comments: 0

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License