Home Download Help Forum Resources Extensions FAQ NetLogo Publications Contact Us Donate Models: Library Community Modeling Commons Beginners Interactive NetLogo Dictionary (BIND) NetLogo Dictionary User Manuals: Web Printable Chinese Czech Farsi / Persian Japanese Spanish

NetLogo Models Library: 
If you download the NetLogo application, this model is included. You can also Try running it in NetLogo Web 
This program models one particular onedimensional cellular automaton  the one known as "rule 110".
A cellular automaton (aka CA) is a computational machine that performs actions based on certain rules. It can be thought of as a "board" which is divided into cells (such as the square cells of a checkerboard). Each cell can be either on or off. This is called the "state" of the cell. The board is initialized with some cells on and some off. A clock is then started and at each "tick" of the clock the rules are "fired" and this results in some cells turning "on" and some turning "off".
There are many kinds of cellular automata. In this model, we explore a onedimensional CA  the simplest type of CA. In this case of onedimensional cellular automata, each cell checks the state of itself and its neighbors to the left and right, and then sets the cell below itself to either "on" or "off", depending upon the rule. This is done in parallel and continues until the bottom of the board.
This model is one of a collection of 1D CA models. It is meant for the beginning user. If you have experience with CAs, we suggest you check out a more sophisticated model such as CA 1D Elementary.
In his book, "A New Kind of Science", Stephen Wolfram argues that simple computational devices such as CAs lie at the heart of nature's patterns and that CAs are a better tool than mathematical equations for the purpose of scientifically describing the world.
As the CA computes, each patch checks the color of itself and the patches directly to the left and right of it, and then paints the patch below it according to Rule 110:
```text Y Y Y Y Y B Y B Y Y B B B Y Y B
B Y Y B Y B B B Y B B B Y Y Y B ```
For example, if we have a Rule 110 CA, and the current cell is yellow and its left neighbor is black and its right neighbor is black, the cell below it is painted yellow.
Initialization & Running:  SETUP initializes the model with a single cell on in the center.  SETUPCONTINUE copies the last row of the previous run to the top so that you can continue running the model when you click GO.  GO begins running the model with the currently set rule. It continues until the end of the view.
Although the rules are very simple, extremely complex patterns emerge in Rule 110. These patterns are not highly regular nor are they completely random.
Note that the pictures generated by this model do not exactly match the pictures in Wolfram's book, "A New Kind of Science". That's because Wolfram's book computes the CA as an infinite grid while the NetLogo model "wraps" around the horizontal boundaries of the world. To get pictures closer to the ones in the book, you may need to increase the size of the world. You can increase the size of the world up to the available memory on your computer. However, the larger the world, the longer time it will take NetLogo to compute and display the results.
Try changing the dimensions of the world either to see more of the CA's pattern or to focus in on a region of interest.
What happens to the regularity when SETUPCONTINUE is used a number of times? Why do you suppose that is? (Note that in this model, the CA wraps around the sides.)
Is there any consistent pattern to the way this CA evolves?
If you look at a vertical line, are there more yellow or black cells?
Can you predict what the color of the nth cell on a line will be?
What if you wanted to observe the behavior of a CA over many iterations without having to click continue every time the CA reaches the bottom of the view? Simply replace the stop
with setupcontinue
in the go procedure:
if (row = minpycor)
[ stop ]
with
if (row = minpycor)
[ setupcontinue ]
What if a cell's neighborhood was five  two to the left, itself, and two to the right?
Classical CAs use an "infinite board". The CA shown here "wraps" when it reaches the edge of the world (sometimes known as a periodic CA or CA with periodic boundary condition). How would you implement in NetLogo a CA that comes closer to the infinite board?
Try making a twodimensional cellular automaton. The neighborhood could be the eight cells around it, or just the cardinal cells (the cells to the right, left, above, and below).
Life  an example of a twodimensional cellular automaton CA 1D Rule 30  the basic rule 30 model CA 1D Rule 30 Turtle  the basic rule 30 model implemented using turtles CA 1D Rule 90  the basic rule 90 model CA 1D Rule 250  the basic rule 250 model CA 1D Elementary  a model that shows all 256 possible simple 1D cellular automata CA 1D Totalistic  a model that shows all 2,187 possible 1D 3color totalistic cellular automata.
Thanks to Eytan Bakshy for his help with this model.
The first cellular automaton was conceived by John Von Neumann in the late 1940's for his analysis of machine reproduction under the suggestion of Stanislaw M. Ulam. It was later completed and documented by Arthur W. Burks in the 1960's. Other twodimensional cellular automata, and particularly the game of "Life," were explored by John Conway in the 1970's. Many others have since researched CA's. In the late 1970's and 1980's Chris Langton, Tom Toffoli and Stephen Wolfram did some notable research. Wolfram classified all 256 onedimensional twostate singleneighbor cellular automata. In his recent book, "A New Kind of Science," Wolfram presents many examples of cellular automata and argues for their fundamental importance in doing science.
See also:
Von Neumann, J. and Burks, A. W., Eds, 1966. Theory of SelfReproducing Automata. University of Illinois Press, Champaign, IL.
Toffoli, T. 1977. Computation and construction universality of reversible cellular automata. J. Comput. Syst. Sci. 15, 213231.
Langton, C. 1984. Selfreproduction in cellular automata. Physica D 10, 134144
Wolfram, S. 1986. Theory and Applications of Cellular Automata: Including Selected Papers 19831986. World Scientific Publishing Co., Inc., River Edge, NJ.
BarYam, Y. 1997. Dynamics of Complex Systems. Perseus Press. Reading, Ma.
Wolfram, S. 2002. A New Kind of Science. Wolfram Media Inc. Champaign, IL. See chapters 2 and 3 for more information on 1 Dimensional CAs See index for more information specifically about Rule 110.
If you mention this model or the NetLogo software in a publication, we ask that you include the citations below.
For the model itself:
Please cite the NetLogo software as:
Copyright 2002 Uri Wilensky.
This work is licensed under the Creative Commons AttributionNonCommercialShareAlike 3.0 License. To view a copy of this license, visit https://creativecommons.org/licenses/byncsa/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Commercial licenses are also available. To inquire about commercial licenses, please contact Uri Wilensky at uri@northwestern.edu.
This model was created as part of the projects: PARTICIPATORY SIMULATIONS: NETWORKBASED DESIGN FOR SYSTEMS LEARNING IN CLASSROOMS and/or INTEGRATED SIMULATION AND MODELING ENVIRONMENT. The project gratefully acknowledges the support of the National Science Foundation (REPP & ROLE programs)  grant numbers REC #9814682 and REC0126227.
(back to the NetLogo Models Library)