|
|
Computers > Artificial Intelligence > Genetic Programming > Resources > Assistance Request
Assistance Request
Submitted 2009-06-24 20:23:56 by ravager1 Rating: 0 (0 votes) | 363 Views Section: Resources
| I'm using Genetic Programming to solve a large scale multi-variable system. I've created a simple scripting language to interpret genes as a command structure. Because the system generates a script from genes, the genetic structure has a variable length. The problem is that the combination of mutation and crossover on a per-generation basis leads invariably to longer and longer genetic strings. I've included size of gene in the fitness function and ensured that the odds of a gene's duplication are equal to the odds of its deletion at time of mutation, but the gene chains just keep trying to get longer. I included a gene review function that removes non-functional genes (i.e. 0==0;, true;) basically any command that has no operation or is trivially true or false. However, the program keeps finding ways around my controls. It creates chains of the same function (i.e. var e=0;e=e+1;e=e+1;e==2;), obscures trivially true or false statements in multiple lines(i.e. var e=0;var f=e;e=e-1;f=f-1;e==f;). These statements keep becoming more and more obfuscated with each new generation, so no matter how complicated of a redundancy elimination function I incorporate in the crossover and mutation functions. So how do I limit the program's growth, without including size in the fitness function or eliminating random lines beyond the normal mutation rate? |
Discuss this submission in the forum
|
|
|