Polywelt
# Polywelt

Polyworld ist ein plattformübergreifendes (Linux, Mac OS X) Programm, die von Larry Yaeger geschrieben wurde, um Künstliche Intelligenz durch natürliche Selektion und evolutionäre Algorithmen weiter zu entwickeln.
Es verwendet das Qt-Grafik-Toolkit und OpenGL, um eine grafische Umgebung darzustellen, in der eine Population trapezförmiger Akteure nach Nahrung sucht, sich paart, Nachkommen zeugt und sich gegenseitig ausbeutet. Die Anzahl der Akteure innerhalb der Population beschränkt sich in der Regel auf einige Hunderte, da jedes Individuum recht komplex ist und die Umgebung erhebliche Computerressourcen. Die grafische Umgebung ist in dieser Simulation notwendig, da sich die Individuen in der 2D-Ebene bewegen und in der Lage sein müssen, zu "sehen". Da einige grundlegende einige grundlegende Fähigkeiten wie beispielsweise das das Fressen von Kadavern oder zufällig erzeugter Nahrung, das Sehen anderer Individuen, die gemeinsame Paarung oder der gegenseitige Kampf usw. möglich sind, wurden eine Reihe interessanter Verhaltensweisen beobachtet, die nach längerer Evolution spontan auftraten, wie z.B. kannibalistisches Verhalten, das Konzept von Raubtier und Beute sowie Mimikry.
Jedes Individuum trifft seine eigenen Entscheidungen auf der Grundlage eines neuronalen Netzwerks, welches auf der Hebb'schen Lernregel basiert; das neuronale Netzwerk wird aus dem Genom jedes Individuums abgeleitet. Das Genom definiert nicht nur die Verschaltung eines neuronalen Netzwerks, sondern es bestimmt auch seine Größe, Geschwindigkeit, Farbe, Mutationsrate und eine Reihe weiterer Faktoren. Das Genom mutiert nach dem Zufallsprinzip mit einer bestimmten Wahrscheinlichkeit. In den nachkommenden Generationen kann kann sich diese Wahrscheinlichkeit einer zufälligen Mutation selbst ebenfalls ändern.