Polyworld
From Wikipedia, the free encyclopedia
Polyworld is a cross-platform (Linux, Mac OS X) 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 exists a population of trapezoid agents which search for food, mate, have offspring, and prey on each other. Typically the population is only in the hundreds, as each individual is rather complex and the environment consumes considerable computer resources. 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 carcasses or randomly generated food, seeing other individuals, mating or 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
- SourceForge entry
- Yaeger's page on Polyworld
- Page with videos of Polyworld animations
- Google TechTalk about Polyworld