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 |