Theory of Evolutionary Computation