8 A Review of Major Application Areas of Differential Evolution <s> Genetic Programming <s> Background on genetic algorithms, LISP, and genetic programming hierarchical problem-solving introduction to automatically-defined functions - the two-boxes problem problems that straddle the breakeven point for computational effort Boolean parity functions determining the architecture of the program the lawnmower problem the bumblebee problem the increasing benefits of ADFs as problems are scaled up finding an impulse response function artificial ant on the San Mateo trail obstacle-avoiding robot the minesweeper problem automatic discovery of detectors for letter recognition flushes and four-of-a-kinds in a pinochle deck introduction to biochemistry and molecular biology prediction of transmembrane domains in proteins prediction of omega loops in proteins lookahead version of the transmembrane problem evolutionary selection of the architecture of the program evolution of primitives and sufficiency evolutionary selection of terminals evolution of closure simultaneous evolution of architecture, primitive functions, terminals, sufficiency, and closure the role of representation and the lens effect. Appendices: list of special symbols list of special functions list of type fonts default parameters computer implementation annotated bibliography of genetic programming electronic mailing list and public repository. <s> BIB001 </s> 8 A Review of Major Application Areas of Differential Evolution <s> Genetic Programming <s> 1 Genetic Programming as Machine Learning 2 Genetic Programming and Biology 3 Computer Science and Mathematical Basics 4 Genetic Programming as Evolutionary Computation 5 Basic ConceptsThe Foundation 6 CrossoverThe Center of the Storm 7 Genetic Programming and Emergent Order 8 AnalysisImproving Genetic Programming with Statistics 9 Different Varieties of Genetic Programming 10 Advanced Genetic Programming 11 ImplementationMaking Genetic Programming Work 12 Applications of Genetic Programming 13 Summary and Perspectives A Printed and Recorded Resources B Information Available on the Internet C GP Software D Events <s> BIB002
GP is an extension of Genetic Algorithms in which individuals are no longer fixedlength strings but rather computer programs expressed as syntax trees. GP individuals consist of function and terminal nodes. Terminal nodes store a value which they return as an output, while functions process their inputs to compute an output. The terminal set, T , is comprised of the inputs, the constants supplied, and the zero-argument functions. Thus, terminal nodes have an arity of zero. On the other hand, the function set, F , is composed of the statements and functions available to GP. The primary GP search operators are crossover and mutation. In crossover, a randomly selected subtree from each of the two selected parents is exchanged between them to form two new individuals (offsprings). The idea is that useful building blocks for the solution of a problem are accumulated in the population and crossover permits the aggregation of good building blocks into even better solutions to the problem BIB001 . Crossover is the predominant search operator in GP BIB002 . Mutation operates on a single individual by altering a random subtree. Next, we briefly describe the GP initialization and the GP operators used.