Conways Spiel des Lebens - Replikator

Das Spiel des Lebens (engl. Conway's Game of Life) ist ein vom Mathematiker John Horton Conway 1970 entworfenes System, basierend auf einem zweidimensionalen zellulären Automaten. Der Hintergrund dazu ist die ursprüngliche Conway Regel 3/23, die besagt, dass:
  1. eine tote Zelle zum Leben erwacht, wenn sie genau 3 (von möglichen 8) lebende Nachbarzellen hat, und
  2. eine lebende Zelle am leben bleibt, wenn sie 2 oder 3 lebende Nachbarzellen hat und in allen andern Fällen stribt.
Unter wikipedia sind weitere Regeln und Besonderheiten ausführlich erklärt.

Bereits im Jahr 1995 erstellte ich dazu ein FORTRAN77-Programm, wobei direkt auf den DOS-Screen mit Escape-Sequenzen geschrieben wurde. Heute ist das nicht mehr zeitgemäss.

Angeregt durch einen Beitrag Vermehrungsfähige Maschinen von Jean-Paul Delahaye im Spektrum der Wissenschaft 05-2012 entwickelt ich eine neue Version. Insbesondere war dabei der von Edward Fredkin, Serafino Amoroso und Gerald Cooper entdeckten Replikator-Ansatz (1357/1357) der Antrieb: einen zellulären Automaten namens Replicator, der von jeder beliebigen noch so komplexen Struktur perfekte Kopien erzeugt:

In meiner Version kann man dies durch den Aufruf von "bild" (der zungenstreckende A.Einstein) nachverfolgen. Dabei kommen die Kopien in der 32-fachen Generationen zum Vorschein.

Die JavaScript-Version von mc santa diente dabei als Grundlage. Diese modifizierte und erweiterte ich auf den Ansatz von Fredkin für einen Bildschirm von (1800x900) Auflösung und einer Zellgrösse von 3 Pixel.

Bereits diese Version GameOfLifeRep beansprucht einiges an Rechenzeit, müssen doch pro Generation 200x400x8 = 640'000 Berechnungen gemacht werden. Leider läuft sie in der aktuellen Version von MS-Edge nicht und unter MS-InternetExplorer11 nur sehr mangelhaft, jedoch unter Firefox, Opera und GoogleChrome akzeptabel.
Eine kleinere Version GameOfLifeRepT mit 190x250 Zellen (380'000 Vergleiche pro Generation) ist auch für Tablets und den Browsern Opera und Internet-Android geeigent.

Leider werden in der heutigen Version der Browser und durch die übernahme durch Oracle von Java auch Java-Applets nicht mehr unterstützt, sodass eine schnellere Lösung programmiert in Java nicht mehr in Aussicht steht.