gaft.operators.mutation

Flip Bit mutation implementation.

class gaft.operators.mutation.flip_bit_mutation.FlipBitBigMutation(pm, pbm, alpha)

Bases: gaft.operators.mutation.flip_bit_mutation.FlipBitMutation

Mutation operator using Flip Bit mutation implementation with adaptive big mutation rate to overcome premature or local-best solution.

Parameters:
  • pm (float in (0.0, 1.0]) – The probability of mutation (usually between 0.001 ~ 0.1)
  • pbm (float) – The probability of big mutation, usually more than 5 times bigger than pm.
  • alpha (float, in range (0.5, 1)) – intensive factor
mutate(individual, engine)

Mutate the individual with adaptive big mutation rate.

Parameters:
  • individual (gaft.components.IndividualBase) – The individual on which crossover operation occurs
  • engine (gaft.engine.GAEngine) – Current genetic algorithm engine
Returns:

A mutated individual

Return type:

gaft.components.IndividualBase

class gaft.operators.mutation.flip_bit_mutation.FlipBitMutation(pm)

Bases: gaft.plugin_interfaces.operators.mutation.Mutation

Mutation operator with Flip Bit mutation implementation.

Parameters:pm (float in range (0.0, 1.0]) – The probability of mutation (usually between 0.001 ~ 0.1)
mutate(individual, engine)

Mutate the individual.

Parameters:
  • individual (gaft.components.IndividualBase) – The individual on which crossover operation occurs
  • engine (gaft.engine.GAEngine) – Current genetic algorithm engine
Returns:

A mutated individual

Return type:

gaft.components.IndividualBase

gaft.operators.mutation.flip_bit_mutation.random() → x in the interval [0, 1).