Class: EvoSynth::Adjustments::AdaptiveAdjustment
- Inherits:
-
Object
- Object
- EvoSynth::Adjustments::AdaptiveAdjustment
- 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
-
#alpha ⇒ Object
Returns the value of attribute alpha.
-
#theta ⇒ Object
Returns the value of attribute theta.
Instance Method Summary collapse
- #adjust(sigma, success_rate = DEFAULT_SUCCESS_RATE) ⇒ Object
-
#initialize(alpha = DEFAULT_ALPHA, theta = DEFAULT_THETA) ⇒ AdaptiveAdjustment
constructor
A new instance of AdaptiveAdjustment.
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
#alpha ⇒ Object
Returns the value of attribute alpha.
31 32 33 |
# File 'lib/evosynth/operators/adjustments/adaptive_adjustment.rb', line 31 def alpha @alpha end |
#theta ⇒ Object
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 |