Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 4.5 Grammars in Genetic Programming 181 1 double func(double x){ 2 return <pre -op> (<expr > - <expr >); 3 } The next two genes, 5 and 13, must again be ignored ( x 7 = x 6 = x 5 ). Finally, the last gene with the allele 10 resolves the non-terminal pre-op and we get for x 8 : 1 double func(double x){ 2 return sin (<expr > - <expr >); 3 } For the remaining two expr non-terminal symbols no rule is defined in the genotype g . There are several ways for dealing with such incomplete resolutions. One would be to exclude the individual from evaluation/simulation and to give it the lowest possible objective values directly. Gads instead uses simple default expansion rules. In this example, we could translate all remaining expr s to var s and these subsequently to X . This way we obtain the resulting function below. 1 double func(double x){ 2 return sin (X - X); 3 } One of the problems in Gads is the unacceptable large number of introns 26 [1619] caused by the encoding scheme. Many genes will not contribute to the structure of the phenotype since they encode productions that cannot be executed (like allele 12 in the example genotype g ) because there are no matching non-terminal symbols. This is especially the case in “real- world” applications where the set of non-terminal symbols N becomes larger. With the Gads system, Paterson paved the way for many of the advanced techniques described in the following sections. 4.5.6 Grammatical Evolution Like Gads, Grammatical Evolution 27 (GE), developed by Ryan et al. [1785], creates expres- sions in a given language by iteratively applying the rules of a grammar specified in the Backus-Naur form [1785, 1565, 1784]. In order to discuss how Grammatical Evolution works, we re-use the example of C-style mathematical functions [1785] from Section 4.5.5 . Listing 4.6 specifies the according rules using a format which is more suitable for grammatical evolution. There are five rules in the set of productions P , labeled from A to E . Some of the rules have different options (separated by | ). In each rule, options are numbered started with . When the symbol <exp> for example is expanded, for example, there are four possible results ( 0-3 ). The shape of the sentences produced by the grammar depends on these choices. Like in Gads, the genotypes in GE are numerical strings. These strings encode the indices of the options instead of the productions themselves. In Gads, each option was treated as a single production because of the absence of the “ | ” operator. The idea of Grammatical Evolution is that it is already determined which rules must be used by the non-terminal symbol to be expanded and we only need to decide which option of this rule is to be applied....
View Full Document

This document was uploaded on 08/10/2011.

Page1 / 20


This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online