Evolution of Both the Architecture and the Sequence of Work-Performing Steps of a Computer Program Using Genetic Programming with Architecture-Altering Operations. John R. Koza and David Andre
Towards Automatic Discovery of Building Blocks in Genetic Programming. Justinian Rosca
Concepts Reuse in Genetic Programming. Gregory Seront
Evolving Control Structures with Automatically Defined Macros. Lee Spector
-- What is meant by "reusable code" is different for different researchers, can range from formally defined/encapsulated functions in a formal sense to existance of frequently recurring subtrees in an informal sense.
-- frequency of recurring subtrees, there was discussion on what helps generalization to occur. It was suggested that subtrees close to the leaf nodes get choosen for modification more often therefore useful subtrees get preserved by migrating (and still being useful in different parts of the program).
-- although ADFs have solved some simple problems that straight GP couldn't in a fixed number of runs, (or solved them more efficiently) and helped provide new data/control abstractions in the form of ADFs, has it solved really substantially more complex problems and does it hold the promise to do the same in the near future? are ADFs necessary/sufficient as a formalism to help solve grand-challenge problems i.e. to provide scalability)?
-- relationship of presence of introns to "preserving useful subtrees" it was suggested that introns could provide "safe" places for crossovers. It was also mentioned that intentionally reducing the frequency of introns slowed down successful evolution. [Andre and Haynes contributed notably to this discussion.]
-- concept (library) reuse: (as in Seront's work) is this only relevant to "similar" problems i.e. "common concept reuse" or can this be extended to help collaboration between different researchers?
{Brij Masand}
If ADFs (or, more generally, program modules) can have their own local memory, and some way of communicating with other modules, then GP might become object-oriented. {Alex Chaffee}