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.
