Enstehung des Game of Life
Das Game of Life wurde 1968 (noch ohne Computer) von John H. Conway zur Simulation von Leben entwickelt. Damals spielte man das Spiel mit Karten oder Spielsteinen auf einem Spielfeld aus quadratischen Zellen, die entweder tot oder lebendig waren.
Spielregeln
Über Leben und Tod einer Zellen entscheidet immer das lokale Umfeld, also die Nachbarn. Eine quadratische Zelle hat genau acht Nachbarzellen. Randzellen haben entweder weniger Nachbarn oder die jeweils auf der gegenüberliegenen Seite liegenden Randzellen (Torus-Randbedingung).
- Eine Zelle wird geboren (d.h. eine tote Zelle wird lebendig), wenn sie genau drei lebende Nachbarn hat
- Eine lebende Zelle stirbt, wenn sie weniger als zwei (Einsamkeit) oder mehr als drei (Überbevölkerung) Nachbarn hat
Die Simulation wird synchron durchgeführt, d.h. erst wird der Folgezustand von allen Zellen auf dem Feld bzgl. des momentanten Zustandes berechnet und danach erst wird das gesamte Spielfeld auf den neuen Zustand verändert.
Java-Applett
Mit dem Klick auf eine Zelle wird ihr Zustand (tot/lebendig) geändert. Nachdem man eine Startverteilung eingestellt hat, kann die Simulation mit 'start'-Button gestartet werden.
Besondere Muster
Besondere Muster zeichnen sich durch ihre dauerhafte Präsenz (Unergänglichkeit) aus. Startet man das Game of Life mit einer zufälligen Startverteilung, wird man im Laufe der Simulation solche Muster mit hoher Wahrscheinlichkeit feststellen.
Hier aber einige Beispiele:
- unveränderliche Muster
- Quadrat (2x2 Block)
- periodische Muster
- Blinker (3x1 Block)
- mobile Muster
- Gleiter (ein 'L-': 3 Zellen für '|' , eine Zelle für '_' und eine für '-')
Eine vielzahl weiterer besonderer Muster gibt es auf Wikipedia (Link).
Zelluläre Automaten
Das Game of Life stellt ein Beispiel für einen zellulären Automaten dar. Ein solcher besteht aus einer (meist) zweideimensionalen gitterförmigen Anordnung von Zellen (oft quadratisch, aber auch hexagonl u.a.) und den Regeln, die den Zustand einer Zelle im darauffolgenden Schritt in Abhängigkeit von ihren Nachbarzellen festlegen.
Vorteil dieser Automaten ist das einfach (und intuitiv) zu beschreibende Regelwerk, das meist ohne Mathematik auskommt, und die dennoch daraus resultierenden komplexen raum-zeitlichen Strukturen. Auch die Implementierung eines Automaten in ein lauffähiges Programm ist recht einfach.
Aufgrund der algorithmischen Regelanwendung ist eine mathematische Analyse des Modellverhaltens sehr schwierig bzw. meist unmöglich.
Weitere Beispiele für Anwendungsfälle Zellulärer Automaten:
- Ausbreitung einer Krankheit
- Brownsche Molekularbewegung
- Veränderung von Wahlsympathien durch benachbarte Anderswähler
Download Simulationsprogramm
Auf 'Link' gibt es das von Studenten der Universität Osnabrück entwickelte Java-Programm GOST, mit dem man eigene Automaten mit einfachen und komplizierten Regeln erstellen und laufen lassen kann.
