Simulating Complex Systems by Cellular Automata (Understanding Complex Systems)