Aristotle University, 54124, Thessaloniki, Greece
In 1952, Alan Turing who is considered as a father of Computer Science, based on his previous scientific research on the theory of computation, he emphasized how important is the analysis of pattern formation in nature and developed a theory. In his theory, he described specific patterns in nature that could be formed from basic chemical systems. Turing in his previous studies in the theory of computation, he had constantly worked on symmetrical patterns that could be formed simultaneously and realized the necessity for further analysis of pattern formation in biological problems. However, it was until the late 1960s, when John Conway was the first to introduce the "Game of Life", an innovative mathematical game based on cellular automata, having a purpose to utilize the fundamental entities, called as cells, in two possible states described as "dead" or "alive". This paper tries to contribute to a better understanding of the "Game of Life" by implementing algorithmic approaches of this problem in PASCAL and Python programming languages. Also, inside the paper numerous variations and extensions of the Conway's Game of Life are proposed that introduce new ideas and concepts. Furthermore, several machine learning algorithms to learn patterns from large sets of Game of Life simulations and generate new rules or strategies are described in detail.
The article is distributed under the Creative Commons Attribution 4.0 License. Unless otherwise stated, associated published material is distributed under the same licence.
The statements, opinions and data contained in the journal are solely those of the individual authors and contributors and not of the publisher and the editor(s). We stay neutral with regard to jurisdictional claims in published maps and institutional affiliations.