Randbedingungen

Die acht angrenzenden Zellen einer ausgewählten Zelle werden auch als Nachbarzellen bzw. zusammengefasst als Nachbarschaft bezeichnet. Was wir allerdings noch klären müssen, ist die Nachbarschaft von Zellen, die sich am Rand des Spielfeldes befinden:

Bei allen Zellen am Rand des Spielfeldes befinden sich einige der Nachbarzellen zwangsläufig außerhalb des Spielfeldes. In diesen Fällen nutzen wir sogenannte periodische Randbedingungen: Ist beispielsweise die untere Nachbarzelle nicht mehr im Spielfeld enthalten, so wird hier die oberste Zelle in der gleichen Spalte als Nachbarzelle angesehen. Analog gilt dies auch für die anderen Ränder (und Ecken) des Spielfeldes.

Was damit genau gemeint ist, zeigt die folgende Veranschaulichung. Dargestellt sind zwei Spielfelder, wobei jeweils die Nachbarschaft einer Zelle hervorgehoben wurde:

Man spricht an dieser Stelle von periodischen Randbedingungen, da sich dadurch kein abgeschlossenes System sondern ein sogesehen unendlich großes Spielfeld mit sich wiederholenden Strukturen ergibt.

Codebeispiel

Periodische Randbedingungen sind nicht nur für die Simulation durchaus sinnvoll, sondern sie können unter Verwendung des Prozent-Operators auch geeignet implementiert werden:

Zur Referenz

Wie dies entsprechend umgesetzt werden kann, zeigt der folgende Quellcode anhand einer textuellen Ausgabe.

Quellcode
Beispiel, um insbesondere die Umsetzung der periodischen Randbedingungen unter Verwendung des Prozent-Operators zu verstehen.
Codingaufgabe

Schaue dir den Befehl calculate_N im Quellcode zuvor genau an: Der Befehl bestimmt für jede Zelle die Anzahl der Individuen in der jeweiligen Nachbarschaft und speichert diese im zweidimensionalen Datenfeld N ab.

Die wenigen Zeilen Quellcode sind durchaus etwas trickreich und nicht einfach zu verstehen. Versuche dennoch, diese nachzuvollziehen. Überprüfe den Befehl stichprobenartig anhand der textuellen Ausgabe.

Quiz
Algorithmische Beschreibung