Polyworld - Enciclopedia
Polyworld es un programa multiplataforma (Linux, Mac OS X) escrito por Larry Yaeger para desarrollar Inteligencia Artificial mediante selección natural y algoritmos evolutivos. Utiliza la biblioteca de herramientas gráficas Qt y OpenGL para mostrar un entorno gráfico en el que una población de agentes trapezoidales busca comida, se aparean, tienen descendencia y se alimentan entre sí. La población es típicamente de solo cientos, ya que cada individuo es bastante complejo y el entorno consume considerables recursos de computación. El entorno gráfico es necesario ya que los individuos se mueven efectivamente alrededor del plano bidimensional y deben poder "ver". Dado que algunas habilidades básicas, como comer restos de carne o comida generada aleatoriamente, ver a otros individuos, aparearse o luchar con ellos, etc., son posibles, se han observado una serie de comportamientos interesantes que surgen espontáneamente después de una evolución prolongada, como el canibalismo, depredadores y presas, y la imitación.
Cada individuo toma decisiones basándose en una red neuronal utilizando aprendizaje Hebbiano; la red neuronal se deriva del genoma de cada individuo. El genoma no solo especifica el cableado de las redes neuronales, sino que también determina su tamaño, velocidad, color, tasa de mutación y una serie de otros factores. El genoma se muta aleatoriamente con una probabilidad establecida, que también se cambia en los organismos descendientes.
Referencias
Enlaces externos
Entrada en Github
Página de Yaeger sobre Polyworld
Google TechTalk sobre Polyworld