Leben und Nachbarschaft

Anders als beim Game of Life definieren wir Individuen nicht durch einzelne Zellen, sondern wir definieren eher eine Art Leben durch Bereiche bzw. Kreise mit Radius . Die Nachbarschaft besteht nun aus einem Kreisring mit Innenradius sowie Außenradius , wie die folgende Abbildung veranschaulicht:

Für jede Zelle bestimmen wir daher - bezogen auf den Simulationsschritt - zwei Werte:

  • Der Wert beschreibt die gewichtete Summe der Zellen (bzw. den Anteil der Zellen), die sich innerhalb des Kreis (mit Mittelpunkt ) befinden.
  • Der Wert beschreibt die gewichtete Summe der Zellen (bzw. den Anteil der Zellen), die sich innerhalb des Kreisringes (mit Mittelpunkt ) befinden.

Um dies algorithmisch zu berechnen, beschreiben wir Kreis sowie Kreisring durch sogenannte (diskrete und normierte) Filter, die nichts anderes sind als quadratische Matrizen. Die Werte und sind dann die diskreten Faltungen, welche als gewichtete Summen bestimmt werden. Aufgrund der Normierung der Filter werden und stets Werte zwischen 0 und 1 annehmen.

Exkurs

Das zuvor beschriebene Vorgehen ist eine Diskretisierung der Integrale

und

Mit anderen Worten: Die Faltungen sind Diskretisierungen dieser beiden Integrale.

Quellcode
Ohne auf den Quellcode im Detail einzugehen: Bestimmt und ausgegeben werden die diskreten und normierten Filter in Abhängigkeit des Radius.
Quiz
Faltungen