June 2012


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
Andreas Meier <[log in to unmask]>
Reply To:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Wed, 27 Jun 2012 15:46:11 -0400
text/plain (43 lines)
Hello Sean,

Thanks for your message. I've *fixed* it for myself by disabling the check for 
the evaluated flag at the beginning of the method. However, I do not work on 
the SVN build but on the official ECJ 20 build instead. Thus, I cannot test your 
fix at the moment. If I have some time, I will give it a try.

I also noticed another issue. I'm using a specific seed for the Mersenne 
Twister, e.g. 4357, which I keep unchanged while tuning my configuration. 
However, I noticed that although nothing of the configuration has been 
changed the results differ, which should usually not be the case if all random 
numbers are created by the Twister. Is there some other random function 
involved in the DE-algorithms?

Thanks in advance,

On Wed, 27 Jun 2012 14:36:58 -0400, Sean Luke <[log in to unmask]> 

>You're right, Andreas, it's a bug.  It looks like the DE code was creating new 
individuals by cloning them from old individuals in the population rather than 
cloning the prototype.  That's not a good idea for several reasons, but it 
affects you in particular because the old individuals had their evaluated flag 
set and so now do the new ones.  I've updated the breeders on SVN, let me 
know if that solves the problem.
>On Jun 27, 2012, at 9:53 AM, Andreas Meier wrote:
>> I spent several hours trying to figure out why my differential evolution
>> example does not work. I think, the reason is a bug in ECJ. Usually, in
>> every evaluate-method of a problem definition I have encountered so far, 
>> should check whether the individual has already been evaluated. If you do
>> this as well in a differential evolution example, only the first generation
>> will get evaluated. It seems that after modifying the individuals the
>> evaluated-flag is not resetted and thus, although the individuals have
>> changed, they will not get re-evaluated.
>> Is this really a bug or is there some intention for doing it that way?