Talk:Grammatical evolution
From Wikipedia, the free encyclopedia
someone else should add more information on this. GE is really cool and a big step forward over GP.
i'm surprised there wasn't a page on it until mid-2006 (i.e., now).
well, it's now fall 2006 and no one else has added to this. it's a little too obscure as of yet, i suppose. i should write up pseudocode actually describing the algorithm for mapping integers to sentences generated by a BNF grammar. also some diagrams to visualize it and make the biological analogy clearer would be nice. as always my laziness prevents me from doing this right now.
Thanks for putting this page up, I'll gladly contribute a few diagrams to the page. More precisely, I'll add up a diagram with the biological system equivalence, and another with a full mapping example, along with the corresponding explanation. I also agree that the text is a bit obscure. I believe the introduction should be shorter: maybe remove some of the GP criticisms, and move the explanation of how GE works into a whole new section below. Let me know what you think about this. - Miguel Nicolau -
Hi,
I've had a go at re-writing this page. Below is the pasted content. What do you think? I also have some images and references, and could write more about things that weren't originally covered by the article.
rs
[edit] Grammatical Evolution
Grammatical evolution is a relatively new evolutionary computation technique pioneered by Conor Ryan, JJ Collins and Michael O'Neill in 1998[1] at the BDS Group in the University of Limerick, Ireland.
Description
Grammatical Evolution (GE) is primarily used as a program search technique, and it is related historically and functionally to Genetic Programming. In essence, GE is a mapping between a string of integers and a program through the use of a grammar (usually a context-free-grammar expressed in Backus-Naur form). A search algorithm can then be used to manipulate the integer string, and the string is mapped to a program in order to carry out fitness evaluation.
As the grammar can be specified separately from the integer-string representation, GE can be used to search any solution space that can be defined by a suitable grammar.
Separation of Genotype and Phenotype
One consequence of the use of a grammar-based mapping is to separate the representation manipulated by the search algorithm (the integer string) and the set of possible programs that can be created. This is sometimes compared to the separation of genotype and phenotype in evolution found within nature. In contrast, Genetic Programming manipulates the program structure directly.
Designing the Grammar
Through the design of a grammar, the space of possible programs that can be created can be restricted, and domain knowledge of the problem can be incorporated. It is also possible to use the GE process itself to evolve the grammar itself, by specifying a meta-grammar.
Some work has been carried out to extend the application of Grammatical Evolution to grammars that are not context-free, for example Attribute Grammars.
Search Methods
The search method employed to generate new integer strings is independent of the mapping. As the representation is similar to most Genetic Algorithm (GA) representations, GAs are commonly used to search the space of integer strings. Other search methods that have been used in conjunction with a GE mapping are particle swarm optimisation (known as “grammatical swarm”).
Applications
Brabazon and O'Neill have successfully applied GE to predicting corporate bankruptcy, forecasting stock indices, bond credit ratings, and other financial applications. —Preceding unsigned comment added by Randomsearch (talk • contribs) 15:08, 17 December 2007 (UTC)