Cellular automata theory