Print

Print


Thanks for the fast reply! You are probably right, I enter debug mode and
halt right before the heap memory error, and try to the tree that is being
cloned. It gives a memory error too, probably because the tree is way too
big. Some of the previous trees that are printable give me a huge string of
trees.

However, in my parameter file, I clearly set:
parent.0 = ../koza/koza.params
....
gp.koza.xover.maxdepth = 4
gp.koza.mutate.maxdepth = 4
and I am using the default koza half builder, with:
gp.tc.0.init = ec.gp.koza.HalfBuilder
gp.koza.half.min-depth = 2
gp.koza.half.max-depth = 6
gp.koza.half.growp = 0.5

According to my understanding, the parameters I have set should overwrite
the default ones. Is there anywhere else I should be aware of to control
the size of my trees? Thanks!

Ye Xiaomeng



On Tue, Feb 11, 2014 at 3:18 PM, Sean Luke <[log in to unmask]> wrote:

> Xiaomeng, it sounds like you're making truly massive trees, like 100MB
> apiece.  That's so large there's likely a bug in your code.
>
> There's no real gotcha with cloning: it makes a deep copy of the tree.
>
> Sean
>
> On Feb 11, 2014, at 2:00 PM, Xiaomeng Ye <[log in to unmask]> wrote:
>
> > Hello everyone,
> >
> > I am trying to integrate lambda-calculus into the GP package of ECJ.
> Everything works just like any GPIndividual, GPTree, GPNode, except that
> the LambdaTree can go through a process of reduction, which produces a
> minimal form of the LambdaTree.
> > Because I used cloning and the tree could be potentially huge, I keep
> getting this error:
> > java.lang.OutOfMemoryError: Java heap space
> >
> > Even after extended the JVM heapsize to 1 GB, I can only avoid it by
> setting extremely small population size like 20 (which produces nothing
> interesting as the population is too small). Other than that, the program
> runs out of memory at some point.
> >
> > Has anyone play with the cloning? Is there any pitfall? How is Java
> Garbage collection treating those nodes? (If they are treated just like any
> other java object, I think I might exploit cloning wrongly)
> >
> > Thanks a lot!
> >
> > Ye Xiaomeng
> >
> >
> >
>