Genetic Programming II: Automatic Discovery of Reusable Programs (Complex Adaptive Systems)