Rule 30

Last updated
A Conus textile shell similar in appearance to Rule 30. Textile cone.JPG
A Conus textile shell similar in appearance to Rule 30.

Rule 30 is an elementary cellular automaton introduced by Stephen Wolfram in 1983. [2] Using Wolfram's classification scheme, Rule 30 is a Class III rule, displaying aperiodic, chaotic behaviour.

Contents

This rule is of particular interest because it produces complex, seemingly random patterns from simple, well-defined rules. Because of this, Wolfram believes that Rule 30, and cellular automata in general, are the key to understanding how simple rules produce complex structures and behaviour in nature. For instance, a pattern resembling Rule 30 appears on the shell of the widespread cone snail species Conus textile . Rule 30 has also been used as a random number generator in Mathematica, [3] and has also been proposed as a possible stream cipher for use in cryptography. [4] [5]

Rule 30 is so named because 30 is the smallest Wolfram code which describes its rule set (as described below). The mirror image, complement, and mirror complement of Rule 30 have Wolfram codes 86, 135, and 149, respectively.

Rule set

In all of Wolfram's elementary cellular automata, an infinite one-dimensional array of cellular automaton cells with only two states is considered, with each cell in some initial state. At discrete time intervals, every cell spontaneously changes state based on its current state and the state of its two neighbors. For Rule 30, the rule set which governs the next state of the automaton is:

current pattern111110101100011010001000
new state for center cell00011110

If the left, center, and right cells are denoted (p,q,r) then the corresponding formula for the next state of the center cell can be expressed as p xor (q or r). It is called Rule 30 because in binary, 000111102 = 30.

The following diagram shows the pattern created, with cells colored based on the previous state of their neighborhood. Darker colors represent "1" and lighter colors represent "0". Time increases down the vertical axis.

Cellular Automata running Wolfram-rule-30.svg

Structure and properties

The following pattern emerges from an initial state in which a single cell with state 1 (shown as black) is surrounded by cells with state 0 (white).

Rule30-256-rows.png
Rule 30 cellular automaton

Here, the vertical axis represents time and any horizontal cross-section of the image represents the state of all the cells in the array at a specific point in the pattern's evolution. Several motifs are present in this structure, such as the frequent appearance of white triangles and a well-defined striped pattern on the left side; however the structure as a whole has no discernible pattern. The number of black cells at generation is given by the sequence

1, 3, 3, 6, 4, 9, 5, 12, 7, 12, 11, 14, 12, 19, 13, 22, 15, 19, ... (sequence A070952 in the OEIS )

and is approximately .[ citation needed ]

Chaos

Rule 30 meets rigorous definitions of chaos proposed by Devaney and Knudson. In particular, according to Devaney's criteria, Rule 30 displays sensitive dependence on initial conditions (two initial configurations that differ only in a small number of cells rapidly diverge), its periodic configurations are dense in the space of all configurations, according to the Cantor topology on the space of configurations (there is a periodic configuration with any finite pattern of cells), and it is mixing (for any two finite patterns of cells, there is a configuration containing one pattern that eventually leads to a configuration containing the other pattern). According to Knudson's criteria, it displays sensitive dependence and there is a dense orbit (an initial configuration that eventually displays any finite pattern of cells). Both of these characterizations of the rule's chaotic behavior follow from a simpler and easy to verify property of Rule 30: it is left permutative, meaning that if two configurations C and D differ in the state of a single cell at position i, then after a single step the new configurations will differ at cell i + 1. [6]

Applications

Random number generation

As is apparent from the image above, Rule 30 generates seeming randomness despite the lack of anything that could reasonably be considered random input. Stephen Wolfram proposed using its center column as a pseudorandom number generator (PRNG); it passes many standard tests for randomness, and Wolfram previously used this rule in the Mathematica product for creating random integers. [7]

Sipper and Tomassini have shown that as a random number generator Rule 30 exhibits poor behavior on a chi squared test when applied to all the rule columns as compared to other cellular automaton-based generators. [8] The authors also expressed their concern that "The relatively low results obtained by the rule 30 CA may be due to the fact that we considered N random sequences generated in parallel, rather than the single one considered by Wolfram." [9]

Decoration

Detail of Cambridge North railway station cladding Cmglee Cambridge North cladding detail.jpg
Detail of Cambridge North railway station cladding

