next up previous
Next: Bibliography Up: Grammatical Evolution : Solving Previous: Results

Conclusions

We have described a system, Grammatical Evolution (GE) that can map a binary genotype onto a phenotype which is a high level program. GE has proved successful for two different types of problems, namely, symbolic regression [Ryan 98] and finding trigonometric identities. We have shown how GE created trigonometric identities for $Cos \; 2x$ such as $1 - 2Sin^2\;x$, and a close approximation to $Sin( \pi /2 -2x)$.

Genetic Programming was also applied to these problems [Koza 92] with comparable success. GE, like GP, has the ability to evolve its own constants, as was seen during these experiments with the successive application of Sin to the constant 1.0, and through the generation of 1.0 with expressions such as x/x. Whilst GE evolves the required solutions in both problem sets in the designated number of generations, it can take longer to evolve the solutions when compared with Genetic Programming. The major strength of GE with respect to GP is its ability to generate multi-line functions in any language.

The next step will be to apply GE to a problem that requires multi line functions. Because our mapping technique employs a BNF definition, the system is language independant, and, theoretically can generate arbitrarily complex functions.

GE can easily generate functions which use several lines of code specifically, if the rule for <code> in the earlier definition was modified to read:

<code> ::= <line>;  | <line>; <code>

<line> ::= <var> = <expr>

then the system could generate functions of arbitrary length. We therefore, do not see GE as a replacement for GP, but to be used in the generation of arbitrarily complex functions.


next up previous
Next: Bibliography Up: Grammatical Evolution : Solving Previous: Results
root
1998-10-02