Method: EvoSynth::Mutations::EfficientBinaryMutation#initialize

Defined in:
lib/evosynth/operators/mutations/efficient_binary_mutation.rb

#initialize(flip_function, probability = DEFAULT_PROBABILITY) ⇒ EfficientBinaryMutation

:call-seq: EfficientBinaryMutation.new(Lambda) -> EfficientBinaryMutation EfficientBinaryMutation.new(Lambda, Float) -> EfficientBinaryMutation (overrides default probability)

Returns a new EfficientBinaryMutation. In the first form, the default mutation probability BinaryMutation::DEFAULT_PROBABILITY (0.1) is used. In the second it creates a BinaryMutation with the given probability.

custom_flip_function = lambda { |gene| EvoSynth.rand(42 * gene) }
EfficientBinaryMutation.new(custom_flip_function)
EfficientBinaryMutation.new(EvoSynth::Mutations::Functions::FLIP_BOOLEAN, 0.01)


59
60
61
62
# File 'lib/evosynth/operators/mutations/efficient_binary_mutation.rb', line 59

def initialize(flip_function, probability = DEFAULT_PROBABILITY)
  @flip_function = flip_function
  @probability = probability
end