The simplest Python program simulating a cellular automaton model of a complex system: the 'Game of Life'.
Abstract
This open-source program serves as an introduction into complex systems modeling. The GoL was developed by John Conway in the 70ies, and it gained a huge attention by both researchers and mathematical enthusiasts. In the past, such programs designed in some higher-level programming language can easily exceed thousands of code lines. This program has about one hundred lines within which defines updating rules, visualize the lattice, and even save the animation. Everyone who is starting to model and understand complex systems modeling will benefit from the simplicity and clarity of the program. The code contains many comments in order to enable newcomers to follow in detail all its functions and to modify them according to their own preferences and needs. The chosen approach allows non-specialists along with all those who just want to passively understand the methodology to dive into this non-sequential way of thinking quite easily. The way of cellular automata modeling is very tightly related to massively parallel thinking, which is a bit tricky to newcomers. All what must be understood about those models is that the surrounding world (CA lattice) is observed and interacted with from each cell independently. This means that the rule of thumb of all CA modeling is to update all variables within the updated cell centripetally, and do not change any values outside it. Another important feature of CA modeling is the necessity to work with the old and new layers of the updated lattice, which are periodically switched. This allows us to overcome the unsolvable problem of the sequential updating of all cells within just one lattice, when it would be used instead. In such case, cells would be updated sequentially, one-by-one: cells containing new and old data will become mixed up in the same lattice. This is really something that we do not want to have in any CA model in the first place. Each initial configuration must be inserted into the Python program manually within its beginning: coordinates defines the live cells having the value equal to one. Complicated configurations can be quite difficult to insert because the loading of the initial configuration into the program was sacrificed due to the extra effort to keep it simple and easy to understand. Literature and all necessary programming resources are listed in the README file. This program is designed as the methodical one. When the program is used, it must be cited as stated in the 'README-GoL.txt' file along with one of the recommended optional papers.
Files (10)
... This had been proven in the 'Game of Life' [16,17], which can principally simulate anything that we are currently able to compute by current computers [19]. See the animation of AND logic gate using glider guns emitting colliding streams of gliders, which is provided at the software [20,21,22] and snapshots in Fig. 1. Similarly, OR and NOT logic gates can be emulated in the GoL, see animations in [20] and links there. ...
... See the animation of AND logic gate using glider guns emitting colliding streams of gliders, which is provided at the software [20,21,22] and snapshots in Fig. 1. Similarly, OR and NOT logic gates can be emulated in the GoL, see animations in [20] and links there. To provide an example of the flexibility of the CA method, the evaluation of partial differential equations where a differentiation scheme is implemented by a rule within a CA is shown in [23,24]. ...
... A sequence of snapshots, which is depicting the AND logic gate, that is taken at steps 0, 10, 49, 88, 200, and 300. Animations of AND, OR, and NOT logic gates are available at the link [20], and related data. ...
The current frontiers in the description and simulation of advanced physical and biological phenomena observed within all scientific disciplines are pointing toward the importance of the development of robust mathematical descriptions that are error resilient. Complexity research is lacking deeper knowledge of the design methodology of processes that are capable to recreate the robustness, which is going to be studied on massive-parallel computations (MPCs) implemented by cellular automata (CA). A simple, two-state cellular automaton having an extremely simple updating rule, which was created by John H. Conway called the ’Game of Life’ (GoL) is applied to simulate and logic gate using emergents. This is followed by simulations of a robust, generalized GoL, which works with nine states instead of two, that is called R-GoL (open-source). extra states enable higher intercellular communication. The logic gate is simulated by the GoL. It is destroyed by injection of random faulty evaluations with even the smallest probability. The simulations of the R-GoL are initiated with random values. several types of emergent structures, which are robust to injection of random errors, are observed for different setups of the R-GoL rule. The GoL is not robust. The R-GoL is capable to create and maintain oscillating, emergent structures that are robust under constant injection of random, faulty evaluations with up to 1% of errors. The R-GoL express long-range synchronization, which is together with robustness facilitated by designed intercellular communication. ..... ...... ..... ..... (Software & video links available at the file Software-and-animation-links-to--r-GoL.txt, see below)
... This had been proven in the 'Game of Life' (Gardner, 1980;Wikipedia, 2021), which can principally simulate anything that we are currently able to compute by current computers (Wainwright, 1974). See the animation of AND logic gate using glider guns emitting colliding streams of gliders, which is provided at the software (Kroc, 2021;Sundnes, 2010;Langtangen, 2016) and snapshots in Fig. 1. Similarly, OR and NOT logic gates can be emulated in the GoL, see animations in (Kroc, 2021). ...
... See the animation of AND logic gate using glider guns emitting colliding streams of gliders, which is provided at the software (Kroc, 2021;Sundnes, 2010;Langtangen, 2016) and snapshots in Fig. 1. Similarly, OR and NOT logic gates can be emulated in the GoL, see animations in (Kroc, 2021). To provide an example of the flexibility of the CA method is the evaluation of partial differential equations where a differentiation scheme is implemented by a rule within a CA (Toffoli, 1984;Vichniac, 1984). ...
... The GoL has only two states: alive (one, black) and dead (zero, white). The number of cells within its neighborhood in the state of one is counted, and the following rule is applied (Kroc, 2021), see Table 2. Table 2: A list of all inputs that are affecting the evolution of each cell's state within the lattice in the GoL is provided bellow along with their biological interpretation. This rule is having just the right combination of survival and birth rates to express complex behavior (Kroc, 2021 ). ...
>>> Read the improved, published version with links to the Python software and animations here: https://www.researchgate.net/publication/361818826_Robust_massive_parallel_information_processing_environments_in_biology_and_medicine_case_study <<< ...... The current frontiers in the description and simulation of advanced physical and biological phenomena observed within all scientific disciplines are pointing directly toward the importance of development of robust mathematical descriptions that are error resilient. Complexity research is lacking deeper knowledge of the design methodology of processes that are capable to recreate the robustness. The first, introductory part of the paper provides a concise introduction into this difficult research area to non-specialists. This is followed by the second part, which is focusing on a description, that is providing a certain level of the desired robustness. The first part is describing the basic principles of massive-parallel computations (MPC) that are demonstrated on a simple cellular automaton having an extremely simple updating rule, which was created by John H. Conway: the 'Game of Life' (aka the GoL). This allows us to enter the second, research part dealing with a simple CA rule, which is a generalization of the GoL, that is possessing an increased robustness against errors along with a very interesting set of emergent structures that are expressing longrange synchronization.
ResearchGate has not been able to resolve any references for this publication.