Variations on Conway s Game of Life and Other Cellular Automata. David Hua and Martin Pelikan

Size: px
Start display at page:

Download "Variations on Conway s Game of Life and Other Cellular Automata. David Hua and Martin Pelikan"

Transcription

1 Variations on Conway s Game of Life and Other Cellular Automata David Hua and Martin Pelikan Research Paper Presented to the Students and Teachers as Research Scientists Program at the University of Missouri-St. Louis Sponsored by LMI Aerospace, Inc./D3 Technologies and The Solae Company July 212 Abstract Cellular automata, like Conway's game of life, are computational models that use a set of simple rules and initializations to create a changing environment of cells over time, and can result in complex behaviors that make them suitable for simulating systems in a range of scientific and mathematical fields. A C++ program was used to test for the effects of initializations on the population dynamics of the game of life and several variants. Statistical results suggest the existence of a range of population patterns spanning very different automata, some of which are similar to ecological patterns, and additional lifelike phenomena when more cell types are involved.

2 Variations on Conway s Game of Life and Other Cellular Automata Abstract Cellular automata, like Conway's game of life, are computational models that use a set of simple rules and initializations to create a changing environment of cells over time, and can result in complex behaviors that make them suitable for simulating systems in a range of scientific and mathematical fields. A C++ program was used to test for the effects of initializations on the population dynamics of the game of life and several variants. Statistical results suggest the existence of a range of population patterns spanning very different automata, some of which are similar to ecological patterns, and additional lifelike phenomena when more cell types are involved. 1 Introduction Cellular automata (Codd, 1968; von Neumann, 1966; Weisstein, n.d.) are simulations in which a set of parameters and starting conditions produce an evolving environment. These simulations have several similarities: they involve a grid of cells, each with a state; they change over a series of discrete time steps; and they evolve based on rules describing how each cell interacts with its neighbors. The type of grid, the rules, and the number of possible states vary among cellular automata. The complex behaviors cellular automata exhibit allow them to simulate a wide variety of systems and computations, including computer programs and systems in theoretical biology, physics and mathematics. Cellular automata can also be used to demonstrate and simulate emergence, self-organization and self-replication. A wellknown cellular automation is Conway's game of life (Gardner, 197), which is capable of producing complex results such as various cell structures that can move across the grid or oscillate between states. Some of the more recent studies involving cellular automata include Wolfram (22) and Zenil (21). The objectives of the project are twofold: (1) gain basic programming skills to enable implementation of simple cellular automata, and (2) use these skills to implement and study a simulation of Conway's game of life and its variants. To gain programming skills, the programming language C++ was used to study programming concepts through a series of increasingly complex problems from mathematics and number theory. In the simulations of cellular automata, the effects of different initial parameters and rules on the behavior of the simulation were analyzed. The remainder of the paper is organized as follows. Section 2 will describe Conway's Game of Life and its variations. Section 3 will present the various parameters and variants that were tested. Section 4 will include a summary and conclusions. Appendix A will outline the programming concepts studied during this project and present some of the programming problems considered. 2 Conway's Game of Life The purpose of this section is to provide an overview of the game of life and introduce the relevant variables and variations to be tested. Section 2.1 will explain the rules of the game of life and discuss its general behavior. Section 2.2 will present some variations on the original rules of this automaton. Section 2.3 will introduce the scenarios and variables that will be examined in this study. 2.1 Life John Conway s game of life (Gardner, 197) is a cellular automaton with rules resembling the multiplication of real organisms and their intolerance for underpopulation and overpopulation. As with other cellular automata, the game of life takes place on a finite dimensional lattice (in this case, a twodimensional grid). Cells are considered to be neighbors if they are diagonally adjacent, so each cell has a total of eight neighbors. Each cell is in one of two states: live or dead. The rules for the simulation are as follows:

3 1. A dead cell becomes alive if it has exactly 3 alive neighbors (reproduction). 2. A living cell with more than 3 alive neighbors or fewer than 2 alive neighbors becomes a dead cell (overpopulation or underpopulation). 3. Otherwise, the cell remains in the original state. Therefore, a dead cell with fewer than 3 alive neighbors or more than 3 alive neighbors remains dead; a living cell with 2 or 3 alive neighbors remains alive. These changes occur simultaneously without affecting each other. Among the main motivations for these rules was the desire to create a system that share similarities with biological systems and provides a range of interesting behaviors that are not easy to predict despite the simplicity of the basic rules. The structures such a simulation can produce include static, stable structures of living cells that do not change over time, oscillating structures that change between two or more forms with a fixed period, and structures that appear to move in a certain direction while maintaining the basic shape. In our simulations, we assume that the neighborhoods wrap around (the cells in the top row are neighbors of the corresponding cells in the bottom row and analogically for the left-most and right-most columns); therefore, the world is assumed to be a torus, not a conventional two-dimensional grid. Figure 1. An example 5-by-5 world in two consequent time steps. In the example world shown in Figure 1, Conway s rules are applied to a five-by-five world in which each asterisk (symbol * ) represents a living cell. The cells on the upper left and lower right are neighbors, but do not have the required two or three total to survive. Meanwhile, the cells marked in red each have a total of three neighbors, allowing them to become living cells in the next time interval. 2.2 Variants While the standard set of rules for the game of life is popular and results in a range of interesting behaviors, one may modify the rules to produce radically different behaviors (Wójtowicz, 21). All of these variations specify two main parameters: (1) the condition for a dead cell to become alive, and (2) the condition for a living cell to survive; at least one of these conditions is expected to be different from the original rule set. The variations can be categorized into several categories. Conway s game of life and similar variations are known as chaotic cellular automata for their unpredictability and dynamics. These rule sets are able to create the moving structures that are so prominent in Conway s rules. Meanwhile, other rule sets create worlds that grow into stable, predictable patterns that change very little and often become completely static. A wide range of possibilities is available when additional living states are available. The original game of life rules can apply similarly as before, but the rules can define the color of newborn cells and can be modified even further to account not only for the number of living neighbors but also for their color (state). One possibility is to create a new cell based on the cell type that is more common among neighbors when the cell is born (becomes alive). Alternatively, the two cell types may have different behaviors altogether.

4 2.3 Scenarios Testable parameters for cellular automata involve the initialization variables and the rule set. In the simulation program created for the project, the starting independent variables include the world size, the initial concentration of living cells, and the number of states. The initial concentration determines the expected percentage of living cells in the first time step. These cells are distributed throughout the world using a pseudo-random number generator that makes each cell alive with a specified probability (concentration). Since the initialization is stochastic, multiple runs of the simulation are performed, each with a different initial distribution of the living cells. As described above, rules with more than one living state can feature interactions between species or groups. Scenarios include symmetrical rules where each living state operates the same way or rules in which cell types propagate differently. 3 Simulations The objective of the simulations was to study the range of behaviors that the game of life and its variations can exhibit. To accomplish this, a C++ program was implemented that simulates the game of life and provides both the world states as well as the statistics of the simulations. The statistics describe the effects of the initial concentration of living cells on the percentage of the world that contains living cells at each time step and the percentage of cells that have changed states since the last time step. The resulting averages are based upon the results of a simulation running on a 2 by 2 world arranged on a torus, with 5 independent runs for each setting. The program is initialized with a living cell concentration of every multiple of 1% from 1% to 9%, and for each initialization setting, the simulation is run for 1 time steps. As mentioned above, the rules for game of life and similar cellular automata can be divided into several categories. First, there are rules with varying numbers of possible states, allowing for differing degrees of complexity. Among the two-state rules, there are rules with high levels of continuous activity (chaotic automata) and rules that tend to be more static or stable. 3.1 Single-State Rules Life and Other Chaotic Rule Sets Conway s Game of Life One of the interesting questions when studying the game of life and its variations is concerned with the effects of the initialization parameters on the dynamics of the world. One of Conway s original goals in designing the original set of rules was to prevent the cells from dying out too rapidly and to prevent populations from growing uncontrollably. Of course, extremely underpopulated and overpopulated worlds would still be often expected to die out quickly, due to the underpopulation and overpopulation, respectively. A series of experiments were performed to verify whether the original rule set ensures this design principle in practice. As shown in Figure 2, each initialization between 2% and 6% causes the living cell percentage to drop before gradually becoming less steep and appearing to approach a horizontal asymptote, indicating a stable state. However, despite the wide range of values in the first time step, the graphs for each initial concentration approach similar asymptotes, reaching approximately a 1% concentration of living cells by time 1.

