6533b826fe1ef96bd1284f88

RESEARCH PRODUCT

A study on graph representations for genetic programming

Paul KaufmannMárcio P. BasgaluppRoman KalkreuthTimothy AtkinsonLéo Françoso Dal Piccol Sotto

subject

Theoretical computer scienceComputer scienceCode reuseEvolutionary algorithmGenetic programming0102 computer and information sciences02 engineering and technologyGenetic operator01 natural sciencesGraphOperator (computer programming)010201 computation theory & mathematicsProblem domainLinear genetic programming0202 electrical engineering electronic engineering information engineering020201 artificial intelligence & image processing

description

Graph representations promise several desirable properties for Genetic Programming (GP); multiple-output programs, natural representations of code reuse and, in many cases, an innate mechanism for neutral drift. Each graph GP technique provides a program representation, genetic operators and overarching evolutionary algorithm. This makes it difficult to identify the individual causes of empirical differences, both between these methods and in comparison to traditional GP. In this work, we empirically study the behavior of Cartesian Genetic Programming (CGP), Linear Genetic Programming (LGP), Evolving Graphs by Graph Programming (EGGP) and traditional GP. By fixing some aspects of the configurations, we study the performance of each graph GP method and GP in combination with three different EAs: generational, steady-state and (1 + λ). In general, we find that the best choice of representation, genetic operator and evolutionary algorithm depends on the problem domain. Further, we find that graph GP methods, particularly in combination with the (1 + λ) EA are significantly better on digital circuit synthesis tasks.

https://doi.org/10.1145/3377930.3390234