Random numbers are needed in a variety of applications, yet finding good random number generators is a difficult task. In the last decade cellular automata (CA) have been used to generate random numbers. In this paper non-uniform CAs are studied, where each cell may contain a different rule, in contrast to the original, uniform model. We present the cellular programming algorithm for co-evolving non-uniform CAs to perform computations, and apply it to the evolution of random number generators. Our results suggest that good generators can be evolved; these exhibit behavior at least as good as that of previously described CAs, with notable advantages arising from the existence of a "tunable" algorithm for obtaining random number generators.
展开▼