Gymnasium Marktbreit/Wissenschaftswoche 2024/11aMatheInfo/Arbeitsgruppe 2/Conways Spiel des Lebens: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung Markierungen: Manuelle Zurücksetzung Visuelle Bearbeitung |
Keine Bearbeitungszusammenfassung |
||
(13 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 8: | Zeile 8: | ||
Das Spiel folgt insgesamt 4 Regeln. | Das Spiel folgt insgesamt 4 Regeln. | ||
1. Wenn eine Zelle 1 oder 0 Nachbarn hat, stirbt sie, sozusagen an Unterpopulation | 1. Wenn eine Zelle 1 oder 0 Nachbarn hat, stirbt sie, sozusagen an Unterpopulation. | ||
2. Wenn eine Zelle 4 oder mehr Nachbarn hat, stirbt sie, sozusagen an Überpopulation | 2. Wenn eine Zelle 4 oder mehr Nachbarn hat, stirbt sie, sozusagen an Überpopulation. | ||
3. Wenn eine Zelle 2 oder 3 Nachbarn hat, überlebt sie. | 3. Wenn eine Zelle 2 oder 3 Nachbarn hat, überlebt sie. | ||
Zeile 56: | Zeile 56: | ||
''' | '''Bewegend''' | ||
[[Datei: | [[Datei:Glider Conway.gif|links|mini|Ein sog. "glider", der sich diagonal bewegt|200x200px]] | ||
Zeile 71: | Zeile 73: | ||
''' | '''Verschwindend''' | ||
[[Datei: | [[Datei:1x1 Conway.gif|links|mini|200x200px|Eine 1x1 Formation, die verschwindet]] | ||
Zeile 94: | Zeile 97: | ||
# Es wird eine Liste aller lebenden Zellen erstellt und zu jeder Zelle die zugehörigen Nachbarn ausfindig gemacht. | # Es wird eine Liste aller lebenden Zellen erstellt und zu jeder Zelle die zugehörigen Nachbarn ausfindig gemacht. | ||
#Auf Grundlage der Anzahl der Nachbarn wird dann entschieden, ob eine Zelle im nächsten Zyklus weiterleben wird oder stirbt. | #Auf Grundlage der Anzahl der lebenden Nachbarn wird dann entschieden, ob eine Zelle im nächsten Zyklus weiterleben wird oder stirbt. | ||
#Jetzt werden die einzelnen Nachbarn der lebenden Zellen examiniert und gegebenenfalls zum Leben erweckt, wenn sie die 4. Regel erfüllen. | #Jetzt werden die einzelnen Nachbarn der lebenden Zellen examiniert und gegebenenfalls zum Leben erweckt, wenn sie die 4. Regel erfüllen. | ||
#Die Liste mit den "neuen" Zellen, die sich sozusagen bewiesen haben, wird als Ergebnis des Algorithmus an das Programm weitergegeben. | #Die Liste mit den "neuen" Zellen, die sich sozusagen bewiesen haben, wird als Ergebnis des Algorithmus an das Programm weitergegeben.<ref>https://www.youtube.com/watch?v=YDKuknw9WGs</ref> | ||
3. | 3. Die zufällige Auswahl einer Zahl zwischen 0 und 255 für jeweils den Rot-, Grün, und Blauwert der Färbung einer lebenden Zelle ist für die Vielzahl verschiedener Farben verantwortlich. | ||
Aktuelle Version vom 5. Juli 2024, 07:04 Uhr
Einführung
Das "Game of Life" (Spiel des Lebens) ist ein zellulärer Automat, der 1970 von dem Mathematiker John Horton Conway entwickelt wurde. Das Spielfeld besteht aus einer zweidimensionalen Gitterfläche, auf der jede Zelle entweder "lebendig" oder "tot" ist. Der Zustand jeder Zelle in der nächsten Generation hängt von den Zuständen ihrer acht benachbarten Zellen ab. [1]
Spiel
Regeln
Das Spiel folgt insgesamt 4 Regeln.
1. Wenn eine Zelle 1 oder 0 Nachbarn hat, stirbt sie, sozusagen an Unterpopulation.
2. Wenn eine Zelle 4 oder mehr Nachbarn hat, stirbt sie, sozusagen an Überpopulation.
3. Wenn eine Zelle 2 oder 3 Nachbarn hat, überlebt sie.
4. Jedes Quadrat, welches 3 Nachbarn hat und noch unbelebt ist, wird zu einer Zelle.[2]
Strukturen
Diese Regeln führen zu einer Vielzahl von Mustern und Strukturen, die über zellulare Generationen hinweg auf dem Gitter erscheinen können. Einige Muster bleiben stabil, manche oszillieren zwischen verschiedenen Zuständen, andere bewegen sich über die Spielfläche und wieder andere verschwinden gänzlich.
Beispiele für die verscheidenen Muster:
Stabil
Oszillierend
Bewegend
Verschwindend
Einblick in die Programmierung
Das in Python geschriebene Programm basiert auf der library "pygame" und die Konvertierung zu einer .exe-Datei erfolgte mithilfe von "cx_Freeze". Wenn das Programm ausgeführt wird, werden folgende Schritte getätigt:
1. Eine Generation aus einer zufälligen Anzahl von Quadraten an zufälligen Orten im Koordinatensystem wird erstellt.
2. Sobald der Nutzer das Spiel per Leertaste gestartet hat, wird in Intervallen von je ca. 1s ein Algorithmus mit folgenden Aktionen durchgeführt:
- Es wird eine Liste aller lebenden Zellen erstellt und zu jeder Zelle die zugehörigen Nachbarn ausfindig gemacht.
- Auf Grundlage der Anzahl der lebenden Nachbarn wird dann entschieden, ob eine Zelle im nächsten Zyklus weiterleben wird oder stirbt.
- Jetzt werden die einzelnen Nachbarn der lebenden Zellen examiniert und gegebenenfalls zum Leben erweckt, wenn sie die 4. Regel erfüllen.
- Die Liste mit den "neuen" Zellen, die sich sozusagen bewiesen haben, wird als Ergebnis des Algorithmus an das Programm weitergegeben.[3]
3. Die zufällige Auswahl einer Zahl zwischen 0 und 255 für jeweils den Rot-, Grün, und Blauwert der Färbung einer lebenden Zelle ist für die Vielzahl verschiedener Farben verantwortlich.