4. Random number generation with cellular automata

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 for integrated circuit's verification [6].

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, implementation, and applications.
