Polyworld

Polyworld is a cross-platform (Linux, Mac OS X) program written by Larry Yaeger to evolve Artificial Intelligence through natural selection and evolutionary algorithms.

The population is typically only in the hundreds, as each individual is rather complex and the environment consumes considerable computer resources.

Since some basic abilities, like eating carcasses or randomly generated food, seeing other individuals, mating or fighting with them, etc., are possible, a number of interesting behaviours have been observed to spontaneously arise after prolonged evolution, such as cannibalism, predators and prey, and mimicry.

The genome does not merely specify the wiring of the neural nets, but also determines their size, speed, color, mutation rate and a number of other factors.

The genome is randomly mutated at a set probability, which are also changed in descendant organisms.