5 Population Level Over Time Initial: 2% - 6% 7 6 % Living Cells % 3.% 4.% 5.% 6.% 1 Figure 2. The initial concentrations between 2% and 6% for the original rule set of the game of life appear to converge to approximately the same concentration of the living cells regardless of the initial proportion. However, the same cannot be said about other initializations. The concentrations of 1% and 7% (shown in Figure 3) lead to stable states with different final concentrations, while the initial concentrations of 8% and 9% predictably result in the world consisting of nearly no living cells due to overpopulation.

6 Population Level Over Time Initial: 1%, 7% - 9% % Living Cells % 7.% 8.% 9.% Figure 3. The initial concentrations of 1%, 7%, 8%, and 9% for the original rule set of the game of life result in different states than concentrations between 2% and 6%. The rates of change follow a similar pattern for a broad range of initial concentrations. As shown in Figure 4, all initializations between 2% and 6% initially have high rates of change but eventually approach the same rate of change of approximately 8%. Meanwhile, the remaining initializations (shown in Figure 5) similarly have a high initial rate of change but dropped to zero (when the population died out) or continued at a very low level.

7 Rate of Change Over Time Initial: 2% - 6% 6 % Change From Previous % 3.% 4.% 5.% 6.% Figure 4. The rate of change for the original rule set of the game of life approaches approximately the same value for a broad range of initial concentrations. Rate of Change Over Time Initial: 1%, 7%-9% 1 9 % Change From Previous % 7.% 8.% 9.% Figure 5. The rate of change for very high or low initial concentrations quickly reaches zero or a very low value.

8 The actual behavior of the game of life is interesting also because a wide range of structures form regularly. Overall, areas of cells tend to coalesce into mobile masses of cells, like the one pointed out in Figure 5. These masses are constantly changing, occasionally forming symmetrical, exploding patterns. As the masses of cells move, they leave in their wake a variety of other structures. The two or three neighbor survival rule of the game of life allows certain structures of living cells to remain static, with each cell positioned to have 2 or 3 living neighbors. A common example is the block of 4 cells seen in Figure 6. Also common are the oscillator structures, such as a line of 3 cells (horizontal or vertical), with dead cells around it. These structures do change over time in a series of repeating changes. Figure 6. Interesting structures created in simulations of the 2x2 game of life with the original rule set. The results for a range of initializations suggests that a broad range of initial configurations lead to a similar behavior with a variety of interesting static and dynamic structures, but that extreme concentrations yield a much less interesting scenario where the world becomes overly simple (consisting of mostly dead cells). There appears to be no single concentration that would lead to the highest stable concentration of cells. The initializations that did not behave in this manner likely lacked a necessary starting population to reproduce enough or were so overpopulated that the worlds could not recover from the initial population drop. The similar asymptotes that the population graphs approach are reminiscent of the way populations of organisms reach equilibrium, where the population remains constant at a level that consumes just the right amount of resources to sustain itself. The rules of the game of life, which punish overpopulation and underpopulation, are the main cause for the simulation to stabilize at similar optimum levels.

9 Day and Night Rule Set The day and night rule set, proposed by Nathan Thompson in 1997 (Bell, 1997), is a game of life variant in which groups of living cells exhibit the same behavior as groups of dead cells among a background of living cells. In this cellular automaton, a living cell survives if it has 3, 4, 6, 7, or 8 neighbors and a dead cell becomes alive when it has 3, 6, 7, or 8 neighbors (otherwise, a cell remains in the same state). Although the day and night rule set is classified as a chaotic cellular automaton, it behaves very differently from Conway's original rules because of its unique properties. Figure 7 shows that the population dynamics of this rule set are unusual in that each initialization leads quickly to a different stable point. The rates of change also vary among initializations, as seen in Figure 8. In addition, all versions of the simulation show a constant decrease in rate of change. Population Level Over Time % Living Cells % 2.% 3.% 4.% 5.% 6.% 7.% 8.% 9.% Figure 7. The concentrations of living cells for the day and night rule set quickly stabilize at different values, depending on the initial concentration. This behavior significantly differs from the standard set of rules for the game of life. Rate of Change Over Time % Change From Previous Time % 2.% 3.% 4.% 5.% 6.% 7.% 8.% 9.% Figure 8. In most cases, the rates of change for the day and night rule set changes rapidly based on the initial concentration of living cells.

10 The cellular activity explains the varying optimum population levels. At the start, there is no dramatic population decrease. Instead, the chaotic structures gradually coalesce into large regions of living or dead cells (see Figure 9) with constantly shifting boundaries and activity that mirrors that of other regions. Figure 9. One of the common outcomes for the day-and-night rule set, in which living cells and dead cells form connected structures. The primary cause for Day and Night's uniqueness is the way dead cells exhibit the same behaviors as living cells. Because of this, the amount of living cells does not affect the population dynamics in any particular simulation as much as in Conway s original rule set. If there are fewer living cells, there is a larger population of dead cells behaving the same way. Unlike for Conway's rule set, the rule set for Day and Night does not define a small range of numbers of neighbors required for survival (or birth). So, all initializations stabilize relatively quickly without huge dieoffs due to overpopulation or underpopulation Static Rulesets Maze Maze (Cellular Automaton, n.d.) is a rule set that, in a few time steps, expanding into a pattern filling the world that remains completely static thereafter. In order for a living cell to survive, it requires 1 to 5 living neighbors, while a cell is born when there are exactly 3 neighbors. Interestingly, this rule creates similar, maze-like patterns with one-cell-wide corridors for most

11 initializations, a behavior illustrated in Figure 1. As shown in Figure 11, all tested initial concentrations (except for 9%) quickly approach approximately a 55% population density and then stay constant. This convergence is similar to that of the standard game of life rule set, as most initial concentrations are able to create the full pattern. As expected, the rates of change (see Figure 12) quickly drop to % once the pattern is complete. Figure 1. An illustration of the maze rule set. Population Level Over Time % Living Cells % 2.% 3.% 4.% 5.% 6.% 7.% 8.% 9.% Figure 11. Percentages of living cells for the maze rule set approach approximately the same value for most tested initial concentrations except for 9%.

12 Rate of Change Over Time % Change From Previous Time % 2.% 3.% 4.% 5.% 6.% 7.% 8.% 9.% Figure 12. Rate of change for the maze rule set confirms that the changes are rapid in the first few time steps, but the system soon becomes completely stable. The resemblance to the population dynamics of the game of life even includes an initial population drop caused mainly by the range of numbers of living neighbors required for survival. Meanwhile, the survival rule also makes the maze rule set static, as its living cells are far more tolerant and unlikely to die. This is similar to the quick stabilization of the day and night rule set due to the range of its survival rule. Walled Cities Walled cities is another stable rule set that causes cells to form into polygonal, city-like structures and then cease to expand, yet continue to fluctuate within the city-like structures. Survival of a cell requires 2 to 5 neighbors, while 4 to 8 neighbors are needed for cell birth. As shown in Figure 13, the simulations witnessed an initial population drop for all initializations before most populations stabilized at approximately 5%. However, the populations continue to fluctuate afterwards as expected. This was actually a result of continued city expansion as still-expanding structures came into contact with others. The random distribution of initial cells created these additional seeds for further expansion, which often caused cities to fill up the world and create a single mass of chaotic activity. This pattern does not apply to the initial concentrations of 1%, 2%, and 9%, since the populations with those initializations did not have enough seeds for uncontrolled city expansion. These initializations stabilized at different population levels as their cities stopped growing. The pattern is somewhat similar to the maze rule set and the original game of life rule set due to its initialization threshold and convergence of population levels. The level of activity in the walled cities rule set is closer to the original game of life than to the maze rule set. Unlike the static configurations seen only after a few time steps with the maze rule set, all initializations for this variant within the previous range of acceptable initial concentrations again reach the same asymptote of approximately 4% (see Figure 14). Again, the initial concentrations of 1%, 2%, and 9% result in the population of living cells dropping to lower values relatively fast.