The Cambridge North railway station is decorated with architectural panels displaying the evolution of Rule 30 (or equivalently under black-white reversal, Rule 135). [10] The design was described by its architect as inspired by Conway's Game of Life, a different cellular automaton studied by Cambridge mathematician John Horton Conway, but is not actually based on Life. [11] [12]

Programming

The state update can be done quickly by bitwise operations, if the cell values are represented by the bits within one (or more) computer words. Here shown in C++:

#include<stdint.h>#include<iostream>intmain(){uint64_tstate=1u<<31;for(inti=0;i<32;++i){for(intj=64;j--;){std::cout<<char(state>>j&1?'O':'.');}std::cout<<'\n';state=(state>>1)^(state|state<<1);}}

This program produces the following output:

................................O............................... ...............................OOO.............................. ..............................OO..O............................. .............................OO.OOOO............................ ............................OO..O...O........................... ...........................OO.OOOO.OOO.......................... ..........................OO..O....O..O......................... .........................OO.OOOO..OOOOOO........................ ........................OO..O...OOO.....O....................... .......................OO.OOOO.OO..O...OOO...................... ......................OO..O....O.OOOO.OO..O..................... .....................OO.OOOO..OO.O....O.OOOO.................... ....................OO..O...OOO..OO..OO.O...O................... ...................OO.OOOO.OO..OOO.OOO..OO.OOO.................. ..................OO..O....O.OOO...O..OOO..O..O................. .................OO.OOOO..OO.O..O.OOOOO..OOOOOOO................ ................OO..O...OOO..OOOO.O....OOO......O............... ...............OO.OOOO.OO..OOO....OO..OO..O....OOO.............. ..............OO..O....O.OOO..O..OO.OOO.OOOO..OO..O............. .............OO.OOOO..OO.O..OOOOOO..O...O...OOO.OOOO............ ............OO..O...OOO..OOOO.....OOOO.OOO.OO...O...O........... ...........OO.OOOO.OO..OOO...O...OO....O...O.O.OOO.OOO.......... ..........OO..O....O.OOO..O.OOO.OO.O..OOO.OO.O.O...O..O......... .........OO.OOOO..OO.O..OOO.O...O..OOOO...O..O.OO.OOOOOO........ ........OO..O...OOO..OOOO...OO.OOOOO...O.OOOOO.O..O.....O....... .......OO.OOOO.OO..OOO...O.OO..O....O.OO.O.....OOOOO...OOO...... ......OO..O....O.OOO..O.OO.O.OOOO..OO.O..OO...OO....O.OO..O..... .....OO.OOOO..OO.O..OOO.O..O.O...OOO..OOOO.O.OO.O..OO.O.OOOO.... ....OO..O...OOO..OOOO...OOOO.OO.OO..OOO....O.O..OOOO..O.O...O... ...OO.OOOO.OO..OOO...O.OO....O..O.OOO..O..OO.OOOO...OOO.OO.OOO.. ..OO..O....O.OOO..O.OO.O.O..OOOOO.O..OOOOOO..O...O.OO...O..O..O. .OO.OOOO..OO.O..OOO.O..O.OOOO.....OOOO.....OOOO.OO.O.O.OOOOOOOOO 

See also

Related Research Articles

<span class="mw-page-title-main">Conway's Game of Life</span> Two-dimensional cellular automaton devised by J. H. Conway in 1970

The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970. It is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input. One interacts with the Game of Life by creating an initial configuration and observing how it evolves. It is Turing complete and can simulate a universal constructor or any other Turing machine.

<span class="mw-page-title-main">Cellular automaton</span> Discrete model studied in computer science

A cellular automaton is a discrete model of computation studied in automata theory. Cellular automata are also called cellular spaces, tessellation automata, homogeneous structures, cellular structures, tessellation structures, and iterative arrays. Cellular automata have found application in various areas, including physics, theoretical biology and microstructure modeling.

FIGlet is a computer program that generates text banners, in a variety of typefaces, composed of letters made up of conglomerations of smaller ASCII characters. The name derives from "Frank, Ian and Glenn's letters".

<span class="mw-page-title-main">Rule 110</span> Elementary cellular automaton

The Rule 110 cellular automaton is an elementary cellular automaton with interesting behavior on the boundary between stability and chaos. In this respect, it is similar to Conway's Game of Life. Like Life, Rule 110 with a particular repeating background pattern is known to be Turing complete. This implies that, in principle, any calculation or computer program can be simulated using this automaton.

