Polyworld

From Wikipedia, the free encyclopedia

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

It shows a graphical environment using the Qt graphics toolkit and OpenGL, in which a population (typically only in the hundreds, as each individual is rather complex and the environment consumes considerable computer resources) of trapezoid agents which search for food, mate, have offspring, and prey on each other. The graphical environment is necessary since the individuals actually move around the 2-D plane and the occasional barrier and must be able to see. Since some basic abilities like eating corpses or the randomly generated food, seeing other individuals, mating and fighting with them etc. are possible, a number of interesting behaivours have been observed to spontaneously arise after prolonged evolution, such as cannibalism, predators and prey, and mimicry.

Each individual makes decisions based on a neural net using Hebbian learning; the neural net is derived from each individual's genome. The genome does not merely specify the wiring and weighting of the neurel 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, and are also changed in descendant organisms.

[edit] External links