Obtaining Basic Algebra Formulas with Genetic Programming and Functional   Rewriting
In this paper, we develop a set of genetic programming operators and an initialization population process based on concepts of functional programming rewriting for boosting inductive genetic programming. Such genetic operators are used within a hybrid adaptive evolutionary algorithm that evolves operator rates at the same time it evolves the solution. Solutions are represented using recursive functions where genome is encoded as an ordered list of trees and phenotype is written in a simple functional programming language that uses rewriting as operational semantic (computational model). The fitness is the number of examples successfully deduced over the cardinal of the set of examples. Parents are selected following a tournament selection mechanism and the next population is obtained following a steady-state strategy. The evolutionary process can use some previous functions (programs) induced as background knowledge. We compare the performance of our technique in a set of hard problems (for classical genetic programming). In particular, we take as test-bed the problem of obtaining equivalent algebraic expressions of some notable products (such as square of a binomial, and cube of a binomial), and the recursive formulas of sum of the first n and squares of the first n natural numbers.