4.2. Examples based on variations of the cellular automata model

Another important trend of research is to improve the properties of the pseudorandom sequence introducing more substantial modifications to the cellular automata model, in order to obtain a more complex structure and expected behavior. A first example, presented in [9], uses a homogenous programmable cellular automata of 256 cells, with a global feedback loop. Each cell supports any of the 256 possible rules, but the actual rule is selected by the feedback (depending on the global state, with a simple transformation like module 2 sum). Such an approach is now called self-programmable, since the rule is not changed externally, but here the global reaction acts like a central control. According to the author, the initial state influences the properties of the generator.

Another structural modification of the cellular automata model is presented in [25]. Here, an additional memory layer was used to improve the complexity of the evolution, and the next state is computed based on the present state of the neighborhood and the previous state of the cell (or the entire neighborhood). The local rules are 4-variable functions, in the simplest form.

In physical implementations, the actual dimension of the cellular automata is reduced. Several authors proposed randomization schemes that improve the quality of the generators (to compensate the limited dimension). In [26], the output of the hybrid cellular automata is combined 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.

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 comp-

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 dimen-

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

Another important trend of research is to improve the properties of the pseudorandom sequence introducing more substantial modifications to the cellular automata model, in order to obtain a more complex structure and expected behavior. A first example, presented in [9], uses a homogenous programmable cellular automata of 256 cells, with a global feedback loop. Each cell supports any of the 256 possible rules, but the actual rule is selected by the feedback (depending on the global state, with a simple transformation like module 2 sum). Such an approach is now called self-programmable, since the rule is not changed externally, but here the global reaction acts like a central control. According to the author, the initial state influ-

Another structural modification of the cellular automata model is presented in [25]. Here, an additional memory layer was used to improve the complexity of the evolution, and the next state is computed based on the present state of the neighborhood and the previous state of the cell (or the entire neighborhood). The local rules are 4-variable functions, in the simplest form. In physical implementations, the actual dimension of the cellular automata is reduced. Several authors proposed randomization schemes that improve the quality of the generators (to compensate the limited dimension). In [26], the output of the hybrid cellular automata is combined

4.2. Examples based on variations of the cellular automata model

ared to classical random number generators.

176 From Natural to Artificial Intelligence - Algorithms and Applications

sion is higher (and the rules more complex).

manner to subsets of cells.

ences the properties of the generator.

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 interrupt static behavior (the patterns that appear in low-quality pseudorandom signals).

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 splittable look-up table concept and embedded carry logic of the FPGA.

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 designed as a randomization algorithm, not targeting the hardware implementation.

In conclusion, several variations of the cellular automata model were developed. The validation of the models is often experimental, in absence of theoretical developments.
