class RANN::Connection
Public Class Methods
new(input_neuron, output_neuron, weight = nil)
click to toggle source
# File lib/rann/connection.rb, line 16 def initialize input_neuron, output_neuron, weight = nil @id = SecureRandom.hex @output_neuron = output_neuron @input_neuron = input_neuron @weight = weight || initial_weight @processed = false @enabled = true @locked = false end
Public Instance Methods
enabled?()
click to toggle source
# File lib/rann/connection.rb, line 42 def enabled? enabled end
locked?()
click to toggle source
# File lib/rann/connection.rb, line 50 def locked? @locked end
neurons()
click to toggle source
# File lib/rann/connection.rb, line 34 def neurons [output_neuron, input_neuron] end
process()
click to toggle source
# File lib/rann/connection.rb, line 26 def process if processable? && !processed? out_value = input_neuron.value * weight output_neuron.push_value! out_value @processed = true end end
processable?()
click to toggle source
# File lib/rann/connection.rb, line 38 def processable? input_neuron.value end
processed?()
click to toggle source
# File lib/rann/connection.rb, line 46 def processed? processed end
reset!()
click to toggle source
# File lib/rann/connection.rb, line 54 def reset! @processed = false end
Private Instance Methods
initial_weight()
click to toggle source
# File lib/rann/connection.rb, line 59 def initial_weight if output_neuron.context? 1.to_d else rand.to_d BigDecimal.limit end end