Master Baboon The sea of the simulation


Open-ended evolution in ALife

The concept of "open-ended evolution" in artificial life is mostly misunderstood. In many cases, "open-ended" is taken to mean that the final solution can take any shape, however complicated. Instead, a stronger definition of "open-ended" would require that the fitness function itself is changing. For example, Genetic Programming would be defined as open-ended in the first sense, since the evolved programs can solve and computable problem (provided that the instruction set is Turing-complete), but is not in the second sense, as the programs are selected according to one, immutable fitness function. This is more akin to adaptation than evolution.

In my opinion, an important but neglected goal of ALife should be that of identifying a minimal set of conditions that is able to sustain this stronger kind of open-ended evolution.

What would it take for an artificial system to display "real" open-ended evolution? It is possible that there may be multiple answer to this question, but co-evolution of agents seems to be a good candidate. A minimal example might involve populations of agents trying to predict each other's output. The output of a population should be tied to the process of predicting the response of the others. To initiate a runaway evolution process, predicting a simple output should require a simple algorithm, which however would produce a slightly more complex output by the laws of the artificial world. In such a scenario, the fitness function is given by the combination of prediction algorithms in the population, and each evolutionary step changes it in a way that requires increasingly complex behaviors.

Facebook Twitter Email
Comments (4) Trackbacks (0)
  1. It’s an amazing idea. I’ve not ever think of changing the fitness function itself.
    I think it could be a real dilemma to converging the population with a dynamic fitness. Using the Hyper-Heuristics can be helpful.

  2. Evolution can never be 100% open ended, because if it is, it becomes the exact same thing as a random search through the available search space.

    The concept of evolution always involves “adapting” to a dynamic environment, which can be approximated, but not exactly predicted.

    Co-evolution of organisms will lead to chaos, and the butterfly effect. Either both organisms will produce meaningless, but increasingly complex behaviours at each epoch, or both organisms will recede to uninteresting, never changing outputs (A outputs x, and B outputs y all the time, both predicting each other exactly).

    In my opinion, open ended evolution is: having a system very similar to evolution in real life organisms.
    Each organism is bound to certain laws of physics, and they battle it out for survival, without having any reward function. A reward function is not necessary because a species can improve its survival by either reproducing, or developing ways of self defense and resource gathering, both of which are equally good, as evolution does not optimise for anything but existence.
    Since the world is bound by laws of physics, an advanced (advanced as in:smart, or being able to survive large changes in environment, or successful) organism will have an interesting model of the environment (which is probably what we want)

  3. A mutating fitness function, if implemented carefully, can help guide the evolution into producing incremental, or robust organisms.

    The organisms adapt to the first fitness function, and when the fitness function changes, they develop new behaviour in response, without loosing much of their abilities due to the previous fitness function. (like the first fitness function is “adapt for speed”, and the second is “adapt for fuel efficiency”, which will finally give us cars which are both sufficiently fast, and sufficiently efficient)

  4. Thanks for your thoughts. It’s helped me a lot.

Leave a comment

No trackbacks yet.