13 Population Level Over Time % Living Cells % 2.% 3.% 4.% 5.% 6.% 7.% 8.% 9.% Figure 13. With most initializations, the percentage of living cells for the walled cities rule set quickly approaches values around 5% and stabilizes, while some initializations stabilize at lower population levels. Rate of Change Over Time % Change From Previous % 2.% 3.% 4.% 5.% 6.% 7.% 8.% 9.% Figure 14. The rate of change over time for the walled cities rule set indicates that while the population of living cells stabilizes in the total number of cells, the system keeps changing from one time step to another. These behaviors exist mainly because of the initial random distribution of cells. Under certain conditions, the simulation does create the clusters of cells that expand to fill small city-like structures that are characteristic of this variant. Despite the initial die-offs seen in Figure 13, the surviving living cells for most initializations still managed to expand into world-filling cities with the similar amounts of chaotic activity within them.

14

15 Figure 15. Illustrations of the walled-cities rule set. In the first image, the city-like structures quickly stabilize but the structures keep changing within their boundaries. In the second, the city has expanded so much that the world is filled with chaotic activity State Game of Life The 3-state version of Conway s game of life uses two distinct living states. For example, the two distinct living states may represent two species or social groups. At the beginning of the simulation, as with the single living state automata, states are randomly assigned to cells based on specified initial percentages of the entire world. A specified proportion of the living states gets the first living state, whereas the rest get the second one. The cellular automaton progresses through time steps in a similar way as in the original game of life: Cells need either 2 or 3 neighbors to survive, and dead cells with 3 neighbors become living cells (birth). The only difference is that the state of the newborn cell now depends on its neighbors; whichever cell type makes up most of the 3 living neighbors is assigned to the new cell. Of course, other rules may be implemented and this is certainly one of the interesting areas to explore. However, this paper will consider this simple variant, sometimes referred to as the immigration game. Instead of testing various initial percentages of living cells, the 3-state simulation tests the effect of differences in initial populations of the two cell types on the population dynamics of the cellular

16 automaton. To accomplish this, the simulation uses a total living cell initial percentage of 2%, which was shown to be a relatively stable initialization for the game of life in Section 4.1. Pairs of starting percentages for each species were tested based on their initial percentage difference. For example, a % difference between the species means the initial concentrations were both 1%, while an 18% difference means the initial concentrations were 2% and 16%. Figure 16. A common result of a 3-state game of life in which cell masses of different species compete with each other. Each species is shown with a different symbol. Because survival and birth rules are the same, the behavior of the simulation is similar to that of the original game of life. However, the addition of a second species (represented in the simulations by caret symbol ^ ) allows for more interesting interpretations of otherwise standard automata behaviors. At the start of the simulation, as the randomly distributed cells either die or start multiplying, each species starts to overtake different areas of the world until they coalesce into homogenous mobile masses of cells, as shown in Figure 16. Meanwhile, isolated cells among a different species quickly die out because they lack the numbers to convert new cells.

17 Population Level Over Time I Initial Difference: % % Living Cells % 1.% Population Level Over Time II Initial Difference: 4% % Living Cells % 12.%

18 Population Level Over Time III Initial Difference: 8% % Living Cells % 14.% Population Level Over Time IV Initial Difference: 12% % Living Cells % 16.%

19 Population Level Over Time V Initial Difference: 16% % Living Cells % 18.% Figure 17. Graphs of population changes with different initial concentrations for each species show little correlation between the population levels of both species and different rates of change. Although the two cell types appear to interact with each other, the population over time graphs (Figure 17) suggest otherwise. In all five scenarios, the population changes of the two species have no apparent direct effect on each other, even when one species significantly outnumbers the other. In fact, in every instance (except the % initial difference scenario) the smaller population stays relatively stable while the species with a high initial concentration has a nearly constant population decrease. In the 4% difference scenario, the two populations even converge. The lack of influence exerted by each population on the other can be explained by the lack of direct interactions between the species. In the simulation, the only instance where living cell type was relevant was during cell birth. Because of this, species are never able to directly attack or otherwise interact with each other; they can only expand into empty regions of the world. Meanwhile, the unexpected decline of the high concentration species and relative stability of the disadvantaged species is related to the behavior of the normal game of life. In the earlier tests, populations almost always undergo a gradual decline until flattening out. Although the high concentration species has more opportunities to multiply and prevent the other cell type from multiplying, their higher concentration also means they are more prone to overpopulation. Meanwhile, any cells of the other species that survived the game of life s initial population decline would likely not be in danger of overpopulation or would be found in stable structures. 4 Summary and Conclusions This paper described the results of a series of tests run on various cellular automata to study their population dynamics. A C++ program was used to simulate Conway s game of life, and several its variants, including the rule sets day and night, maze, walled cities, and immigration game (a 2-color version of the game of life). For each single state rule set, the population and rate of change over time was tested with a range of initial living cell concentrations. The classic game of life appeared to have an optimum population and activity level that most

20 initial population concentrations falling within a certain range converge upon. This was probably due to the restrictive range of values for the survival rule. In terms of behavior, the game of life appeared to have a more diverse range of structures than the day and night rule set. These structures were relatively common. The day and night rule set causes dead cells among living cells to behave like living cells among dead cells. Because of this symmetrical death-life relationship, the population patterns were different from the game of life. Each initialization caused the population to rapidly stabilize at different levels instead of converging upon an asymptote. The rates of change were also diverse but all showed a constant decrease in activity due to the stabilization. The stable rule sets, maze and walled cities, resembled the game of life because of the existence of an optimum population level that most initializations approach. Because they form static or nearly static patterns, the activity levels quickly drop to low levels. But while the maze rule set is a faststabilizing rule with a tolerant survival rule (like the day and night rule set), the walled cities rule set is somewhat more restrictive and needs to grow after an early die-off (like the game of life). Yet, with most initializations, the surviving cells managed to expand to fill the entire world. In addition, after the simulations finished growing, there remained a constant level of activity within the cell masses. The 3-state version of the game of life featured two species of living cells. Their population patterns did not appear to have direct influence on each other, likely due to their interactions being limited to influencing the birth of new cells. However, the simulations were able to produce interesting behaviors such as competitive expansion by cells of different species. In addition, very different starting percentages of different species surprisingly did not lead to extinction of one, but generally caused the advantage to be offset by sensitivity to survival pressures. In future work, it would be interesting to explore more complex types of interaction between the two or more species, providing an interesting tool for simulating systems that resemble biological and social systems, such as the predator-prey interaction. This can be done by modifying the rules. In addition to categorizing cellular automata based on their appearance and behavior, population dynamics are also important to their classification. The patterns seen in the project include unified optimum population/activity levels and initialization-dependent population levels. These had much to do with the rules, which may have forced convergence through a restrictive survival requirement, or made life and death symmetrical, causing cells to be less affected by survival pressures. Also, the rules with more tolerant survival rules showed more rapid stabilization, while the others slowly recovered from initial population drops and slowly stabilized. Another characteristic was based on the existence a specific range of initializations that converge upon a population level. Again, this appears to be dependent on the survival rule, as the tolerant maze rule set created only one outlier, while the Conway s original rule set and the walled cities rule set featured several initializations that could not expand as much as most initializations after the initial die-off. Finally, when additional states are available, a range of new phenomena can be observed, including competition and basic pressures targeting individual species. A wide variety of behaviors can be produced using cellular automata with simple rules determining survival and birth. Survival pressures seem to play an important role in determining the performance of a cellular automaton, such as how easily it recovers from catastrophic events. Some of these behaviors, like population dynamics, can mimic the behavior of a real ecosystem. Additional states open up more possibilities for the simulation of artificial life. Future experiments can include allowing the cell types to directly affect each other. Asymmetrical systems can be set up in which the species use different rules, possibly mimicking predator-prey relations. In addition, the effects that the rules have on the behavior of cellular automata warrants further study.

