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
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


Initializing Generation 0
Exception in thread "main" java.lang.IllegalArgumentException: n must
be positive
at ec.util.MersenneTwisterFast.nextLong(
at ec.vector.LongVectorIndividual.reset(
at ec.vector.VectorSpecies.newIndividual(
at ec.Subpopulation.populate(
at ec.Population.populate(
at ec.simple.SimpleInitializer.initialPopulation
at ec.simple.SimpleEvolutionState.startFresh
at ec.Evolve.startFresh(
at ec.Evolve.main(

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

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

Is there a better way?


Peter Drake
Assistant Professor of Computer Science
Lewis & Clark College

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