Skip to Main Content
We propose a new class of cellular automata, self-programming cellular automata (SPCA), with specific application to pseudorandom number generation. By changing a cell's state transition rules in relation to factors such as its neighboring cell's states, behavioral complexity can be increased and utilized. Interplay between the state transition neighborhood and rule selection neighborhood leads to a new composite neighborhood and state transition rule that is the linear combination of two different mappings with different temporal dependencies. It is proved that when the transitional matrices for both the state transition and rule selection neighborhood are nonsingular, SPCA will not exhibit nongroup behavior. Good performance can be obtained using simple neighborhoods with certain CA length, transition rules, etc. Certain configurations of SPCA pass all DIEHARD and ENT tests with an implementation cost lower than current reported work. Output sampling methods are also suggested to improve output efficiency by sampling the outputs of the new rule selection neighborhoods.