21 Acknowledgements The author would like to acknowledge and sincerely thank the following individuals for their valuable help in making the project possible. The mentor, Dr. Martin Pelikan, for his vital guidance in teaching the art of programming, creating the simulation program, and writing this research paper. The research paper advisor, Mr. Michael Hope, for his support and helpful advice concerning the paper. All the faculty and staff of participating institutions who have made the STARS program possible. Additional thanks go to LMI Aerospace Inc, D3 Technologies, Hellenic Spirit Foundation, M7 Electro Optics, Office of the Chancellor-UMSL, Saint Louis University, Washington University, St. Louis Symphony, Solae LLC, Green Foundation, Monsanto Co., and the Academy of Science of St. Louis for their support of the STARS program. Martin Pelikan was supported by the National Science Foundation under grants ECS and IIS Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation. References Bell, D. I. (1997). Day & Night: An Interesting Variant of Life. Retrieved from Codd, E. F. (1968). Cellular Automata. Academic Press. Eppstein, D. (27). Maze (B3/S12345). Retrieved on March 16, 29. Gardner, Martin. (197). Mathematical Games The fantastic combinations of John Conway's solitaire game life. Scientific American, 223, Zenil, H. (21). Compression-based investigation of the dynamical properties of cellular automata and other systems. Complex Systems, 19 (1). Hughes, C. (n.d.). Project Euler. Retrieved from von Neumann, J. (1966). Theory of self-reproducing automata, edited by A.W. Burks, Univ. of Illinois Press. Weisstein, E. W. (n.d.). Cellular Automaton. In Mathworld. Retrieved from Cellular Automaton. (n.d.). In LifeWiki. Retrieved July 14, 212, from Wolfram, S. (22). A New Kind of Science. Wolfram Media. Wójtowicz, Mirek. (21). Cellular Automata rules lexicon. Retrieved from Appendix A A.1 Programming Concepts The main programming ideas studied included the following: Input/Output Input and output functions are responsible for user interaction with the program and displaying of results. In the simulations, these functions present statistics concerning the simulation s behavior, display the simulation at each time interval, and allow the user to specify starting conditions. Data types Data types define variables by their possible values and the operations one may perform on them. Examples include integers (such as int), floating point numbers (such as double), strings (such as string), and Boolean values (such as bool).

22 Arithmetic operations The five basic arithmetic operations are addition, subtraction, multiplication, division, and modulus (remainder). In the simulations, the operations are used in programs for counting (for statistics and looping), determining the coordinates of each cell and its neighbors, and so on. Conditionals Conditionals are if/then logic statements that allow a program to proceed in multiple ways. These are common statements allowing the simulation to, for instance, mark a cell as alive or dead depending on the number of neighbors. Functions/Passing parameters by reference Functions are the building blocks of C++ programs and allow them to be more organized and understandable. Most functions require an input to act upon, generating an output value (as in mathematical functions) or simply performing a task like displaying a diagram. Some functions may pass parameters by reference, allowing them to directly act upon the data that is inputted. In the cellular automata, functions organize the program into sections of code that perform tasks like displaying and updating the simulation. Loops While and for loops allow tasks to be performed repetitively based on a logic condition that must be met during each iteration. In the simulations, such loops are used to make the program sweep through the rows of cells in succession, repeatedly determining whether each cell is alive or dead. Strings Strings are variables that store a series of keyboard characters. While they are not used in the cellular automata, strings are able to store and manipulate user text inputs. Vectors Vectors are a container data type in that they store a one-dimensional list of values that can each be identified and manipulated individually. In the game of life, a vector of vectors is used to simulate the two-dimensional matrix of cells that makes up the world. A.2 Practice Problems A.2.1 Checking for Divisibility The objective of this problem is for the program to receive a set of three user-submitted numbers and check if any of the numbers is divisible by the others, outputting the results. To accomplish this, the program first asks for three inputs, storing them into variables a, b, and c. Next, the program tests every possible pairing of values, informing the user if any value can be divided by another to yield a remainder of zero. Concepts required here include basic input and output statements and conditionals. #include <iostream> using namespace std; int main() { int a, b, c; cin >> a; cin >> b;

23 cin >> c; if (a % b == ) cout << a << " is divisible by " << b << endl; if (a % c == ) cout << a << " is divisible by " << c << endl; if (b % a == ) cout << b << " is divisible by " << a << endl; if (b % c == ) cout << b << " is divisible by " << c << endl; if (c % a == ) cout << c << " is divisible by " << a << endl; if (c % b == ) cout << c << " is divisible by " << b << endl; } return ; A.2.2 Counting Divisible Numbers This program finds the solution to problem 1 of Project Euler (Hughes, n.d.). The purpose of the program is to count the numbers up to 1 that are divisible by 3 and 5, outputting their sum. This is accomplished with a for loop that updates the sum (using sum+= i) for every multiple of 3. A second for loop does the same for the multiples of 5 but only updates the sum when the number is not also divisible by 3. #include <iostream> using namespace std; int main() { int n=1; int sum = ; int i; for(i=3; i<n; i+=3) sum+=i; for(i=5; i<n; i+=5) if (i % 3!= ) sum+=i; cout << sum << endl; } return ; A.2.3 Sum of Even Fibonacci Numbers Problem 2 of Project Euler (Hughes, n.d.) requires the sum of all even numbers in the Fibonacci sequence up to four million. To accomplish this, the program uses an independent function that takes the maximum number (four million) as the input and outputs the sum of the even Fibonacci numbers.

24 Each term in the Fibonacci sequence is the sum of the previous two, so a While loop is used to constantly add up the previous numbers (prev and prev2), store the new term to n, update the variables that store the previous numbers of the sequence, and add n to the sum if it is even until the new value of n reaches four million. This program demonstrates the use of functions to organize programs and loops. #include<iostream> using namespace std; int fib(int cap) { int n, prev=1, prev2=1, total=; while(prev+prev2<cap) { n=prev+prev2; prev2=prev; prev=n; if (n%2==) total+=n; } return total; } int main() { int cap=4; cout<<fib(cap)<<endl; } return ; A.2.4 Identifying the Nth Prime Problem 7 of Project Euler (Hughes, n.d.) asks for the 11th prime number. This requires a different method from the previous programs, which test all possible values in succession, as testing a large number of values for primes is inefficient. The solution program uses a vector with each cell (, 1, 2...) representing a number and storing a Boolean true/false value to represent whether each number is a prime. To perform the calculation efficiently, the sieve of Eratosthenes is used to locate primes. First, a for loop stores true to each element of the vector from 2 to an arbitrary maximum number in the list. Starting with 2, the program locates its multiples and marks them as non-primes. It then repeats the process with every subsequent prime. Finally, a for loop counts the number of elements marked as primes. #include <iostream> #include <vector> using namespace std; int main() { int lim; cin>>lim; int i,j; vector <bool> primes(lim); primes[]=false; primes[1]=false; for(i=2; i<=lim;i++) primes[i]=true; for(i=2;i<=lim; i++) if(primes[i])

25 for(j=2*i; j<=lim; j+=i) primes[j]=false; int n=; for (i=2; i<=lim; i++) { if(primes[i]) n++; if(n==11) { cout<<i<<endl; return ; } } }

Modelling with cellular automata

Modelling with cellular automata Modelling with cellular automata Shan He School for Computational Science University of Birmingham Module 06-23836: Computational Modelling with MATLAB Outline Outline of Topics Concepts about cellular

More information

Cellular Automata. History. 1-Dimensional CA. 1-Dimensional CA. Ozalp Babaoglu

Cellular Automata. History. 1-Dimensional CA. 1-Dimensional CA. Ozalp Babaoglu History Cellular Automata Ozalp Babaoglu Developed by John von Neumann as a formal tool to study mechanical self replication Studied extensively by Stephen Wolfram ALMA MATER STUDIORUM UNIVERSITA DI BOLOGNA

More information

Extension of cellular automata by introducing an algorithm of recursive estimation of neighbors

Extension of cellular automata by introducing an algorithm of recursive estimation of neighbors Extension of cellular automata by introducing an algorithm of recursive estimation of neighbors Yoshihiko Kayama BAIKA Women s University, Japan (Tel: 81-72-643-6221, Fax: 81-72-643-8473) kayama@baika.ac.jp

More information

Motivation. Evolution has rediscovered several times multicellularity as a way to build complex living systems

Motivation. Evolution has rediscovered several times multicellularity as a way to build complex living systems Cellular Systems 1 Motivation Evolution has rediscovered several times multicellularity as a way to build complex living systems Multicellular systems are composed by many copies of a unique fundamental

More information

Any live cell with less than 2 live neighbours dies. Any live cell with 2 or 3 live neighbours lives on to the next step.

