Semantic Forward Propagation for Symbolic Regression
In recent years, a number of methods have been proposed that attempt to improve the performance of genetic programming by exploiting information about program semantics. One of the most important developments in this area is semantic backpropagation. The key idea of this method is to decompose a program into two parts—a subprogram and a context—and calculate the desired semantics of the subprogram that would make the entire program correct, assuming that the context remains unchanged. In this paper we introduce Forward Propagation Mutation, a novel operator that relies on the opposite assumption—instead of preserving the context, it retains the subprogram and attempts to place it in the semantically right context. We empirically compare the performance of semantic backpropagation and forward propagation operators on a set of symbolic regression benchmarks. The experimental results demonstrate that semantic forward propagation produces smaller programs that achieve significantly higher generalization performance.
KeywordsGenetic programming Program semantics Semantic backpropagation Problem decomposition Symbolic regression
This work was supported by the National Aeronautics and Space Administration under grant number NNX15AH48G.
- 1.Beadle, L., Johnson, C.G.: Semantically driven crossover in genetic programming. In: Proceedings of the IEEE Congress on Evolutionary Computation, CEC 2008, pp. 111–116. IEEE (2008)Google Scholar
- 3.Jackson, D.: Promoting phenotypic diversity in genetic programming. In: Schaefer, R., Cotta, C., Kołodziej, J., Rudolph, G. (eds.) PPSN XI. LNCS, vol. 6239, pp. 472–481. Springer, Heidelberg (2010)Google Scholar
- 6.Krawiec, K., O’Reilly, U.M.: Behavioral programming: a broader and more detailed take on semantic GP. In: Proceedings of the 2014 Annual Conference on Genetic and Evolutionary Computation, GECCO 2014, pp. 935–942. ACM (2014)Google Scholar
- 7.Liskowski, P., Krawiec, K., Helmuth, T., Spector, L.: Comparison of semantic-aware selection methods in genetic programming. In: Proceedings of the Genetic and Evolutionary Computation Conference, pp. 1301–1307. ACM (2015)Google Scholar
- 8.McDermott, J., White, D.R., Luke, S., Manzoni, L., Castelli, M., Vanneschi, L., Jaskowski, W., Krawiec, K., Harper, R., De Jong, K., O’Reilly, U.M.: Genetic programming needs better benchmarks. In: Proceedings of the Genetic and Evolutionary Computation Conference, pp. 791–798. ACM (2012)Google Scholar
- 9.McPhee, N.F., Hopper, N.J.: Analysis of genetic diversity through population history. In: Proceedings of the Genetic and Evolutionary Computation Conference, vol. 2, pp. 1112–1120. Morgan Kaufmann (1999)Google Scholar
- 15.Wieloch, B., Krawiec, K.: Running programs backwards: instruction inversion for effective search in semantic spaces. In: Proceedings of the 15th Annual Conference on Genetic and Evolutionary Computation, GECCO 2013, pp. 1013–1020. ACM, New York (2013)Google Scholar