Polyworld
Polyworld ist ein plattformübergreifendes (Linux, Mac OS X) Programm, das von Larry Yaeger geschrieben wurde, um Künstliche Intelligenz durch natürliche Selektion und evolutionäre Algorithmen weiterzuentwickeln.
Polyworld
| |
---|---|
Polyworld.gif | |
Basisdaten
| |
Entwickler | Larry Yaeger[1] |
Betriebssystem | Linux[2], macOS[3] |
Programmiersprache | C++ |
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 Hundert, da jedes Individuum recht komplex ist und die Umgebung, in der sie sich befinden, erhebliche Computerressourcen benötigt. Die grafische Umgebung ist in dieser Simulation notwendig, da sich die Individuen in der 2D-Ebene bewegen und in der Lage sein müssen, ihre Umwelt zu „sehen“. Da einige grundlegende Fähigkeiten wie beispielsweise 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, so unter anderem 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 sich diese Wahrscheinlichkeit einer zufälligen Mutation selbst ebenfalls ändern.
Weblinks
Bearbeiten- polyworld Repository bei Github
- Larry Yaeger's Webseite zu Polyworld
- Google TechTalk über Polyworld (YouTube)
Einzelnachweise
Bearbeiten- ↑ shinyverse.org. (abgerufen am 26. Oktober 2016).
- ↑ github.com. (abgerufen am 26. Oktober 2016).
- ↑ github.com. (abgerufen am 26. Oktober 2016).