Genetic programming II: automatic discovery of reusable programs
Genetic programming II: automatic discovery of reusable programs
Learning gene linkage to efficiently solve problems of bounded difficulty using genetic algorithms
Learning gene linkage to efficiently solve problems of bounded difficulty using genetic algorithms
The Design of Innovation: Lessons from and for Competent Genetic Algorithms
The Design of Innovation: Lessons from and for Competent Genetic Algorithms
Genetic Programming with Adaptive Representations
Genetic Programming with Adaptive Representations
Compositional evolution: interdisciplinary investigations in evolvability, modularity, and symbiosis
Compositional evolution: interdisciplinary investigations in evolvability, modularity, and symbiosis
On the complexity of hierarchical problem solving
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
A generator for hierarchical problems
GECCO '05 Proceedings of the 7th annual workshop on Genetic and evolutionary computation
Modular Interdependency in Complex Dynamical Systems
Artificial Life
Semantic building blocks in genetic programming
EuroGP'08 Proceedings of the 11th European conference on Genetic programming
No free lunch theorems for optimization
IEEE Transactions on Evolutionary Computation
The Automatic Acquisition, Evolution and Reuse of Modules in Cartesian Genetic Programming
IEEE Transactions on Evolutionary Computation
Semantically-based crossover in genetic programming: application to real-valued symbolic regression
Genetic Programming and Evolvable Machines
Semantically embedded genetic programming: automated design of abstract program representations
Proceedings of the 13th annual conference on Genetic and evolutionary computation
A non-destructive grammar modification approach to modularity in grammatical evolution
Proceedings of the 13th annual conference on Genetic and evolutionary computation
Comparing methods for module identification in grammatical evolution
Proceedings of the 14th annual conference on Genetic and evolutionary computation
Genetic Programming and Evolvable Machines
Hi-index | 0.00 |
In this paper we introduce, formalize, and experimentally validate a novel concept of functional modularity for Genetic Programming (GP). We rely on module definition that is most natural for GP: a piece of program code (subtree). However, as opposed to syntax-based approaches that abstract from the actual computation performed by a module, we analyze also its semantic using a set of fitness cases. In particular, the central notion of this approach is subgoal, an entity that embodies module's desired semantic and is used to evaluate module candidates. As the cardinality of the space of all subgoals is exponential with respect to the number of fitness cases, we introduce monotonicity to assess subgoals' potential utility for searching for good modules. For a given subgoal and a sample of modules, monotonicity measures the correlation of subgoal's distance from module's semantics and the fitness of the solution the module is part of. In the experimental part we demonstrate how these concepts may be used to describe and quantify the modularity of two simple problems of Boolean function synthesis. In particular, we conclude that monotonicity usefully differentiates two problems with different nature of modularity, allows us to tell apart the useful subgoals from the other ones, and may be potentially used for problem decomposition and enhance the efficiency of evolutionary search.