A cellular automaton (CA) is Life-like if it meets the following criteria:

<span class="mw-page-title-main">Seeds (cellular automaton)</span> 2D cellular automaton similar to Conways Game of Life

Seeds is a cellular automaton in the same family as the Game of Life, initially investigated by Brian Silverman and named by Mirek Wójtowicz. It consists of an infinite two-dimensional grid of cells, each of which may be in one of two states: on or off. Each cell is considered to have eight neighbors, as in Life. In each time step, a cell turns on or is "born" if it was off or "dead" but had exactly two neighbors that were on; all other cells turn off. Thus, in the notation describing the family of cellular automata containing Life, it is described by the rule B2/S.

<span class="mw-page-title-main">Garden of Eden (cellular automaton)</span> Pattern that has no predecessors

In a cellular automaton, a Garden of Eden is a configuration that has no predecessor. It can be the initial configuration of the automaton but cannot arise in any other way. John Tukey named these configurations after the Garden of Eden in Abrahamic religions, which was created out of nowhere.

<span class="mw-page-title-main">Second-order cellular automaton</span> Type of reversible cellular automaton

A second-order cellular automaton is a type of reversible cellular automaton (CA) invented by Edward Fredkin where the state of a cell at time t depends not only on its neighborhood at time t − 1, but also on its state at time t − 2.

<span class="mw-page-title-main">Block cellular automaton</span> Kind of cellular automaton

A block cellular automaton or partitioning cellular automaton is a special kind of cellular automaton in which the lattice of cells is divided into non-overlapping blocks and the transition rule is applied to a whole block at a time rather than a single cell. Block cellular automata are useful for simulations of physical quantities, because it is straightforward to choose transition rules that obey physical constraints such as reversibility and conservation laws.

Wolfram code is a widely used numbering system for one-dimensional cellular automaton rules, introduced by Stephen Wolfram in a 1983 paper and popularized in his book A New Kind of Science.

<span class="mw-page-title-main">Cyclic cellular automaton</span>

A cyclic cellular automaton is a kind of cellular automaton rule developed by David Griffeath and studied by several other cellular automaton researchers. In this system, each cell remains unchanged until some neighboring cell has a modular value exactly one unit larger than that of the cell itself, at which point it copies its neighbor's value. One-dimensional cyclic cellular automata can be interpreted as systems of interacting particles, while cyclic cellular automata in higher dimensions exhibit complex spiraling behavior.

Cellular automata, as with other multi-agent system models, usually treat time as discrete and state updates as occurring synchronously. The state of every cell in the model is updated together, before any of the new states influence other cells. In contrast, an asynchronous cellular automaton is able to update individual cells independently, in such a way that the new state of a cell affects the calculation of states in neighbouring cells.

A randomness test, in data evaluation, is a test used to analyze the distribution of a set of data to see whether it can be described as random (patternless). In stochastic modeling, as in some computer simulations, the hoped-for randomness of potential input data can be verified, by a formal test for randomness, to show that the data are valid for use in simulation runs. In some cases, data reveals an obvious non-random pattern, as with so-called "runs in the data". If a selected set of data fails the tests, then parameters can be changed or other randomized data can be used which does pass the tests for randomness.

The majority problem, or density classification task, is the problem of finding one-dimensional cellular automaton rules that accurately perform majority voting.

<span class="mw-page-title-main">Rule 184</span> Elementary cellular automaton

Rule 184 is a one-dimensional binary cellular automaton rule, notable for solving the majority problem as well as for its ability to simultaneously describe several, seemingly quite different, particle systems:

<span class="mw-page-title-main">Rule 90</span> Elementary cellular automaton

In the mathematical study of cellular automata, Rule 90 is an elementary cellular automaton based on the exclusive or function. It consists of a one-dimensional array of cells, each of which can hold either a 0 or a 1 value. In each time step all values are simultaneously replaced by the XOR of their two neighboring values. Martin, Odlyzko & Wolfram (1984) call it "the simplest non-trivial cellular automaton", and it is described extensively in Stephen Wolfram's 2002 book A New Kind of Science.

