Class: EvoSynth::Adjustments::AdaptiveAdjustment

Inherits:
Object
  • Object
show all
Defined in:
lib/evosynth/operators/adjustments/adaptive_adjustment.rb

Overview

ADAPTIVE-ANPASSUNG (Weicker page 113)

Constant Summary collapse

DEFAULT_ALPHA =
1.2
DEFAULT_THETA =
0.2
DEFAULT_SUCCESS_RATE =
0.0

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(alpha = DEFAULT_ALPHA, theta = DEFAULT_THETA) ⇒ AdaptiveAdjustment



37
38
39
40
# File 'lib/evosynth/operators/adjustments/adaptive_adjustment.rb', line 37

def initialize(alpha = DEFAULT_ALPHA, theta = DEFAULT_THETA)
  @alpha = alpha
  @theta = theta
end

Instance Attribute Details

#alphaObject

Returns the value of attribute alpha.



31
32
33
# File 'lib/evosynth/operators/adjustments/adaptive_adjustment.rb', line 31

def alpha
  @alpha
end

#thetaObject

Returns the value of attribute theta.



31
32
33
# File 'lib/evosynth/operators/adjustments/adaptive_adjustment.rb', line 31

def theta
  @theta
end

Instance Method Details

#adjust(sigma, success_rate = DEFAULT_SUCCESS_RATE) ⇒ Object



42
43
44
45
46
47
48
49
50
# File 'lib/evosynth/operators/adjustments/adaptive_adjustment.rb', line 42

def adjust(sigma, success_rate = DEFAULT_SUCCESS_RATE)
  if success_rate > @theta
    sigma * @alpha
  elsif success_rate < @theta
    sigma / @alpha
  else
    sigma
  end
end