Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ws1920:zellulaere_automaten

Dies ist eine alte Version des Dokuments!


Zelluläre Automaten [WS19/20]

Projektteilnehmer: Hanna, Mazal, Richard, Leroy und (Lars)

Grundidee:

Im Allgemeinen haben wir uns sehr für verschiedene Simulationen interessiert, wie zum Beispiel der Stau- oder Fluchtsimulationen. Beides sind Zelluläre Automaten. Die Grundidee von Zelluläre Automaten ist, dass bei einem Feld von toten und lebendigen Zellen, welches sich mit jedem Zeitschritt verändert, die neue Generation von der vorherigen abhängig ist. Dabei bestimmt der Zustand einer Zelle und die Zustände ihrer Nachbarn, ob diese Zelle im nächsten Zeitschritt lebt oder stirbt.

Unser Projekt:

Durch unsere Faszination für Zelluläre Automaten, sind wir auf das Game of Life vom Mathematiker John Conway gestoßen. Dieser Zelluläre Automat richtet sich nach folgenden Regeln um die nächste Generation zu bestimmen:

  1. Eine tote Zelle mit drei lebenden Nachbarn wird im nächsten Zeitschritt lebendig
  2. Eine lebende Zelle mit weniger als zwei lebenden Nachbarn wird im nächsten Zeitschritt zu einer toten Zelle
  3. Eine lebende Zelle mit zwei oder drei lebenden Nachbarn wird im nächsten Zeitschritt lebendig
  4. Eine lebende Zelle mit mehr als drei lebenden Nachbarn wird im nächsten Zeitschritt zu einer toten Zelle

Unser Game of Life richtet sich nach diesen Regeln. Zusätzlich haben wir verschiedene Anfangskonfigurationen eingerichtet. Man kann auswählen zwischen einer zufällig Generierten, einer Alternierenden oder eine durch das Einlesen von Bildern oder Matrizen entstehende Konfiguration. Die Größe des Spielfeldes kann man festlegen und eine zufällige wechselnde Colormap bestimmt die Farbe. Es gibt außerdem die Möglichkeit während des Spiels, durch die Nutzung der Maus, den Zustand mehrere Zellen zu wechseln und durch die Nutzung der Leertaste das Spiel zu stoppen.

Protokolle:

Finaler Code:

Dokumentierter Code(finale Version)

Fazit:

Wir sind sehr zufrieden mit unserem Endergebnis. Unsere Gruppendynamik hat es uns erlaubt unsere Ziele nach und nach zu erarbeiten. Wir haben die Zeit im Labor optimal genutzt und so kann unser Programm jetzt fast alles, was wir uns vorgenommen hatten. Als Verbesserungsvorschlag an unseren Code hätten wir uns gewünscht, dass man nicht nur periodische Randbedingungen und auch nicht quadratische Matrizen hätte verwenden können.

**Hinweise von Stefan Born**

ws1920/zellulaere_automaten.1585509523.txt.gz · Zuletzt geändert: 2020/03/29 21:18 von Labo