Class: EvoSynth::Evolvers::LocalSearch::GreatDelugeAcceptance

Inherits:
Object
  • Object
show all
Defined in:
lib/evosynth/evolvers/local_search/acceptance_great_deluge.rb

Overview

AKZEPTANZ-GD (Weicker Page 158)

Constant Summary collapse

DEFAULT_WATER_LEVEL =
Float::MIN
DEFAULT_RAIN_SPEED =
1.0

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(start_water_level = DEFAULT_WATER_LEVEL, rain_speed = DEFAULT_RAIN_SPEED) ⇒ GreatDelugeAcceptance

Returns a new instance of GreatDelugeAcceptance.



38
39
40
41
# File 'lib/evosynth/evolvers/local_search/acceptance_great_deluge.rb', line 38

def initialize(start_water_level = DEFAULT_WATER_LEVEL, rain_speed = DEFAULT_RAIN_SPEED)
	@water = start_water_level
	@rain_speed = rain_speed
end

Instance Attribute Details

#rain_speedObject

Returns the value of attribute rain_speed.



33
34
35
# File 'lib/evosynth/evolvers/local_search/acceptance_great_deluge.rb', line 33

def rain_speed
  @rain_speed
end

#waterObject

Returns the value of attribute water.



33
34
35
# File 'lib/evosynth/evolvers/local_search/acceptance_great_deluge.rb', line 33

def water
  @water
end

Instance Method Details

#accepts(parent, child, generation) ⇒ Object



43
44
45
46
47
48
49
# File 'lib/evosynth/evolvers/local_search/acceptance_great_deluge.rb', line 43

def accepts(parent, child, generation)
	if parent.maximizes?
		child.fitness > @water + generation * @rain_speed
	else
		child.fitness < @water - generation * @rain_speed
	end
end

#to_sObject



51
52
53
# File 'lib/evosynth/evolvers/local_search/acceptance_great_deluge.rb', line 51

def to_s
	"Great Deluge Acceptance"
end