Benutzer:Arbol01/Game of Life aus der wikipedia

Aus Wikibooks
Zur Navigation springen Zur Suche springen
Figur: Glider

Das Spiel des Lebens (engl. Conway's Game of Life) ist ein vom Mathematiker w:John Horton Conway w:1970 entworfenes System zweidimensional angeordneter w:zellulärer Automaten. Es ist eine einfache und bis heute populäre Umsetzung der Automaten-Theorie von w:Stanisław Marcin Ulam.

Das Spielfeld[Bearbeiten]

Das Spielfeld ist in Zeilen und Spalten unterteilt und im Idealfall unendlich groß. Jedes Gitterquadrat ist ein w:Zellulärer Automat (Zelle), der einen von zwei Zuständen einnehmen kann, welche oft als lebendig und tot bezeichnet werden. Zunächst wird eine Anfangsw:generation von lebenden Zellen auf dem Spielfeld platziert. Jede lebende oder tote Zelle hat auf diesem Spielfeld genau acht Nachbarzellen, die berücksichtigt werden (w:Moore-Nachbarschaft). Die nächste Generation ergibt sich durch die Befolgung einfacher Regeln.

Das Spiel kann manuell auf einem Stück Papier oder mit w:Computerhilfe simuliert werden. Da ein reales Spielfeld immer einen Rand hat, muss das Verhalten dort festgelegt werden. Man kann sich den Rand z. B. durch tote Zellen belegt denken, so dass manche Gleiter ihre Bewegungsrichtung dort ändern. Eine andere Möglichkeit ist ein w:Torus-förmiges Spielfeld, bei dem alles, was das Spielfeld nach unten verlässt, oben wieder herauskommt und umgekehrt, und alles, was das Spielfeld nach links verlässt, rechts wieder herauskommt und umgekehrt.

Alternativ kann man auch nur lebendige Zellen und ihre direkte Umgebung simulieren und bei Bedarf mehr Speicher allozieren, da große tote Flächen tot bleiben. So hat man zumindest ein quasi unendliches Feld.

Anstatt auf einer quadratisch gerasterten Ebene kann die Simulation auch auf einer sechseckig gerasterten Ebene erfolgen. Dann wäre die maximale Zahl der Nachbarn nicht acht sondern sechs. Es gab auch schon dreidimensionale Game of Life-Simulationen.

Eine weitere Variationsmöglichkeit ist die Vergrößerung der möglichen diskreten Zustände einer Gitterzelle.

Die Spielregeln[Bearbeiten]

Die Folgegeneration wird für alle Zellen gleichzeitig berechnet und ersetzt die aktuelle w:Generation. Der Zustand einer Zelle, lebendig oder tot, in der Folgegeneration hängt nur vom Zustand der acht Nachbarzellen dieser Zelle in der aktuellen Generation ab.

Die von Conway zu Anfang verwendeten Regeln sind:

  • Eine Zelle mit genau drei lebenden Nachbarn wird in der Folgegeneration neu geboren.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
rot: Tote Zelle, die in der nächsten Generation geboren wird
grün: Nachbarn der Zelle
  • Lebende Zellen mit weniger als zwei lebenden Nachbarn sterben in der Folgegeneration an Einsamkeit.
  • Lebende Zellen mit mehr als drei lebenden Nachbarn sterben in der Folgegeneration an Überbevölkerung.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
magenta: Zelle, die in der nächsten Generation sterben wird
grün: Nachbarn der Zelle

Mit diesen drei einfachen Regeln entsteht aus bestimmten Anfangsmustern im Laufe des Spiels eine Vielfalt komplexer Strukturen. Einige bleiben unverändert, andere oszillieren und wieder andere wachsen oder vergehen. Manche Strukturen, sogenannte Gleiter, bewegen sich auf dem Spielfeld fort. Sogar für w:logische Funktionen wie UND und ODER lassen sich Anfangsmuster finden. Damit können dann sogar komplexe elektronische Funktionen nachgebaut werden.

Es existieren weitere Varianten des Game of Life, bei denen Conways Regeln geändert oder ergänzt werden.

Sichtweisen[Bearbeiten]

Was veranlasst einen Menschen, sich mit Game of Life zu beschäftigen, beziehungsweise was sieht er darin? Es gibt mindestens sechs Standpunkte zu dieser Simulation:

  1. Das Verhalten als Gesamtes:
    Für einen Teil der Leute ist es interessant, was für ein Verhalten bestimmte Regelwelten aufweisen, z. B. ob sie explodieren oder implodieren, ob sie langsam schrumpfen oder ob sie langsam „aushärten“.
  2. Der biologische Aspekt: Game of Life als w:Mikroskop:
    Für einen anderen Teil ist Game of Life wie der Blick in ein Mikroskop. Man beobachtet die kleinen Strukturen, die man abzählen und bewerten kann. Für diesen Typus ist es immer eine Freude, wenn eine neue „Lebensform“ auftaucht. Explodierende, expandierende oder gar „aushärtende“ Regelwelten sind für diesen Typus uninteressant.
  3. Der chemische Aspekt: w:Energie und w:Materie:
    Wenn man die Häufigkeit, die w:Komplexität der Game-of-Life-Objekte mit dem Aufwand an Energie und Zwischenschritten vergleicht, die benötigt werden, um eine bestimmte w:chemische Verbindung zu erhalten, so kann man die unterschiedlichen Life-Objekte auf unterschiedliche energetische w:Niveaus setzen. Objekte, die bei jedem Ablauf vorkommen, wären dann auf dem Niveau von w:Wasser, w:Kohlenstoffdioxid und w:Kochsalz. Objekte, wie Unruhe(2) und Fontäne wären dann beispielsweise auf einem Niveau wie w:Salzsäure und w:Natronlauge, und Objekte wie die Segler (LWSS, MWSS und HWSS), die auch zufällig entstehen können, wären schon auf dem Niveau relativ komplexer Verbindungen.
  4. Der physikalische Aspekt: Kräfte und w:Anfangswertproblem:
    Selbst die einfachsten physikalischen Gesetze können beliebig komplexes Verhalten als Gesamtes zeigen. Rein deterministisch/mechanisch können (beliebig) kleine Abweichungen der Startbedingung zu ganz unterschiedlichen Ergebnissen führen. Somit lässt sich ein Anfangswertproblem formulieren, worauf chaotisches Verhalten folgt. Es folgen Endzustände, w:Schwingungen, w:Wachstum, aber auch dauerhaft unregelmäßiges Verhalten.
  5. Game of Life als w:Automat:
    Es gibt den Typus des Game-of-Life-Interessierten, der hauptsächlich an der Konstruktion von Automaten interessiert ist, also solchen Strukturen, die wie eine w:Maschine oder w:Fabrik arbeiten. Es gibt einen Verband aus Strukturen, der entfernt Ähnlichkeit mit einem w:Rollfeld eines w:Flughafens hat, auf dem ständig Flugzeuge starten, und dazwischen die Fahrzeuge, die den Betrieb aufrechterhalten, zu ihren Stationen fahren.
  6. In der Theoretischen Informatik ist das Game of Life als w:Entscheidungsproblem interessant:
    Man kann zeigen, dass es keinen w:Algorithmus gibt, der als Eingabe zwei beliebige Game-of-Life-Konfigurationen erhält und in allen Fällen entscheiden kann, ob eine Konfiguration aus der anderen entstehen kann oder nicht. Diese Frage ist damit unentscheidbar.

Die Muster[Bearbeiten]

Auf dem Spielfeld zeigen sich zu jedem neuen Zeitschritt typische Muster, welche die Zustände mehrerer Gitterzellen darstellen. Man kann diese Muster in Klassen einteilen, wobei die stabilen Muster am interessantesten sind.

Oszillierende Objekte[Bearbeiten]

Oszillierende Objekte sind Objekte, die sich nach einem bestimmten Schema verändern, aber nach einer endlichen, festen Anzahl von w:Generationen wieder den Ausgangszustand erreichen. Ein Beispiel für ein oszillierendes Objekt ist der Pulsator.

Die einfachste zyklische Konfiguration ist eine w:horizontale oder w:vertikale Reihe von drei lebenden Zellen. Beim horizontalen Fall wird direkt ober- und unterhalb der Zelle in der Mitte eine lebende Zelle geboren, während die äußeren beiden Zellen sterben; so erhält man eine vertikale Dreierreihe.

Eine Reihe von zehn horizontal oder vertikal aneinander hängenden Zellen entwickelt sich sogar zu einem Objekt, das einen Zyklus von fünfzehn Generationen hat, dem Pulsator.

Beispiele oszillierender Objekte sind:


Blinker Blinker

Unruhe(1)

Unruhe(2) Unruhe(2)

0-Laser 0-Laser

2-Laser 2-Laser

Pulsator Pulsator

Fontäne Fontäne

Oktagon 2g3 z5.gif


Der Pulsator wird im englischen, aufgrund eines Zyklus mit 15 Schritten, Pentadecathlon genannt und ist der Gleiter-Fresser. Die Fontäne ist im englischen als Tumbler bekannt.

Raumschiffe und Gleiter[Bearbeiten]

w:Raumschiffe sind (nicht zwangsläufig) oszillierende Objekte, die während ihres Oszillierens eine feste Strecke zurücklegen und dabei ihre Gestalt erhalten oder sich nach einer bestimmten Anzahl von Generationen selbst erzeugen. Dabei kann man zwischen den w:diagonalen Raumschiffen und den w:vertikalen bzw. w:horizontalen Raumschiffen unterscheiden. Zu den diagonalen Raumschiffen zählen der Gleiter und die Qualle, während die Segler zu den horizontalen Raumschiffen zählen.

Beispiele für Raumschiffe sind:

Gleiter Glider Glider Animation
Segler(1) (LWSS) (Light-Weight Spaceship) lightweight spaceship
Segler(2) (MWSS) (Middle-Weight Spaceship) midleweight spaceship
Segler(3) (HWSS) (Heavy-Weight Spaceship) heavyweight spaceship
drei Segler
Ablauf einer Animation dieser drei Segler

Raumschiffe sind ein Beispiel der w:Emergenz-Erscheinungen des Spiels des Lebens. Die wenigen Regeln des Spiels sagen nichts über Formen aus, die sich unendlich weit fortbewegen, und doch entstehen diese Raumschiffe wegen dieser Regeln.

Puffer[Bearbeiten]

Die Puffer (sprich "paffer") kann man zu den Raumschiffen zählen, wobei die Puffer im Gegensatz zu den Raumschiffen eine Spur von Objekten hinterlassen.

Statische Objekte[Bearbeiten]

w:Statische Objekte bilden die wohl langweiligste Klasse von Objekten, da sie nichts machen. Manche dieser statischen Objekte haben allerdings eine Aufgabe, indem sie z.B. Gleiter „fressen“ oder umlenken können.

Ein Beispiel für ein statisches Objekt ist der Block mit den Ausmaßen 2×2; jede Zelle hat hier drei Nachbarn:

Quadro Quadro
Andere statische Objekte stabile Objekte

Andere Objekte[Bearbeiten]

Daneben gibt es noch Anfangskonfigurationen, die innerhalb endlicher Zeitschritte ein „leeres“ Spielfeld erzeugen. Eine weitere Möglichkeit sind völlig chaotische oder „explodierende“ Muster.

Das r-Pentomino bewirkt trotz seiner Einfachheit ein lange anhaltendes, chaotisches Wachstum:

r-Pentomino

Entwicklung aus einer zufälligen Anfangsbedingung[Bearbeiten]

Die folgende Animation zeigt die ersten 1500 Entwicklungsschritte auf einem 100×100 w:torusförmigen Spielfeld. Die Anfangskonfiguration ist zufällig mit 31,25% lebenden Zellen. Jeder Zustand wird 0,1 Sekunden angezeigt. Jedes Pixel steht für genau eine Zelle.

Game of life torus 100 100 1500.gif

Conways Herausforderung[Bearbeiten]

Conway bot demjenigen einen Preis von 50 w:US-Dollar, der nachweisen konnte, dass mit dem Game of Life unbegrenztes w:Wachstum möglich ist. Da für einen w:Nachweis ein geordnetes Wachstum notwendig ist, waren die explosionsartigen Vermehrungen ungeeignet.

Eine Lösung ist die so genannte w:Gleiterkanone, die in regelmäßigen Abständen einen Gleiter hervorbringt. Dieser erzeugt innerhalb von vier w:Generationen eine verschobene Kopie von sich selbst, und somit kann die Kanone an derselben Stelle den nächsten Gleiter erzeugen.

Es ist möglich, aus w:Kollisionen von Gleitern eine Gleiterkanone zu erzeugen. Damit kann die Bewegungsrichtung der Gleiter geändert werden und es besteht die theoretische Möglichkeit selbstreplizierende Automaten zu konstruieren.

CONWAYs Gleiterkanone mit dem Gleiter-Fresser

In der oberen Bildhälfte befindet sich die Gleiter-Kanone, die in 30 Generationen einmal pulsiert und dabei einen Gleiter erzeugt. Im rechten, unteren Teil des Bildes befindet sich der Gleiter-Fresser, der in 15 Generationen einmal pulsiert und bei jeder zweiten w:Pulsation einen Gleiter zerstört. Die Gleiter bewegen sich von der Bildmitte nach rechts unten. Links unten läuft der Generationen-Zähler mit. In der Bildbeschreibung befinden sich Links zu dem die Animation erzeugenden GW-w:BASIC-Programm und zu den Startdaten.

Abweichende Regeln[Bearbeiten]

Man kann sich abweichende Regeln zum klassischen "Game of Life" vorstellen. Das folgende Regelwerk definiert beispielsweise ein sich reproduzierendes System, eine Kopierwelt.

  • Todes-Regel: Eine Zelle mit genau 0, 2, 4, 6 oder 8 Nachbarn stirbt.
  • Geburts-Regel: 1, 3, 5 oder 7 lebende Nachbarn erzeugen (oder erhalten) eine lebende Zelle.

Wenn man in dieser Kopier-Welt eine Struktur in Form des Buchstaben H zeichnet, so werden lauter identische H-Buchstaben erzeugt.

Um sich beim Vergleich verschiedener Regelwerke eine umständliche Umschreibung der Regeln zu ersparen, existiert eine Kurzschreibweise für die Regeln von Game of Life: Man zählt zunächst die Anzahlen von Nachbarn auf, bei der eine Zelle nicht stirbt, und anschließend, durch einen w:Schrägstrich abgetrennt, die Anzahlen der Nachbarn, bei der eine Zelle geboren wird.

Die klassische Conway-Welt wird durch 23/3 beschrieben, die oben beschriebene Kopierwelt durch 1357/1357.

Es wurden auch Regeln für mehrdimensionale Räume entwickelt. Hier entstehen aber natürlich Darstellungsprobleme.

Sehr dicht an das klassische 23/3-Regelwerk (Zwei oder drei Nachbarn erhalten eine Zelle, drei Nachbarn erzeugen eine neue Zelle.) kommen die Regelwerke 34/3 und 35/3. Insgesamt sind 262144 (218) Regelwerke denkbar, von denen die meisten jedoch uninteressant sind. Einige der interessanteren werden im Folgenden beschrieben.

Die 3/3-Welt[Bearbeiten]

Statische Objekte: Bisher eines, nämlich der schon erwähnte 2*2-Block:

Quadro.PNG
Quadro

Der der Conway-Welt zugeschriebene Block ist tatsächlich ein 3/3-Objekt, denn jede Zelle dieses Blocks hat 3 Nachbarn, und darum ist die Zwei-Nachbarn-Regel uninteressant.

In der 3/3-Welt gibt es zum Beispiel diese oszillierenden Objekte:

G3 pedal.gif G3 kegel.gif G3 unruhe.gif G3 strudel.gif
Pedal Kegel Unruhe(1) Strudel

Alle diese Objekte außer Unruhe(1) funktionieren auch in allen möglichen Variationen von Regelwelten bis 345678/3, also auch in den 34/3- und 35/3-Regelwelten. Unruhe(1) funktioniert in allen Variationen, in denen 3/3 enthalten ist und 0/0124 nicht, und damit auch in der Conway-Welt (23/3). Solche Objekte kann man als Wanderer bezeichnen.

Die 13/3-Welt[Bearbeiten]

Dies ist eine Regelwelt mit wenigen oszillierenden Objekten. Die meisten Objekte sind "verkrüppelt".

Wenigstens die drei folgenden, oszillierenden Objekte gibt es:

1g3 pingpong.gif 1g3 o 02.gif
Pingpong O1G3(2) (Zweites oszillierendes Objekt in der 1G3-Welt, auch als O13-3(2) schreibbar)
_ 0 _ _

0 _ _ 0
0 _ _ 0
0 _ 0 _

Pseudo-Gleiter

Als eine Variante der 13/3-Regelwelt kann man die 135/35-Regelwelt betrachten.

Die 34/3-Welt[Bearbeiten]

Oszillierende Objekte der 34/3-Welt:

4g3 strange.gif 4g3 frog.gif 4g3 o 03.gif 4g3 o 04.gif G3 pedal.gif G3 kegel.gif G3 unruhe.gif G3 strudel.gif
Strange Frosch O4G3(3) O4G3(4) Pedal Kegel Unruhe(1) Strudel

Neben Strange und Frosch kommen auch die 3/3-Objekte Pedal, Kegel, Unruhe(1) und Strudel vor.

Die 35/3-Welt[Bearbeiten]

In der 35/3-Welt gibt es zum Beispiel diese vier sich bewegenden Objekte:

35g3 schwimmer(1).PNG 35g3 schwimmer(2).PNG 35g3 segler.PNG 35g3 mover.PNG
Schwimmer(1) Schwimmer(2) 35/3-Segler 35/3-Mover
Schwimmer 5g3 1.gif
Schwimmer(1)
Segler 5g3.gif
35/3-Segler

Ebenso wie in der 34/3-Regelwelt kommen die oszillierenden Objekte Pedal, Kegel, Unruhe(1) und Strudel in der 35/3-Regelwelt vor.

Die 2/3-Welt[Bearbeiten]

Diese Regelwelt hätte eigentlich an die erste Stelle gehört, da sie ein wichtiges, oszillierendes Objekt enthält, das eigentlich der 23/3-Welt, also Conways Life zugeordnet wird, zu der es kompatibel ist:

2-3 O1.gif 2-3 unruhe.gif
O2-3(1) Unruhe(2)

Damit existieren wenigstens drei oszillierende Objekte, inklusive Unruhe(1), die fälschlicherweise exklusiv Conway's Game of Life (23/3) zugeordnet werden.

Die 24/3-Welt[Bearbeiten]

_ 0 _
_ 0 _
0 0 _

   _ _ 0 0

_ _ 0 _
0 0 _ 0
0 _ 0 _

Statische Objekte
24 3 3.gif 24 3 1.gif 24 3 2.gif O 24-3 4.gif 24 3 5.gif
O24-3(1) O24-3(3) Seegurke O24-3(4)

Die 245/3-Welt[Bearbeiten]

Neben den oszillierenden Objekten, die auch in der 24/3-Regelwelt vorkommen, existieren hier auch noch ein paar andere oszillierende Objekte:

245-3 O1.gif 245-3 O2.gif
O245-3(1) O245-3(2)

Das besondere aber ist das Vorkommen eines sich bewegenden 7-Zyklen-Objekts, das in seiner Art der Bewegung einer Qualle ähnelt:

245-3 qualle.gif
Qualle

Die 125/36-Welt[Bearbeiten]

In der 125/36-Regelwelt existieren diese beiden oszillierenden Strukturen:

125-36 o1.gif 125-36 o2.gif
O125-36(1) O125-36(2)

Antiwelten[Bearbeiten]

Zu jeder Regelwelt gibt es eine Antiregelwelt, in der Form, dass alles invertiert ist. Also alle Zellen, die sonst tot sind, leben und alle Zellen, die sonst leben, sind tot. Dies zeigt sich im Ablauf durch ein schwarzes Feld, auf dem die Strukturen weiß sind.

Um eine solche Antiregelwelt zu erzeugen, kann man die Regeln in Form eines Schalterfeldes darstellen:

0 1 2 3 4 5 6 7 8
G                  
T                  
  • G steht für geboren.
  • T steht für sterben.

Die folgende Belegung bedeutet, dass bei drei Nachbarn eine tote Zelle lebendig wird und eine lebende Zelle bei keinem oder einem sowie bei vier bis acht Nachbarn stirbt und ansonsten der Zustand einer Zelle unangetastet bleibt:

Conway-Regeln
0 1 2 3 4 5 6 7 8
G                  
T                  

Wenn man die Zustände des Schalterfelds um 180° rotiert (nicht spiegelt oder kippt), erhält man die Antiregeln:

Anti-Conway-Regeln
0 1 2 3 4 5 6 7 8
G                  
T                  

Alternative Regel-Bezeichnung[Bearbeiten]

Regel-Bezeichnung Kommentar
3/3 G3
13/3 1G3
23/3 2G3 Conways Original-Game of Life
34/3 4G3
35/3 5G3
236/3 26G3 explodierend, teilweise mit den Strukturen aus 23/3
135/35 1G35 erweitertes 13/3
1357/1357 G1357 ein Kopiersystem, wobei jeweils eine einzige kleine Struktur wunderbare Muster hervorzaubern kann
24/35
Anti-Regeln Kommentar
01234678/0123478 6G0123478 Anti-Conway
01234678/0123678 4G0123678 Anti-4G3
02468/02468 G02468 Anti-Kopiersystem


Ineinander übergehende Regelwelten[Bearbeiten]

Denkbar sind "Game of Life"-Simulationen, bei denen abgegrenzte Bereiche (zum Beispiel linke und rechte Seite) jeweils einer anderen Regelwelt unterzogen werden. Dabei könnte man sich bewegende Wanderer, die in beiden Regelwelten existieren können, aufspüren.

Siehe auch[Bearbeiten]

Das w:Hacker-Emblem nach w:Eric Steven Raymond ist der Gleiter aus Conways Game of Life.