Print

Print


(Sorry for the delayed answer)

Here are the genetic operators:

pop.subpop.0.species.pipe.num-sources = 3
pop.subpop.0.species.pipe.source.0 = ec.gp.koza.CrossoverPipeline
pop.subpop.0.species.pipe.source.0.prob = 0.9
pop.subpop.0.species.pipe.source.1 = ec.gp.koza.MutationPipeline
pop.subpop.0.species.pipe.source.1.prob = 0.05
pop.subpop.0.species.pipe.source.2 = ec.breed.ReproductionPipeline
pop.subpop.0.species.pipe.source.2.prob = 0.05

I am only trying to explore shorter trees than koza defaults to save 
evaluation time. I thought that limiting creation size with 
"gp.koza.half.max-depth"  and mutation+crossover via 
"gp.koza.crossover.maxdepth" and "gp.koza.mutate.maxdepth" would suffice.

Moreover I put a test in the postevaluation statistics exiting when the 
node count for a tree exceed a maximum value ranging up from 
2**(depth+1) to 2**(depth+3) (since I use only binary ops +,-,*). I 
observed that  all goes well in the first couples  of generations before 
exiting in what looks like the usual size increase of trees. It seems 
this size increase is due to crossover/mutation (/reproduction ???!). I 
verified in the out.stat that trees were really too deep.

As I said in my 1st mail, the problem is solved by using
pop.subpop.0.species.pipe.source.0.maxdepth
pop.subpop.0.species.pipe.source.1.maxdepth

So there may well be a bug, unless I completely misunderstand the use of 
"gp.koza.crossover.maxdepth" and "gp.koza.mutate.maxdepth"

Denis

Sean Luke a écrit :
> Denis, I misread your message - you're trying to limit the tree size 
> that occurs during crossover, is that correct?  As opposed to the size 
> of trees generated during tree initialization operators.  In that 
> case, you don't want to full with the parameters I told you.
>
> Before I look further into this, what *are* your operators at 
> pop.subpop.0.species.pipe.source.0 and 
> pop.subpop.0.species.pipe.source.1?
>
> Sean
-- 
Denis Robilliard
Laboratoire d'Informatique du Littoral
50 rue Ferdinand Buisson
62100 CALAIS