Any live cell with less than 2 live neighbours dies. Any live cell with 2 or 3 live neighbours lives on to the next step. 2. Cellular automata, and the SIRS model In this Section we consider an important set of models used in computer simulations, which are called cellular automata (these are very similar to the so-called

More information

Justine Seastres. Cellular Automata and the Game of Life

Justine Seastres. Cellular Automata and the Game of Life Justine Seastres Saint Mary s College of California Department of Mathematics May 16, 2016 Cellular Automata and the Game of Life Supervisors: Professor Porter Professor Sauerberg 2 Contents 1 Introduction

More information

Cellular Automata CS 591 Complex Adaptive Systems Spring Professor: Melanie Moses 2/02/09

Cellular Automata CS 591 Complex Adaptive Systems Spring Professor: Melanie Moses 2/02/09 Cellular Automata CS 591 Complex Adaptive Systems Spring 2009 Professor: Melanie Moses 2/02/09 Introduction to Cellular Automata (CA) Invented by John von Neumann (circa~1950). A cellular automata consists

More information

Cellular Automata. and beyond. The World of Simple Programs. Christian Jacob

Cellular Automata. and beyond. The World of Simple Programs. Christian Jacob Cellular Automata and beyond The World of Simple Programs Christian Jacob Department of Computer Science Department of Biochemistry & Molecular Biology University of Calgary CPSC / MDSC 605 Fall 2003 Cellular

More information

Cellular Automata. ,C ) (t ) ,..., C i +[ K / 2] Cellular Automata. x > N : C x ! N. = C x. x < 1: C x. = C N+ x.

Cellular Automata. ,C ) (t ) ,..., C i +[ K / 2] Cellular Automata. x > N : C x ! N. = C x. x < 1: C x. = C N+ x. and beyond Lindenmayer Systems The World of Simple Programs Christian Jacob Department of Computer Science Department of Biochemistry & Molecular Biology University of Calgary CPSC 673 Winter 2004 Random

More information

Mitchell Chapter 10. Living systems are open systems that exchange energy, materials & information

Mitchell Chapter 10. Living systems are open systems that exchange energy, materials & information Living systems compute Mitchell Chapter 10 Living systems are open systems that exchange energy, materials & information E.g. Erwin Shrodinger (1944) & Lynn Margulis (2000) books: What is Life? discuss

More information

Cellular Automata and Tilings

Cellular Automata and Tilings Cellular Automata and Tilings Jarkko Kari Department of Mathematics, University of Turku, Finland TUCS(Turku Centre for Computer Science), Turku, Finland Outline of the talk (1) Cellular automata (CA)

More information

Cellular automata are idealized models of complex systems Large network of simple components Limited communication among components No central

Cellular automata are idealized models of complex systems Large network of simple components Limited communication among components No central Cellular automata are idealized models of complex systems Large network of simple components Limited communication among components No central control Complex dynamics from simple rules Capability of information

More information

Introduction to Scientific Modeling CS 365, Fall 2011 Cellular Automata

Introduction to Scientific Modeling CS 365, Fall 2011 Cellular Automata Introduction to Scientific Modeling CS 365, Fall 2011 Cellular Automata Stephanie Forrest ME 214 http://cs.unm.edu/~forrest/cs365/ forrest@cs.unm.edu 505-277-7104 Reading Assignment! Mitchell Ch. 10" Wolfram

More information

biologically-inspired computing lecture 12 Informatics luis rocha 2015 INDIANA UNIVERSITY biologically Inspired computing

biologically-inspired computing lecture 12 Informatics luis rocha 2015 INDIANA UNIVERSITY biologically Inspired computing lecture 12 -inspired Sections I485/H400 course outlook Assignments: 35% Students will complete 4/5 assignments based on algorithms presented in class Lab meets in I1 (West) 109 on Lab Wednesdays Lab 0

More information

arxiv:cond-mat/ v4 [cond-mat.soft] 23 Sep 2002

arxiv:cond-mat/ v4 [cond-mat.soft] 23 Sep 2002 arxiv:cond-mat/0207679v4 [cond-mat.soft] 23 Sep 2002 A Two-Player Game of Life Mark Levene and George Roussos School of Computer Science and Information Systems Birkbeck College, University of London London

More information

Katholieke Universiteit Leuven Department of Computer Science

Katholieke Universiteit Leuven Department of Computer Science On the maximal cycle and transient lengths of circular cellular automata Kim Weyns, Bart Demoen Report CW 375, December 2003 Katholieke Universiteit Leuven Department of Computer Science Celestijnenlaan

More information

The Fixed String of Elementary Cellular Automata

The Fixed String of Elementary Cellular Automata The Fixed String of Elementary Cellular Automata Jiang Zhisong Department of Mathematics East China University of Science and Technology Shanghai 200237, China zsjiang@ecust.edu.cn Qin Dakang School of

More information

Application of Cellular Automata in Conservation Biology and Environmental Management 1

Application of Cellular Automata in Conservation Biology and Environmental Management 1 Application of Cellular Automata in Conservation Biology and Environmental Management 1 Miklós Bulla, Éva V. P. Rácz Széchenyi István University, Department of Environmental Engineering, 9026 Győr Egyetem

More information

On Elementary and Algebraic Cellular Automata

On Elementary and Algebraic Cellular Automata Chapter On Elementary and Algebraic Cellular Automata Yuriy Gulak Center for Structures in Extreme Environments, Mechanical and Aerospace Engineering, Rutgers University, New Jersey ygulak@jove.rutgers.edu

More information

Moving Mass A Nonlinear Dynamics Project

Moving Mass A Nonlinear Dynamics Project Moving Mass A Nonlinear Dynamics Project by Jeff Hutchinson (hutchinson@student.physics.ucdavis.edu) & Matt Fletcher (fletcher@student.physics.ucdavis.edu) UC Davis Physics Dept. Spring 2008 Abstract:

More information

A case study for self-organized criticality and complexity in forest landscape ecology

A case study for self-organized criticality and complexity in forest landscape ecology Chapter 1 A case study for self-organized criticality and complexity in forest landscape ecology Janine Bolliger Swiss Federal Research Institute (WSL) Zürcherstrasse 111; CH-8903 Birmendsdorf, Switzerland

More information

Complexity Classes in the Two-dimensional Life Cellular Automata Subspace

Complexity Classes in the Two-dimensional Life Cellular Automata Subspace Complexity Classes in the Two-dimensional Life Cellular Automata Subspace Michael Magnier Claude Lattaud Laboratoire d Intelligence Artificielle de Paris V, Université René Descartes, 45 rue des Saints

More information

Exploring the Massing of Growth in Cellular Automata

Exploring the Massing of Growth in Cellular Automata Exploring the Massing of Growth in Cellular Automata Robert J. Krawczyk College of Architecture, Illinois Institute of Technology, Chicago, IL, USA. e-mail: krawczyk@iit.edu Abstract In the investigation

More information

INTERPRETING POPULATION DYNAMICS GRAPH

INTERPRETING POPULATION DYNAMICS GRAPH INTERPRETING POPULATION DYNAMIS GRAPH OJETIVES TASKS Name: To learn about three types of population dynamics graphs To determine which type of graph you constructed from the Pike and Perch Game To interpret

More information

Local Search & Optimization

Local Search & Optimization Local Search & Optimization CE417: Introduction to Artificial Intelligence Sharif University of Technology Spring 2017 Soleymani Artificial Intelligence: A Modern Approach, 3 rd Edition, Chapter 4 Outline

More information

arxiv: v1 [cs.fl] 17 May 2017

arxiv: v1 [cs.fl] 17 May 2017 New Directions In Cellular Automata arxiv:1705.05832v1 [cs.fl] 17 May 2017 Abdulrhman Elnekiti Department of Computer Science University of Turkish Aeronautical Association 11 Bahcekapi, 06790 Etimesgut

More information

Fermi Paradox: a simulation solution

Fermi Paradox: a simulation solution Fermi Paradox: a simulation solution YU HAIHAN, MARK Introduction The paradox was proposed by Fermi in 1950 during a lunch with Edward Teller, Hilbert York and Emil Konopinski. When they were talking about

More information

Introduction to Artificial Life and Cellular Automata. Cellular Automata

