2.1. The model—ideal and real

networks and genetic algorithms. These three models have also in common the natural inspiration, as each of them replicates some features or constructive principles of natural systems [2]. For the genetic algorithms, the natural analogy is the evolutionist idea of combining individuals with certain qualities to obtain a better individual, together with the survival of the fittest concept. For neural networks, it is the resemblance with the natural neural systems and the way biologic neurons transmit information combining the input stimuli. For cellular automata, it is the structural analogy—large systems consisting of simple elements having only local

A different manifestation of self-organization is associated with the three models [3]. For genetic algorithms, the self-organization is the process of solving an optimization problem, combining parts of solutions as in the analogy with the biological evolution. In the case of neural networks, the self-organization is associated with the learning algorithms (which may imply millions of coefficients for deep learning, convolutional neural networks). For cellular automata, the self-organization refers to the coherent global evolution, which sometimes displays patterns or regularities, in a system that does not have a central, global control.

One of the main features of cellular automata is considered to be their simplicity. However, the very first cellular automata, proposed by von Neumann and Ulam in the early 1950s had 29 states per cell. It was a mathematical model of an artificial system capable of self-reproduction [1] (able to construct a similar object). This concept of artificial self-reproduction opens the new horizon of the so-called artificial life, since reproduction is considered the main feature of the

Probably the most famous example of cellular automata is the Game of Life [4], invented by John Conway in 1970. This example of two-dimensional binary cellular automata is the best illustration for the main feature of cellular automata: a simple, regular structure displays a vast phenomenology, which may manifest a certain order starting from random states. In the Game of Life, the cells of two-dimensional cellular automata may have only two states (0 and 1, meaning "dead" or "alive"). In the next time step, the cells will live, die, or be born depending on the number of living neighbors in the present moment. The significance that Conway associated to the Game of Life evolution is only symbolic but became iconic for artificial life. Like the whole domain of artificial intelligence, cellular automata have passed through periods of development and stagnation. Successful applications in modeling and simulation of complex processes, cryptography, image processing, etc., were developed and reported in the scientific literature (for a review of applications, see [5, 6]). Random number generation is one of the typical applications for cellular automata, with applications like built-in self-test (BIST)

The rest of the chapter is organized as follows: Section 2 presents the mathematical (ideal) model of the cellular automata, the structure and phenomenology of the corresponding computing (real-life) model, and its applications. In order to study and use cellular automata, one should understand both the potential and limitations of the model—Section 3 discusses some of its fundamental issues (complexity vs. simplicity, universality vs. difficulty of synthesis,

interactions, like a volume of gas particles.

166 From Natural to Artificial Intelligence - Algorithms and Applications

of integrated circuits and cryptography.

massive parallelism vs. sequential simulation).

living beings.

The cellular automata model is defined as a combination of structure and functionality. The structure consists of finite automata and a network of interconnections between them. The functionality is completely defined by local rules that depend on local conditions, related to the type of interconnection network. Specifically, this means that there is no global control. The basic components (finite-state machines) are named cells. The next state of each cell is computed based on the present state of the cell and its neighbors (in the network). All cells are updated synchronously. Figure 1 suggests how the next state is computed in linear cellular automata, for one cell. All cells' states are computed in a similar manner.

There are two assumptions for the ideal model: infinity and regularity. In reality, the architecture is finite and boundary conditions (functional and topologic) should be defined. Depending on these conditions, cellular automata may be also irregular, at least at the edges.

Figure 1. The computation of the next state for one cell, in linear cellular automata.

The most important features of the generic cellular automata computing model are: it is discrete in space and in time, it is finite and regular (except for the limit conditions), and it is parallel. The model can be regarded, in terms of computation theory, as an elementary single instruction multiple data (SIMD) architecture, since all cells perform identical operations [2]. The system is synchronous; therefore, in simulations, the algorithm that computes the next configuration can update cells' states in any order. The local rules, or functions, or laws, are deterministic, implying a global deterministic evolution (which is, however, often hard to predict).

• neighborhood—the set of cells, which are involved in the computation of the next state

Cellular Automata and Randomization: A Structural Overview

http://dx.doi.org/10.5772/intechopen.79812

169

• neighborhood dimension—the number of cells involved locally in the computation of the

• von Neumann and Moore neighborhood—in two-dimensional rectangular topologies, these types of neighborhoods contain the closest four neighbors (van Neumann), or eight

• limit conditions (or boundary conditions) refer to the interconnection of the cells at the

• basin of attraction—graph representation that illustrates the cyclic trajectory in the con-

• programmable cellular automata—in the context of an implementation, it allows the

A frequently used denomination of local rules was introduced by Wolfram in [8]. In the context of linear binary cellular automata with neighborhood dimension of three, each rule (which is a Boolean function with three variables) is designated by a decimal number, equal to the binary number obtained from the look-up table of the function. See Appendix 1 for most frequently

In applications, the synthesis of cellular automata implies to define the particular topology (number of states per cell, number of cells, type of interconnection network, dimension of neighborhood, border conditions), the local rules, timing conditions, and the seed, in order to obtain the desired functionality. For instance, in image processing applications, the initial configuration is the image. The local rules are established in order to obtain the desired function (for instance, edge detection). The automata will run for a certain number of states or

In the previous example, the input data are the initial configuration, the output data are the final configuration, and the computation related to the image processing task is done by the evolution of the global state, through local changes. Computation with cellular automata may also be considered in terms of propagation and combination of patterns, in an analogy with

• rule 30—one of the most studied evolution rules, introduced by Wolfram in [10],

(see Figures 1 and 2),

neighbors (Moore), plus the central cell

• rule—the function performed by each cell,

• configuration—vector containing all cells' states,

• trajectory—evolution in the configurations' space,

• seed—the initial configuration or initial state,

modification of the rule or/and topology.

until it reaches a stable configuration.

propagation of signals and logical combination of inputs.

• cyclic boundary conditions—the opposite edges are adjacent,

next state value,

figurations' space,

used rules.

edges

The complexity of the resulting structure, as a digital system, is depending on the number of cells' states, the number of cells (the dimension), and the dimension of the neighborhood, related to the type of interconnection network [9].
