Hinweise von Stefan Born Es ist lehrreich, das komplett selbst zu programmmieren. Dann sind die Automaten erst mal vergleichsweise langsam. Wenn du darauf achtest, dass die Zustände in einem numpy-Array gespeichert werden und die Programmierung schön modular ist, so dass das Zustandsupdate eine Methode/Funktion ist wäre es leicht, in einer zweiten Stufe, diese Funktion auszulagern und als Cython zu kompilieren. Das wurde schon mal für das Game-of-Life schon einmal gemacht, und es bringt einen Geschwindigkeitsgewinnfaktor 50-100. - Es gibt auch einige Python-Pakete, die man verwenden könnte, einige davon mit Multiprocessing-Unterstützung. - Die schnellsten Implementierungen verwenden die Graphikkarte für die eigentlichen Zustandsupdates, du kannst etwa mal nach Vispy + Game of Life suchen. Das ist keine Hexerei, aber natürlich noch eine andere Sprache (ein C-Dialekt), den man verstehen müsste. Vispy erlaubt, diesen C-Dialekt von Python aus an die Graphik-Karte zu schicken. - Selbst mit einer klassischen Game of Life ließen sich interessante (und 'neue') Ziele formulieren: Wenn der Simulator erst mal da ist, kann man nach interessanten Konstellationen suchen: – periodisch mit Periode N - 'Guns', also nach N Schritten sich reproduzierend mit zusätzlicher Produktion von einem neuen Objekt. - Gleiter (reproduziert sich nach N Schritten an einem anderen Ort). Eine Frage, die ich mir mal gestellt und nicht beantwortet habe: Das Game-of-Life ist, wie ich zu wissen glaube, Turing- vollständig. Wie realisiert man eine logische Schaltung mit Hilfe des GoL?