The Curtis–Hedlund–Lyndon theorem is a mathematical characterization of cellular automata in terms of their symbolic dynamics. It is named after Morton L. Curtis, Gustav A. Hedlund, and Roger Lyndon; in his 1969 paper stating the theorem, Hedlund credited Curtis and Lyndon as co-discoverers. It has been called "one of the fundamental results in symbolic dynamics".

<span class="mw-page-title-main">Sawtooth (cellular automaton)</span> Type of pattern whose population grows without bound but does not tend to infinity

In a cellular automaton, a finite pattern is called a sawtooth if its population grows without bound but does not tend to infinity. In other words, a sawtooth is a pattern with population that reaches new heights infinitely often, but also infinitely often drops below some fixed value. Their name comes from the fact that their plot of population versus generation number looks roughly like an ever-increasing sawtooth wave.

<span class="mw-page-title-main">Elementary cellular automaton</span> Mathematics concept

In mathematics and computability theory, an elementary cellular automaton is a one-dimensional cellular automaton where there are two possible states and the rule to determine the state of a cell in the next generation depends only on the current state of the cell and its two immediate neighbors. There is an elementary cellular automaton which is capable of universal computation, and as such it is one of the simplest possible models of computation.

<span class="mw-page-title-main">Reversible cellular automaton</span> Cellular automaton that can be run backwards

A reversible cellular automaton is a cellular automaton in which every configuration has a unique predecessor. That is, it is a regular grid of cells, each containing a state drawn from a finite set of states, with a rule for updating all cells simultaneously based on the states of their neighbors, such that the previous state of any cell before an update can be determined uniquely from the updated states of all the cells. The time-reversed dynamics of a reversible cellular automaton can always be described by another cellular automaton rule, possibly on a much larger neighborhood.

References

  1. Stephen Coombes (February 2009). "The Geometry and Pigmentation of Seashells" (PDF). www.maths.nottingham.ac.uk. University of Nottingham . Retrieved 2013-04-10.
  2. Wolfram, S. (1983). "Statistical mechanics of cellular automata". Rev. Mod. Phys. 55 (3): 601–644. Bibcode:1983RvMP...55..601W. doi:10.1103/RevModPhys.55.601.
  3. "Random Number Generation". Wolfram Mathematica 8 Documentation. Retrieved 31 December 2011.
  4. Wolfram, S. (1985). "Cryptography with cellular automata". Proceedings of Advances in Cryptology – CRYPTO '85. Lecture Notes in Computer Science 218, Springer-Verlag. p. 429. doi:10.1007/3-540-39799-X_32.
  5. Meier, Willi; Staffelbach, Othmar (1991). "Analysis of pseudo random sequences generated by cellular automata". Advances in Cryptology – Proc. Workshop on the Theory and Application of Cryptographic Techniques, EUROCRYPT '91. Lecture Notes in Computer Science 547, Springer-Verlag. p. 186. doi: 10.1007/3-540-46416-6_17 .
  6. Cattaneo, Gianpiero; Finelli, Michele; Margara, Luciano (2000). "Investigating topological chaos by elementary cellular automata dynamics". Theoretical Computer Science. 244 (1–2): 219–241. doi:10.1016/S0304-3975(98)00345-4. MR   1774395.
  7. Lex Fridman (2018-03-02), MIT AGI: Computational Universe (Stephen Wolfram), archived from the original on 2021-12-19, retrieved 2018-03-07
  8. Sipper, Moshe; Tomassini, Marco (1996). "Generating parallel random number generators by cellular programming". International Journal of Modern Physics C. 7 (2): 181–190. Bibcode:1996IJMPC...7..181S. doi:10.1142/S012918319600017X.
  9. Page 6 of Sipper, Moshe; Tomassini, Marco (1996). "Generating parallel random number generators by cellular programming". International Journal of Modern Physics C. 7 (2): 181–190. Bibcode:1996IJMPC...7..181S. doi:10.1142/S012918319600017X.
  10. Wolfram, Stephen (June 1, 2017), "Oh My Gosh, It's Covered in Rule 30s!", Stephen Wolfram's blog
  11. Lawson-Perfect, Christian (May 23, 2017), "Right answer for the wrong reason: cellular automaton on the new Cambridge North station", The Aperiodical
  12. Purtill, Corinne. "A UK train station's tribute to a famous mathematician got everything right except his math". Quartz. Retrieved 2017-06-12.