Outline of Experiments

1320063155|%e %B %Y, %H:%M

Back to list of posts


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?

Comments: 0

Add a New Comment

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