Print

Print


On Jun 10, 2010, at 2:27 PM, Uday Kamath wrote:

> Can we do this, run GP with certain settings, with check pointing  
> enabled, and stop, change settings and start run from the check  
> point. Reason for doing this is to see indirectly the impact of  
> "dynamic" changes. If initially in expolration phase the parsimony  
> pressure is low (none), and as with time/generation need to add more  
> Parsimony pressure for bloat control etc one way i thought was to  
> use check point and freeze of the states.

You cannot change parameter settings in a parameter file and restart  
from a checkpoint and have them automatically apply -- because  
parameters and objects created from those parameters are part of the  
checkpointed object graph in the first place.

I think what you want to do is have the system decide, at some  
generation or after some number of evaluations have passed, to change  
certain features.  This is a notion that's basically independent of  
checkpointing.

There's no reason you can't hack this in numerous ways in ECJ.  For  
example, you could create a Statistics object which changes certain  
variables in your system after generation N.  Or if you're just  
changing how your breeding pipeline works, there's an easy way to do  
it: ec/breed/GenerationSwitchPipeline uses one of its subsidiary  
pipeline up through generation N, then switches to another subsidiary  
pipeline for remaining tasks.

Sean