EvolutionaryProgramming
Content-Transfer-Encoding: binary
Possibly the same thing as GeneticAlgorithms - depends who you ask. One of the big challenges with EvolutionaryProgramming is to come up with a computer implementation of RobustInstructionSet.
A conventional computer program is too fragile to itself act as a trial genome. A small bitwise change breaks the code. People have experimented with using finite state machine tables as the genome. Once again small changes lead to radical changes in behaviour and this puts a limit on what the system can learn in linear time.
What is needed is for most small changes lead to small changes in behaviour, but for some small changes to lead to small changes to internal systems that indirectly affect behaviour. This allows a small change to the internal system to create a large change to the behaviour, but one that is of a useful kind.
To make this more concrete, if the genome has learned how to regulate some behaviour (think thermostat), it should be possible through small mutations for this internal system to come to be applied to multiple subsystems without having to be learned from scratch in each context.
The genome should be thought of as a place where data and program meet. All subroutines are part of the genome data and subject to change - including the subroutines that copy, modify and correct the data when genomes are replicated.
For EvolutionaryProgramming it is not enough to hand code the copying and modifying routines, only leaving 'data' in the genome. If you do this Genomes cannot learn important meta strategies like diploidy and gene dominance - except where you purposefully set them up for that discovery. The copying and modifying routines have to be an integral part of what the genome encodes. Thus one needs a RobustInstructionSet, one which can encode suitably general copying rules and which is not broken by small change but instead makes small changes in its behaviour.