I wish to be removed from this list. Is this possible?

Peter Drake <[log in to unmask]> wrote:
  (Excuse the newbiness, pointers to FAQs gladly accepted, etc.)

I'm evolving LongVectorIndividuals. I'd like to use the entire range
of the long type, because it's secretly a packed binary
representation of what I'm breeding.

Is there a way to not specify min-gene and max-gene? I tried leaving
them out:

pop.subpop.0.species = ec.vector.IntegerVectorSpecies
pop.subpop.0.species.ind = ec.vector.LongVectorIndividual
# Other setup details omitted

and got this:

Initializing Generation 0
FATAL ERROR:
IntegerVectorSpecies must have a default min-gene which is <= the
default max-gene
PARAMETER: pop.subpop.0.species.max-gene
ALSO: vector.species.max-gene

I also tried including the max and min value for a long:

pop.subpop.0.species.min-gene = -9223372036854775808
pop.subpop.0.species.max-gene = 9223372036854775807

Result:

Initializing Generation 0
Exception in thread "main" java.lang.IllegalArgumentException: n must
be positive
at ec.util.MersenneTwisterFast.nextLong(MersenneTwisterFast.java:711)
at ec.vector.LongVectorIndividual.reset(LongVectorIndividual.java:170)
at ec.vector.VectorSpecies.newIndividual(VectorSpecies.java:151)
at ec.Subpopulation.populate(Subpopulation.java:202)
at ec.Population.populate(Population.java:104)
at ec.simple.SimpleInitializer.initialPopulation
(SimpleInitializer.java:39)
at ec.simple.SimpleEvolutionState.startFresh
(SimpleEvolutionState.java:47)
at ec.Evolve.startFresh(Evolve.java:320)
at ec.Evolve.main(Evolve.java:468)

This happens, no doubt, because LongVectorIndividual.reset() tries
something to the effect of (max-gene - min-gene), resulting in an
overflow.

I was able to work around the problem by subclassing
LongVectorIndividual, overriding reset() and defaultMutate().

Is there a better way?

Thanks,

Peter Drake
Assistant Professor of Computer Science
Lewis & Clark College
http://www.lclark.edu/~drake/




---------------------------------
Yahoo! Shopping
 Find Great Deals on Holiday Gifts at Yahoo! Shopping