4.1. Examples of cellular automata pseudorandom number generators

Based on the phenomenology of cellular automata introduced by Wolfram in [8], the class 3 linear, binary automata were proposed as pseudorandom generators [10]. There are basically

Figure 4. Block scheme of a pseudorandom signal/number generator (PRNG).

two ways to consider the output of such a generator, either as a one-bit digital signal (given by the evolution of the state of one particular cell), or an n-bit output (a subset of the global configuration). The statistical properties depend both on the rule and on the initial state, and the choice of the n-bit vector (because of intrinsic correlation of neighboring cells).

The list above is not exhaustive but gives an image of the versatility of cellular automata developments, starting from the very restrictive, regular, infinite ideal model. On the other extreme, there are random Boolean networks, often called n-k networks that allow any inho-

A global theory of all models derived from cellular automata does not exist by now and probably will never exist. Because most of the applications in this field are derived empirically and also empirically tested, this is not truly a weak point, as it can be compensated by appropriate

Randomization is essential for several artificial intelligence applications: cryptography, data mining, games, integrated circuits verification, etc. Cellular automata have been proposed and used as pattern generators such as: universal pattern generators, pseudorandom signal generators, generation of numerical sequences with predefined statistic properties, BIST generators

The block scheme of a pseudorandom signal generator is represented in Figure 4. The output is considered to be pseudorandom since it is obviously produced by an algorithm (transformation), starting from the initial state (seed). The output sequence appears to be random for someone who does not know the generation algorithm, meaning that the previous number in the sequence cannot be computed, nor the next numbers predicted, based on the present output. The apparent complexity of cellular automata phenomenology makes them useful tools for pseudorandom number/signal generators (frequently, the word "pseudo" is skipped). In this section, we will present such some examples of cellular automata random number generators reported in scientific literature, while next section will discuss their properties, implementa-

Based on the phenomenology of cellular automata introduced by Wolfram in [8], the class 3 linear, binary automata were proposed as pseudorandom generators [10]. There are basically

mogeneous set of rules and also random connectivity.

174 From Natural to Artificial Intelligence - Algorithms and Applications

for integrated circuit's verification [6].

tion, and applications.

4. Random number generation with cellular automata

4.1. Examples of cellular automata pseudorandom number generators

Figure 4. Block scheme of a pseudorandom signal/number generator (PRNG).

experiments.

Note that all cellular automata will eventually enter into an attraction cycle—the length of the trajectory is related not only to the rule, the initial state but also to the dimension of the automata. This is why the "infinity" assumption often is mentioned in theoretical demonstrations regarding statistic properties of cellular automata randomizers. For better properties, larger automata will be used.

Wolfram analyzed the properties of several rules and proposed a generator based on the socalled "rule 30," for a one-bit signal generated by the central cell [10]. Figure 5 presents the results of the simulation of a 64-cells linear cellular automata with rule 30 (Verilog HDL simulation), for 25 time steps.

Further research was oriented in discovering better rules and initial configurations (seeds) for improving the statistical properties of the sequence. A simple solution in this direction implies the use of two different rules, thus obtaining heterogenous cellular automata. Hortensius et al. proved in [20] that the results obtained with heterogenous rules (two different local rules) are better than in homogenous automata using either of those rules. Commonly used rules are listed in Appendix 1.

Figure 5. The output of a 64-cells linear cellular automata with rule 30 (Verilog HDL simulation).

Sipper and Tomassini [21] included two innovative improvements: the selection of rules based on an evolutionary algorithm (four rules were selected, namely 90, 105, 150, and 165) and the so-called "time spacing" of the sequence, meaning that the output sequence skips some time steps. This technique improves the quality of the sequence, according to the authors, as compared to classical random number generators.

with the output of a linear feedback shift register (LSFR) to produce a 1-bit random output using 32-bit cellular automata. A combination of rules 90 and 150 was applied in the cellular automata. The technique of self-programming, meaning that the local rules are changed during the evolution, was presented in [27]. The local rules are changed based on local conditions (in [9], the global configuration determines the rule). The result is a hierarchical structure of cellular automata. Each cell can switch between two rules (90 and 165, 150, and 105 were used), depending on a "super rule" based on the state of a larger neighborhood (up to 7 cells). The idea of the "super rule" is to

Cellular Automata and Randomization: A Structural Overview

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

177

interrupt static behavior (the patterns that appear in low-quality pseudorandom signals).

splittable look-up table concept and embedded carry logic of the FPGA.

poor, depending on the seed, are reported in the scientific literature.

The idea of self-programmable cellular automata, with a hierarchical structure, and a behavior based on local conditions, was developed in several ways since its introduction in [27]. For instance, [28] presents a combination of this technique in hybrid cellular automata, with a linear feedback shift register. The global feedback is used in [29] in the generation of the super rule with the additional selection of the cell whose rule is changed. In [30], the self-programmable cellular automata are optimized for field programable gate arrays (FPGA) implementation, using the

Other variation of the model is the asynchronous update of the cells' states. There are several examples in the scientific literature, of which we mention [31] because it is one of the few examples that use two-dimensional cellular automata (for 1-bit output) and also because it is

In conclusion, several variations of the cellular automata model were developed. The valida-

In this section, we will make some qualitative comments regarding the implementation of cellular automata randomizers, their applications, and the evaluation of their performances. Compared to other applications of cellular automata, random number generation eludes the problem of synthesis as explained in Section 3. Most of the research is done (and confirmed) empirically, including the selection of functions, seed, and other implementation details. In spite of the theoretical efforts to prove the properties of the classical cellular automata and the good results obtained by several researchers [10, 24], most of the reviewed papers include some variations of the basic model in order to obtain better statistic properties. One of the reasons may be the fact that the "infinite dimension" assumption is the guarantee of good random sequence generation with cellular automata. The performances depend both on the local rules and initial state. Particular cases when specific rules produced either excellent or

Both linear and two-dimensional cellular automata were proposed in scientific literature for pseudorandom number generation. Linear topology is preferred for hardware implementation, although

the two-dimensional topology would take the most advantage of the parallel computation.

designed as a randomization algorithm, not targeting the hardware implementation.

5. Implementation and applications of cellular automata randomizers

tion of the models is often experimental, in absence of theoretical developments.

In a later work, Tomassini and Sipper also proposed two-dimensional cellular automata [22] in order to improve the complexity of the evolution of the generator. Another two-dimensional cellular automata for pseudorandom sequence generation was presented in [23] and was applied by the authors in BIST and cryptography hardware implementations [6]. The difference is mainly quantitative in a two-dimensional topology, but also the neighborhood dimension is higher (and the rules more complex).

One-dimensional topology is simpler from the perspective of hardware implementation. Still theoretical research is done on linear cellular automata in order to discover binary functions or class of functions that may be used in random sequence generation. In [24], the authors prove that uniform linear cellular automata with nearest neighbor's connections can meet cryptographic requirements for random sequences (The selection of rules and seeds was done empirically.)

The examples given so far illustrate the theoretical and experimental effort to prove the properties of cellular automata and to discover significant combinations of rules and initial states that lead to "good" pseudorandom sequences. All these examples are based on the basic cellular automata model. The only modification of the model is, for some of these examples, the heterogeneity, but this is restricted to the implementation of two/four rules in a static manner to subsets of cells.
