[galib] Change mutation function

Mark Hodgson mh702 at ecs.soton.ac.uk
Sun Feb 27 06:03:37 EST 2005


Thanks for the reply.
Yes you are correct. The function is changed by changing it for each 
genome over the population. However, there was a complication when i was 
doing this.

If I changed the functions in genomes in a population mid evolution, 
then continued evolving, some of the genomes functions were changed but 
not others.

I solved this problem by creating a fresh population using the same 
method to change the functions, which seemed to work ok.

Perhaps this is due to some sort of cacheing within the GAGeneticAlgorithm?


Mark Hodgson

matthew wall wrote:

> On 21 Feb 2005, at 12:11, Mark Hodgson wrote:
>> Hi all,
>> I'm having problems changing the mutation function during an evolution.
>> GAGenome provides methods to change crossover and objective 
>> functions, both of which are working fine. However it does not have a 
>> method to change the mutation function so I am trying to use the
>> mutator(GAGenome::Mutator)
>> function of GAGenome to change it. This is not working; the previous 
>> mutation function continues to be used.
>> Am I missing something obvious? Is there a way to change the mutation 
>> function mid evolution?
> if you change any of the functions (objective, crossover, mutation) 
> mid-evolution, you must do so to each genome in the population; 
> changing functions on a single genome will not change functions on 
> them all. this is because the population clones a single genome in 
> order to create a population, and the cloning operation copies the 
> operators.
> matthew

More information about the galib mailing list