ECJ-INTEREST-L Archives

July 2013

ECJ-INTEREST-L@LISTSERV.GMU.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Sean Luke <[log in to unmask]>
Reply To:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Date:
Fri, 19 Jul 2013 09:51:30 -0400
Content-Type:
text/plain
Parts/Attachments:
text/plain (63 lines)
fitness doesn't have anything to do with SizeFairCrossover, and certainly has nothing to do with the dump below.  Did you try replacing SizeFairCrossover with some other crossover?  I'm afraid I cannot answer your question.

Sean

On Jul 19, 2013, at 9:45 AM, Bojan Janisch wrote:

> Hey Sean,
> 
> I've implemented a new Fitness which has almost the same methods like Koza-Fitness. But now ECJ is Breeding forever after the first evaluation. I'm using SizeFairCrossover BreedingPipeline and my Threaddump looks so:
> 
> "Thread-11" prio=10 tid=0x00002aef202c7000 nid=0x3a5c runnable [0x00002aef26076000]
>   java.lang.Thread.State: RUNNABLE
> 	at java.lang.Integer.hashCode(Integer.java:733)
> 	at java.util.HashMap.put(HashMap.java:372)
> 	at ec.gp.breed.SizeFairCrossoverPipeline.traverseTreeForDepth(SizeFairCrossoverPipeline.java:645)
> 	at ec.gp.breed.SizeFairCrossoverPipeline.produce(SizeFairCrossoverPipeline.java:330)
> 	at ec.breed.MultiBreedingPipeline.produce(MultiBreedingPipeline.java:135)
> 	at ec.simple.SimpleBreeder.breedPopChunk(SimpleBreeder.java:377)
> 	at ec.simple.SimpleBreederThread.run(SimpleBreeder.java:483)
> 	at java.lang.Thread.run(Thread.java:662)
> 
>   Locked ownable synchronizers:
> 	- None
> 
> 
> Does my fitness miss something crucial?
> 
> Here's an abstract of my methods:
> 
> setFitness(EvolutionState, float) //stores the fitness value and the generation in class variables
> fitness()
> isIdealFitness()
> equivalentTo(Fitness)
> betterThan(Fitness)
> fitnessToString()
> fitnessToStringForHumans()
> createdAt() //returns the generation when the fitness was created
> readFitness(EvolutionState, LineNumberReader)
> writeFitness(EvolutionState, DataOutput)
> readFitness(EvolutionState, DataInput)
> setToMeanOf(EvolutionState, Fitness[])
> 
> 
> If I change my Fitness to Koza again, I don't have any problems.
> 
> Greetings
> 
> Bojan
> 
> ----- Ursprüngliche Mail -----
> Von: "Sean Luke" <[log in to unmask]>
> An: [log in to unmask]
> Gesendet: Freitag, 19. Juli 2013 15:19:43
> Betreff: Re: Getting generation of best fitness
> 
> On Jul 18, 2013, at 10:10 AM, Bojan Janisch wrote:
> 
>> is there a way to get the generation of the individual which holds the best fitness?
> 
> ECJ does not do this: you'll have to store the evaluation date of individuals yourself.
> 
> Sean 

ATOM RSS1 RSS2