Thursday, February 25, 2010

Are GEP Gene Head Necessary?

In GEP each gene starts with a head of predetermined length. The head can have both operators and terminals, while the rest of the gene can only have terminals. This forces all individuals to be well formed, which is vital to GEP according to its creator. This is all well and good, I'm not sure that we couldn't get rid of the restriction on the head and still come up with well formed individuals if we were a little creative.
To be clear, the only reason that we might want to get rid of this restriction is that it may influence the types of trees that we can see. Since the original karva notion fills out each level before the next is started, we are fine and get trees that can be filled out nicely even if the whole head is terminals.
The problem occurs if we use prefix GEP (PGEP), where the decoding of the tree is done in prefix notion. This seems to have the advantage of keeping substructures from spreading out around the gene (at least, it helps). Imagine a gene with all operators in the head: the resulting tree would be terribly unbalanced where in karva notation it would be nicely filled out. While we can't can that being filled out is better then being lopsided in all cases, it seems like the types of trees that the two notations find may be different.
If there was no restriction to the place an operator appeared, then many trees that where not possible before could be formed. Many of these trees would be strange ones, but the point is that they would not be excluded from forming, nor would any tree currently findable be prevented from forming.
Next post I will discuss possible ways to remove the need for the restriction, as well as go into the possible pros and cons (not that I've done the research, I'm just jotting down ideas).

No comments:

Post a Comment