Evolution from Existing Models

Optimizing Models Evolved by APS
 
Sometimes, even if you are using a model previously evolved by APS as seed, you might no longer have access to the model in Karva code. In that case, you will need to know how to convert the model into Karva, as the Change Seed window only accepts Karva code.

But most of the times, your seed model is already in Karva code and, in this case, creating better models from it should be a breeze.

The modeling from seed facility of Automatic Problem Solver is a very powerful modeling tool as it enables you to refine your models by using an already good model as starter. When this starting model had been created by APS, this process is very easy and most of the times you just have to press the Optimize button in the Run Panel. In this case, the active model of that run (usually the best-of-run but any model kept in the History Panel can become active) can be used immediately as seed.

Other times, though, a model could have been evolved by APS but you no longer have access to the original .gep file. In this case, you’ll need to create a new run and choose a chromosomal architecture that could accommodate your starting model. This includes the number of genes, the head size, the linking function, the function set and, if your model has numerical constants, the number of constants per gene. Also important is the kind of fitness function you’ll choose, for you must be careful that your seed model is viable (has a positive fitness). To make sure of that, APS 3.0 allows you to pre-test your model in the Change Seed window.

This pre-test not only evaluates the fitness of your starting model in the particular training set you’ve chosen to fine-tune your model, but also makes sure that the structural organization of your model is correct. For instance, if your model uses a function that was not selected in the Functions Panel or if you are not respecting the chromosome structure (head and tail sizes and linking function), you are prompted to fix the errors before continuing. And only when the seed is structurally correct are you allowed to go to the Run Panel and press the Optimize button so that you can breed new programs with it. Be advised, however, that if your seed, although viable, has a very low fitness, you will most probably lose it very soon in the evolutionary process and its contribution to the creation of better models will be negligible.

Home | Contents | Previous | Next