4 ms·
Ok - just to be clear, I was talking about GA in its standard bit-twiddling setting, rather than as an overall approach. Also, I'm not really saying GP (again,
by mdda 16y ago
Ok - just to be clear, I was talking about GA in its standard bit-twiddling setting, rather than as an overall approach.
Also, I'm not really saying GP (again, the original Koza-style tree manipulation type) is a magic cure-all : I just like the way it's more 'meta' than bit-twiddling GA.
Are introns bad? An outside observer might think so, but something about the overall algorithm must like them...
As to being confused : I'm surprised that anyone would think that this whole representation problem has any kind of cut-and-dried answer yet. There's still a lot of room for innovation here - and which directions to explore are pretty much a question of taste.
- mfukar 16y agoYou make an interesting case, which I think is backed up by two things, in the special case of the x86 instruction set: - Instruction opcodes and arguments don't occupy a fixed space or position. This leads to a significant increase in lethality of mutations. Some other factors that contribute to this is the large instruction set, and the fact that opcodes and arguments are directly connected (context-specific). Straight-up GA does provably not perform well, unless there's a meta-language involved, as the article shows. I'd dare say this is very close to Koza's approach, and it also seems to be close to Michael Korns' approach, which is more recent. - "Instruction set" put aside, mutations in a x86 system (or in any other computing environment, for that matter) happens on a bit granularity. The sort of natural redundancy that would allow GA to operate on a sufficient population for robust mutations to appear is not there, without a metalanguage. (even ECC in memory tends to not be favoured, so resistance against bit flips, ie. point mutations) Also, it seems to me that without a "natural" redundancy mechanism within an instruction set, it is impossible for other types of mutations, namely deletion/insertion/duplication, to produce survivable offspring. As a (probably not very good) metaphor one should consider what would happen to aminoacids if we were to consider codons as their building blocks (disregarding nucleotides).
- SeanLuke 16y ago> Are introns bad? An outside observer might think so, but something about the overall algorithm must like them... Just because an algorithm tends to produce an unwanted result does not mean it's suddenly desirable. Yes, introns are bad. Credentials: My dissertation and several subsequent publications were on the subject of introns.