next up previous
Next: Backus Naur Form Up: Grammatical Evolution : Solving Previous: Grammatical Evolution : Solving


Evolutionary Algorithms have been used with much success for the automatic generation of programs. In particular, Koza's [Koza 92] Genetic Programming has enjoyed considerable popularity and widespread use. Koza originally employed Lisp as his target language, however, many experimenters generate a home grown language, peculiar to their particular problem.

Grammatical Evolution (GE) can be used to generate programs in any language, using Backus Naur Form definitions we allow a genetic algorithm to control what production rules are used. GE has proved successful [Ryan 98] when applied to a symbolic regression problem from the literature [Koza 92]. Here we apply GE to another problem, that of, finding trigonometric identities. The goal is to discover a new mathematical expression that is equivalent to the target expression. In this case we successfully attempt to find the 1-2Sin2x symbolic identity for $Cos \; 2x$.