Introduction to Artificial Life and Cellular Automata. Cellular Automata Introduction to Artificial Life and Cellular Automata CS405 Cellular Automata A cellular automata is a family of simple, finite-state machines that exhibit interesting, emergent behaviors through their

More information

A Cellular Automata Approach to Population Modeling

A Cellular Automata Approach to Population Modeling A Cellular Automata Approach to Population Modeling Alexa M. Silverman March 31, 2009 Abstract 1 Introduction 1.1 Cellular automata This project provides an agent-based model of the effects of temperature

More information

A Probability-Based Model of Traffic Flow

A Probability-Based Model of Traffic Flow A Probability-Based Model of Traffic Flow Richard Yi, Harker School Mentored by Gabriele La Nave, University of Illinois, Urbana-Champaign January 23, 2016 Abstract Describing the behavior of traffic via

More information

Cellular Automata. Jarkko Kari Spring University of Turku

Cellular Automata. Jarkko Kari Spring University of Turku Cellular Automata Jarkko Kari Spring 2 University of Turku Preliminaries. Introduction A cellular automaton is a discrete dynamical system that consists of a regular network of finite state automata (cells)

More information

Discrete Tranformation of Output in Cellular Automata

Discrete Tranformation of Output in Cellular Automata Discrete Tranformation of Output in Cellular Automata Aleksander Lunøe Waage Master of Science in Computer Science Submission date: July 2012 Supervisor: Gunnar Tufte, IDI Norwegian University of Science

More information

EVOLUTIONARY GAMES AND LOCAL DYNAMICS

EVOLUTIONARY GAMES AND LOCAL DYNAMICS International Game Theory Review c World Scientific Publishing Company EVOLUTIONARY GAMES AND LOCAL DYNAMICS PHILIPPE UYTTENDAELE FRANK THUIJSMAN Department of Knowledge Engineering Maastricht University

More information

Image Encryption and Decryption Algorithm Using Two Dimensional Cellular Automata Rules In Cryptography

Image Encryption and Decryption Algorithm Using Two Dimensional Cellular Automata Rules In Cryptography Image Encryption and Decryption Algorithm Using Two Dimensional Cellular Automata Rules In Cryptography P. Sanoop Kumar Department of CSE, Gayatri Vidya Parishad College of Engineering(A), Madhurawada-530048,Visakhapatnam,

More information

Chapter 9 Population Dynamics, Carrying Capacity, and Conservation Biology

Chapter 9 Population Dynamics, Carrying Capacity, and Conservation Biology Chapter 9 Population Dynamics, Carrying Capacity, and Conservation Biology 9-1 Population Dynamics & Carrying Capacity Populations change in response to enviromental stress or changes in evironmental conditions

More information

Cell-based Model For GIS Generalization

Cell-based Model For GIS Generalization Cell-based Model For GIS Generalization Bo Li, Graeme G. Wilkinson & Souheil Khaddaj School of Computing & Information Systems Kingston University Penrhyn Road, Kingston upon Thames Surrey, KT1 2EE UK

More information

A Colorful Introduction to Cellular Automata

A Colorful Introduction to Cellular Automata A Colorful Introduction to Cellular Automata Silvio Capobianco February 5, 2011 Revised: February 10, 2011 Silvio Capobianco () February 5, 2011 1 / 37 Overview Cellular automata (ca) are local presentations

More information

APPLICATION OF FUZZY LOGIC IN THE CLASSICAL CELLULAR AUTOMATA MODEL

APPLICATION OF FUZZY LOGIC IN THE CLASSICAL CELLULAR AUTOMATA MODEL J. Appl. Math. & Computing Vol. 20(2006), No. 1-2, pp. 433-443 Website: http://jamc.net APPLICATION OF FUZZY LOGIC IN THE CLASSICAL CELLULAR AUTOMATA MODEL CHUNLING CHANG, YUNJIE ZHANG, YUNYING DONG Abstract.

More information

Computational Tasks and Models

Computational Tasks and Models 1 Computational Tasks and Models Overview: We assume that the reader is familiar with computing devices but may associate the notion of computation with specific incarnations of it. Our first goal is to

More information

Topics in Computer Mathematics

Topics in Computer Mathematics Random Number Generation (Uniform random numbers) Introduction We frequently need some way to generate numbers that are random (by some criteria), especially in computer science. Simulations of natural

More information

Cellular Automata. Jarkko Kari Spring University of Turku

Cellular Automata. Jarkko Kari Spring University of Turku Cellular Automata Jarkko Kari Spring 23 University of Turku Preliminaries. Introduction A cellular automaton is a discrete dynamical system that consists of a regular network of finite state automata (cells)

More information

Evolution Simulator. Eric Turner TJHSST Computer Systems Lab, January 23, 2007

Evolution Simulator. Eric Turner TJHSST Computer Systems Lab, January 23, 2007 Evolution Simulator Eric Turner TJHSST Computer Systems Lab, 2006-2007 January 23, 2007 Abstract The purpose of this project is to develop a computer system that accurately simulates natural selection

More information

The Traveling Salesman Problem New Mexico Supercomputing Challenge Final Report April 6 th, 2016 Team 104 School of Dreams Academy

The Traveling Salesman Problem New Mexico Supercomputing Challenge Final Report April 6 th, 2016 Team 104 School of Dreams Academy The Traveling Salesman Problem New Mexico Supercomputing Challenge Final Report April 6 th, 2016 Team 104 School of Dreams Academy Team Members: Victoria Troyer Sponsor: Kerra Howe Mentor: Zack Daniels

More information

Topic Contents. Factoring Methods. Unit 3: Factoring Methods. Finding the square root of a number

Topic Contents. Factoring Methods. Unit 3: Factoring Methods. Finding the square root of a number Topic Contents Factoring Methods Unit 3 The smallest divisor of an integer The GCD of two numbers Generating prime numbers Computing prime factors of an integer Generating pseudo random numbers Raising

More information

Continuous Spatial Automata

Continuous Spatial Automata Continuous Spatial Automata B. J. MacLennan Department of Computer Science University of Tennessee Knoxville, TN 37996-1301 maclennan@cs.utk.edu CS-90-121 November 26, 1990 Abstract A continuous spatial

More information

Chapter 6 Population and Community Ecology

Chapter 6 Population and Community Ecology Chapter 6 Population and Community Ecology Friedland and Relyea Environmental Science for AP, second edition 2015 W.H. Freeman and Company/BFW AP is a trademark registered and/or owned by the College Board,

More information

Symmetric Network Computation

Symmetric Network Computation Symmetric Network Computation and the Finite-State Symmetric Graph Automaton (FSSGA) Model David Pritchard, with Santosh Vempala Theory of Distributed Systems Group at MIT, July 7 2006 David Pritchard

More information

P The Entropy Trajectory: A Perspective to Classify Complex Systems. Tomoaki SUZUDO Japan Atomic Energy Research Institute, JAERI

P The Entropy Trajectory: A Perspective to Classify Complex Systems. Tomoaki SUZUDO Japan Atomic Energy Research Institute, JAERI P 0 0 8 The Entropy Trajectory: A Perspective to Classify Complex Systems Tomoaki SUZUDO Japan Atomic Energy Research Institute, JAERI What are complex systems? Having macroscopic properties which are

More information

Cellular Automata: Tutorial

Cellular Automata: Tutorial Cellular Automata: Tutorial Jarkko Kari Department of Mathematics, University of Turku, Finland TUCS(Turku Centre for Computer Science), Turku, Finland Cellular Automata: examples A Cellular Automaton

More information

XX Eesti Arvutiteaduse Talvekool

XX Eesti Arvutiteaduse Talvekool XX Eesti Arvutiteaduse Talvekool Cellular automata, tilings and (un)computability Jarkko Kari Department of Mathematics and Statistics University of Turku Lecture 1: Tutorial on Cellular automata Introduction

More information

Cellular Automata. Jason Frank Mathematical Institute

Cellular Automata. Jason Frank Mathematical Institute Cellular Automata Jason Frank Mathematical Institute WISM484 Introduction to Complex Systems, Utrecht University, 2015 Cellular Automata Game of Life: Simulator: http://www.bitstorm.org/gameoflife/ Hawking:

More information

Chapter 6 Population and Community Ecology. Thursday, October 19, 17

