6. Conclusions

As an alternative to the mathematical, ideal cellular automata model, several authors introduced variations. The most frequently used models include nonhomogenous cellular automata (with maximum four different rules performed by subsets of cells) and self-programmable cellular automata (that can be considered either as a hierarchical structure or as two parallel cellular automata). Other techniques that impact the apparent complexity use larger neighbor-

The performances of a random number generator are determined by the statistical properties of the output, although there are other important properties like the dimension of sequence, speed, and costs of implementation. Since random number generators produce sequences that are not really random (being based on an algorithm or a process), their "randomness "is established by several statistical criteria that try to evaluate how difficult is to predict the

One of the first systematic approaches to randomness evaluation was done by Knuth [32] who suggested a series of statistical tests (for instance, the frequency test, the autocorrelation or serial correlation test, the run test, etc.). Marsaglia [33] added several tests and launched a battery of 15 statistical tests in 1995. The new state of the art, since 2010, is established by the

There is no comparative study (and this is over the intention of this chapter) of the performances of all these alternatives presented by different authors. As a general remark, their evaluation is often done at the state-of-the-art level of the time when they were developed. Before the introduction of the Diehard test suite [33], the authors performed their own tests (see, for instance, [8, 20, 21]). Since the late 1990s, the Diehard tests were used to assess the performances of cellular automata randomizers (like in Refs [26–28]). Most of the recent work

Performances should be related to the application of the generators. Most common applications reported in scientific literature are integrated circuit verification (as in BIST pattern generators) and cryptography. Therefore, the performances should be evaluated according to the application. For BIST pattern generators, a comparison with LFSR is a common practice and is sufficient [6] (since LFSR is one of the consecrated methods for hardware random number generation). For cryptography, there are more strict requirements, both for hardware and software versions of random number generation. On the other hand, BIST applications are

Figure 6 presents a consecrated architecture for cryptography with cellular automata [25]. The initial message is combined with the cellular automata output to obtain the encrypted message (frequently used transformation is the exclusive or, XOR, function). In the decryption stage, the encrypted message is again combined with the output of identical cellular automata. The key is, in this scheme, the initial state (sometimes combined with the local rule, if several rules are available). Comparing the hardware implementations of cellular automata reported in the scientific literature, one can notice the positive impact of the development of the FPGA technology,

NIST test suite [34], specially designed for cryptographic applications.

evaluates the performances based on NIST test suite [24, 30, 31].

almost intended for hardware implementation [6, 26, 28].

hoods in the next state computation, or previous states.

178 From Natural to Artificial Intelligence - Algorithms and Applications

evolution or compute the previous values.

Cellular automata are one of the iconic models of massive parallelism, and their development is related to the artificial intelligence and artificial life domains. In absence of an effective hardware implementation, one can say that the model never reached its full potential as a massive parallel machine. Another drawback is the difficulty of synthesis of cellular automata that perform a specific global processing task, based on elementary computations at cell level. However, as dynamic systems with a vast phenomenology, they are an important direction of research in the theory of complexity, efficient modeling, and simulation tools and as the examples in this review have proved, good random number generators. The applications of cellular automata in random number generation are based on their apparent complex behavior. Although the direct process is very simple, it is not reversible—the complexity of the inverse determination grows exponentially.

Random number generation is one of the successful applications of cellular automata, particularly for cryptography and verification of circuits (BIST generators). This chapter presents a selection of the results presented in the scientific literature. Two main directions of research were identified, based on these examples: the mathematical approach to demonstrate the properties of particular rules and configurations, and the engineering and empiric approach to develop new architectures. Some examples are oriented toward "classic," close to ideal model of cellular automata, while others include consistent modifications at structural and functional levels. Both hardware and software cellular automata randomizers are reported in the scientific literature. The development of the FPGA technology offers efficient solutions for hardware versions, when needed.

rule 30 is given. Table 2 gives the specific configuration in the look-up table for some of

Cellular Automata and Randomization: A Structural Overview

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

181

In the basic rule in the Game of Life binary, two-dimensional cellular automata, the significance of 0 and 1 is that a cell is dead or alive. With a Moore neighborhood, the rule can be

• if a cell is alive, it remains alive in the next step only if it has two of three living neighbors,

In the Game of Life, there are several patterns that persist for ever, either in a dynamic or static manner. For instance, gliders are patterns that are moving. The demonstration of the Turing equivalence for the Game of Life involves flows of gliders that perform logic functions.

Rule 110, in linear cellular automata (binary code 01101110), is a class IV rule in Wolfram's

Research Institute for Artificial Intelligence, Politehnica University of Bucharest, Bucharest,

[1] Coveney P, Highfield R. Frontiers of Complexity, the Search for Order in a Chaotic World.

[2] Garzon M. Models of Massive Parallelism. Berlin: Springer-Verlag; 2012

frequently used rules cited in this paper, according to the references list.

A 2. Frequently used local rules for random number generation with linear cellular automata.

Rule LUT configuration Examples 30 00011110 [10]

 01011010 [20, 21, 26, 27] 01101001 [22, 27] 10010110 [20, 21, 26, 27] 10100101 [22, 27]

• if a cell is dead, it becomes alive only if it has three living neighbors, • a living cell with less than two neighbors alive will die of loneliness,

• a living cell with more than three neighbors alive will die overcrowded.

taxonomy and, like Life, is Turing equivalent.

London: Faber and Faber; 1995

Address all correspondence to: monica.dascalu@upb.ro

described as follows:

Author details

Monica Dascălu

Romania

References
