(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 =
pop.subpop.0.species.pipe.source.0.prob = 0.9
pop.subpop.0.species.pipe.source.1 =
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

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


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