Chapter 6 Population and Community Ecology. Thursday, October 19, 17 Chapter 6 Population and Community Ecology Module 18 The Abundance and Distribution of After reading this module you should be able to explain how nature exists at several levels of complexity. discuss

More information

Bio-inspired Models of Computation Seminar. Daniele Sgandurra. 16 October 2009

Bio-inspired Models of Computation Seminar. Daniele Sgandurra. 16 October 2009 Bio-inspired Models of Computation Seminar Università di Pisa 16 October 2009 Outline Introduction Motivation History Cellular Systems Wolfram Classes Variants and Extensions Extended Topics Garden of

More information

II. Spatial Systems. A. Cellular Automata. Structure. Cellular Automata (CAs) Example: Conway s Game of Life. State Transition Rule

II. Spatial Systems. A. Cellular Automata. Structure. Cellular Automata (CAs) Example: Conway s Game of Life. State Transition Rule II. Spatial Systems A. Cellular Automata B. Pattern Formation C. Slime Mold D. Excitable Media A. Cellular Automata 1/18/17 1 1/18/17 2 Cellular Automata (CAs) Invented by von Neumann in 1940s to study

More information

New Possibilities for Cellular Automata in Cryptography

New Possibilities for Cellular Automata in Cryptography New Possibilities for Cellular Automata in Cryptography Mauro Tardivo Filho Marco A. A. Henriques Faculty of Electrical and Computer Engineering University of Campinas Sao Paulo - Brazil Overview 1. History

More information

Cellular Automata Models for Diffusion of Innovations

Cellular Automata Models for Diffusion of Innovations arxiv:adap-org/9742v 8 Apr 997 Cellular Automata Models for Diffusion of Innovations Henryk Fukś Nino Boccara,2 February 3, 28 Department of Physics, University of Illinois, Chicago, IL 667-759, USA 2

More information

Complex Systems Theory

Complex Systems Theory Complex Systems Theory 1988 Some approaches to the study of complex systems are outlined. They are encompassed by an emerging field of science concerned with the general analysis of complexity. Throughout

More information

Evolution 1 Star. 6. The different tools used during the beaks of finches lab represented. A. feeding adaptations in finches

Evolution 1 Star. 6. The different tools used during the beaks of finches lab represented. A. feeding adaptations in finches Name: Date: 1. ccording to modern evolutionary theory, genes responsible for new traits that help a species survive in a particular environment will usually. not change in frequency. decrease gradually

More information

Can You do Maths in a Crowd? Chris Budd

Can You do Maths in a Crowd? Chris Budd Can You do Maths in a Crowd? Chris Budd Human beings are social animals We usually have to make decisions in the context of interactions with many other individuals Examples Crowds in a sports stadium

More information

II. Cellular Automata 8/27/03 1

II. Cellular Automata 8/27/03 1 II. Cellular Automata 8/27/03 1 Cellular Automata (CAs) Invented by von Neumann in 1940s to study reproduction He succeeded in constructing a self-reproducing CA Have been used as: massively parallel computer

More information

4.5 Applications of Congruences

