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(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
at ec.simple.SimpleEvolutionState.startFresh
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

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