Controllability of Discrete Dynamical Systems