4.5 Applications of Congruences 4.5 Applications of Congruences 287 66. Find all solutions of the congruence x 2 16 (mod 105). [Hint: Find the solutions of this congruence modulo 3, modulo 5, and modulo 7, and then use the Chinese remainder

More information

Computational statistics

Computational statistics Computational statistics Combinatorial optimization Thierry Denœux February 2017 Thierry Denœux Computational statistics February 2017 1 / 37 Combinatorial optimization Assume we seek the maximum of f

More information

4. List of program goals/learning outcomes to be met. Goal-1: Students will have the ability to analyze and graph polynomial functions.

4. List of program goals/learning outcomes to be met. Goal-1: Students will have the ability to analyze and graph polynomial functions. Course of Study Advanced Algebra 1. Introduction: Common Core Advanced Algebra, Mathematics Department, Grade 9-12, 2 semester course. 2. Course Description Common Core Advanced Algebra is a one year advanced

More information

Requirements for Prospective Teachers General Science. 4.1a Explain energy flow and nutrient cycling through ecosystems (e.g., food chain, food web)

Requirements for Prospective Teachers General Science. 4.1a Explain energy flow and nutrient cycling through ecosystems (e.g., food chain, food web) Ecology and Conservation Biology (Biol 116) - Syllabus Addendum for Prospective Teachers Ricklefs, R. E., (2001). The Economy of Nature, 5 th Edition. W.H. Freeman & Co Chapter Ch 6-Energy in the Ecosystem

More information

A Cellular Automata Approach to Population Modeling

A Cellular Automata Approach to Population Modeling A Cellular Automata Approach to Population Modeling Alexa M. Silverman February 24, 2009 Abstract 1 Introduction 1.1 Cellular automata This project provides an agent-based model of the effects of temperature

More information

We prove that the creator is infinite Turing machine or infinite Cellular-automaton.

We prove that the creator is infinite Turing machine or infinite Cellular-automaton. Do people leave in Matrix? Information, entropy, time and cellular-automata The paper proves that we leave in Matrix. We show that Matrix was built by the creator. By this we solve the question how everything

More information

Local Search & Optimization

Local Search & Optimization Local Search & Optimization CE417: Introduction to Artificial Intelligence Sharif University of Technology Spring 2018 Soleymani Artificial Intelligence: A Modern Approach, 3 rd Edition, Chapter 4 Some

More information

Coexistence of Dynamics for Two- Dimensional Cellular Automata

Coexistence of Dynamics for Two- Dimensional Cellular Automata Coexistence of Dynamics for Two- Dimensional Cellular Automata Ricardo Severino Department of Mathematics and Applications University of Minho Campus de Gualtar - 4710-057 Braga, Portugal Maria Joana Soares

More information

BINARY MORPHOLOGY AND CELLULAR AUTOMATA

BINARY MORPHOLOGY AND CELLULAR AUTOMATA BINARY MORPHOLOGY AND CELLULAR AUTOMATA I can't leave this subject without mentioning cellular automata (CAs). Conway's "Game of Life" is an example of a cellular automaton (CA). In each generation (or

More information

The field of Dynamics and Control is concerned with the study of dynamical systems. A dynamical system

The field of Dynamics and Control is concerned with the study of dynamical systems. A dynamical system Analysis of Nonlinear Dynamical Systems Using Markovian Representations Christopher L. Bertagne, Raktim Bhattacharya Department of Aerospace Engineering, Texas A&M University, College Station, TX 77840

More information

Toward a Better Understanding of Complexity

Toward a Better Understanding of Complexity Toward a Better Understanding of Complexity Definitions of Complexity, Cellular Automata as Models of Complexity, Random Boolean Networks Christian Jacob jacob@cpsc.ucalgary.ca Department of Computer Science

More information

These are my slides and notes introducing the Red Queen Game to the National Association of Biology Teachers meeting in Denver in 2016.

These are my slides and notes introducing the Red Queen Game to the National Association of Biology Teachers meeting in Denver in 2016. These are my slides and notes introducing the Red Queen Game to the National Association of Biology Teachers meeting in Denver in 2016. Thank you SSE and the Huxley Award for sending me to NABT 2016! I

More information

Characterization of Fixed Points in Sequential Dynamical Systems

Characterization of Fixed Points in Sequential Dynamical Systems Characterization of Fixed Points in Sequential Dynamical Systems James M. W. Duvall Virginia Polytechnic Institute and State University Department of Mathematics Abstract Graph dynamical systems are central

More information

Population Dynamics Graphs

Population Dynamics Graphs Dynamics Graphs OJETIVES: - to learn about three types of population dynamics graphs - to determine which type of graph you constructed from the Pike and Perch Game - to interpret (describe, analyze) graphs

More information

Standards A complete list of the standards covered by this lesson is included in the Appendix at the end of the lesson.

Standards A complete list of the standards covered by this lesson is included in the Appendix at the end of the lesson. Lesson 8: The History of Life on Earth Time: approximately 45-60 minutes, depending on length of discussion. Can be broken into 2 shorter lessons Materials: Double timeline (see below) Meter stick (to

More information

1 Overview. 2 Learning from Experts. 2.1 Defining a meaningful benchmark. AM 221: Advanced Optimization Spring 2016

1 Overview. 2 Learning from Experts. 2.1 Defining a meaningful benchmark. AM 221: Advanced Optimization Spring 2016 AM 1: Advanced Optimization Spring 016 Prof. Yaron Singer Lecture 11 March 3rd 1 Overview In this lecture we will introduce the notion of online convex optimization. This is an extremely useful framework

More information

Chapter 6 Reading Questions

Chapter 6 Reading Questions Chapter 6 Reading Questions 1. Fill in 5 key events in the re-establishment of the New England forest in the Opening Story: 1. Farmers begin leaving 2. 3. 4. 5. 6. 7. Broadleaf forest reestablished 2.

More information

Comments on An Improvement to the Brent s Method

Comments on An Improvement to the Brent s Method Comments on An Improvement to the Brent s Method Steven A. Stage IEM 8550 United Plaza Boulevard, Suite 501 Baton Rouge, Louisiana 70808-000, United States of America steve.stage@iem.com Abstract Zhang

More information

Test and Evaluation of an Electronic Database Selection Expert System

Test and Evaluation of an Electronic Database Selection Expert System 282 Test and Evaluation of an Electronic Database Selection Expert System Introduction As the number of electronic bibliographic databases available continues to increase, library users are confronted

More information

A NUMERICAL STUDY ON PREDATOR PREY MODEL

A NUMERICAL STUDY ON PREDATOR PREY MODEL International Conference Mathematical and Computational Biology 2011 International Journal of Modern Physics: Conference Series Vol. 9 (2012) 347 353 World Scientific Publishing Company DOI: 10.1142/S2010194512005417

More information

Modeling Prey and Predator Populations

Modeling Prey and Predator Populations Modeling Prey and Predator Populations Alison Pool and Lydia Silva December 15, 2006 Abstract In this document, we will explore the modeling of two populations based on their relation to one another. Specifically

More information

Investigation of Rule 73 as a Case Study of Class 4 Long-Distance Cellular Automata. Lucas Kang

Investigation of Rule 73 as a Case Study of Class 4 Long-Distance Cellular Automata. Lucas Kang Investigation of Rule 73 as a Case Study of Class 4 Long-Distance Cellular Automata Lucas Kang Personal Section In my sophomore year, I took a post-ap class named Computational Physics at my school. Given

More information

REVIEW QUESTIONS. Chapter 1: Foundations: Sets, Logic, and Algorithms

REVIEW QUESTIONS. Chapter 1: Foundations: Sets, Logic, and Algorithms REVIEW QUESTIONS Chapter 1: Foundations: Sets, Logic, and Algorithms 1. Why can t a Venn diagram be used to prove a statement about sets? 2. Suppose S is a set with n elements. Explain why the power set

More information

LandscapeEC: Adding Geographical Structure to Cellular Evolutionary Algorithms

LandscapeEC: Adding Geographical Structure to Cellular Evolutionary Algorithms LandscapeEC: Adding Geographical Structure to Cellular Evolutionary Algorithms Lucas Ellgren and Nicholas Freitag McPhee Division of Science and Mathematics University of Minnesota, Morris Morris, MN 562367

More information

Computability, Undeciability and the Halting Problem

Computability, Undeciability and the Halting Problem Computability, Undeciability and the Halting Problem 12/01/16 http://www.michael-hogg.co.uk/game_of_life.php Discrete Structures (CS 173) Lecture B Gul Agha 1 Based on slides by Derek Hoiem, University

More information

Prime Analysis in Binary

Prime Analysis in Binary Prime Analysis in Binary Brandynne Cho Saint Mary s College of California September 17th, 2012 The best number is 73. [...] 73 is the 21st prime number. Its mirror, 37, is the 12th, and its mirror, 21,

More information

Introduction to Digital Evolution Handout Answers

Introduction to Digital Evolution Handout Answers Introduction to Digital Evolution Handout Answers Note to teacher: The questions in this handout and the suggested answers (in red, below) are meant to guide discussion, not be an assessment. It is recommended

More information

Exercise 4: Markov Processes, Cellular Automata and Fuzzy Logic

Exercise 4: Markov Processes, Cellular Automata and Fuzzy Logic Exercise 4: Markov Processes, Cellular Automata and Fuzzy Logic Formal Methods II, Fall Semester 2013 Distributed: 8.11.2013 Due Date: 29.11.2013 Send your solutions to: tobias.klauser@uzh.ch or deliver

More information

Kindergarten Science, Quarter 4, Unit 4.1. Plants. Overview

Kindergarten Science, Quarter 4, Unit 4.1. Plants. Overview Kindergarten Science, Quarter 4, Unit 4.1 Plants Overview Number of instructional days: 10 (1 day = 20 30 minutes) Content to be learned Observe that plants need water, air, food, and light to grow. Identify

More information

Extensive evidence indicates that life on Earth began more than 3 billion years ago.

Extensive evidence indicates that life on Earth began more than 3 billion years ago. V Extensive evidence indicates that life on Earth began more than 3 billion years ago. Fossils found in ancient rocks have given us many clues to the kind of life that existed long ago. The first living

More information

Kentucky Academic Standards Addressed By Zoo Program

Kentucky Academic Standards Addressed By Zoo Program Kentucky Academic Standards Addressed By Zoo Program WILD PACK: FASTEST CUTTERS Program description: Using inquiry skills, students will observe the leaf cutter ant colony in the Zoo s Insect World to

More information

POPULATION GROWTH MODELING

POPULATION GROWTH MODELING POPULATION GROWTH MODELING INTRODUCTION All organisms tend to show the capability of unlimited exponential growth. Consequently, mathematical models have been developed to try to simulate this phenomenon.

More information

Larger than Life: Digital Creatures in a Family of Two-Dimensional Cellular Automata

Larger than Life: Digital Creatures in a Family of Two-Dimensional Cellular Automata Discrete Mathematics and Theoretical Computer Science Proceedings AA (DM-CCG), 2001, 177 192 Larger than Life: Digital Creatures in a Family of Two-Dimensional Cellular Automata Kellie Michele Evans California

More information

Heaving Toward Speciation

Heaving Toward Speciation Temporal Waves of Genetic Diversity in a Spatially Explicit Model of Evolution: Heaving Toward Speciation Guy A. Hoelzer 1, Rich Drewes 2 and René Doursat 2,3 1 Department of Biology, 2 Brain Computation

More information

II. Spatial Systems A. Cellular Automata 8/24/08 1

II. Spatial Systems A. Cellular Automata 8/24/08 1 II. Spatial Systems A. Cellular Automata 8/24/08 1 Cellular Automata (CAs) Invented by von Neumann in 1940s to study reproduction He succeeded in constructing a self-reproducing CA Have been used as: massively

More information

THE N-VALUE GAME OVER Z AND R

THE N-VALUE GAME OVER Z AND R THE N-VALUE GAME OVER Z AND R YIDA GAO, MATT REDMOND, ZACH STEWARD Abstract. The n-value game is an easily described mathematical diversion with deep underpinnings in dynamical systems analysis. We examine

More information

arxiv: v1 [nlin.cg] 23 Sep 2010

arxiv: v1 [nlin.cg] 23 Sep 2010 Complex networks derived from cellular automata Yoshihiko Kayama Department of Media and Information, BAIKA Women s University, 2-9-5, Shukuno-sho, Ibaraki-city, Osaka-pref., Japan arxiv:009.4509v [nlin.cg]

More information

Radial View: Observing Fuzzy Cellular Automata with a New Visualization Method

Radial View: Observing Fuzzy Cellular Automata with a New Visualization Method Radial View: Observing Fuzzy Cellular Automata with a New Visualization Method Paola Flocchini and Vladimir Cezar School of Information Technology and Engineering University of Ottawa, 800 King Eduard,

More information

Maintenance of Species Diversity by Predation in the Tierra System

Maintenance of Species Diversity by Predation in the Tierra System Maintenance of Species Diversity by Predation in the Tierra System Jie Shao and Thomas S. Ray Department of Zoology, University of Oklahoma, Norman, Oklahoma 7319, USA jshao@ou.edu Abstract One of the

More information

Chapter 2 Simplicity in the Universe of Cellular Automata

Chapter 2 Simplicity in the Universe of Cellular Automata Chapter 2 Simplicity in the Universe of Cellular Automata Because of their simplicity, rules of cellular automata can easily be understood. In a very simple version, we consider two-state one-dimensional

More information