Class: MamdamiImplication

Inherits:
FuzzyImplication show all
Defined in:
lib/fuzzy_implication.rb

Instance Method Summary collapse

Methods inherited from FuzzyImplication

#initialize

Constructor Details

This class inherits a constructor from FuzzyImplication

Instance Method Details

#evaluate(t_norm, implication, defuzzification, values) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/fuzzy_implication.rb', line 19

def evaluate(t_norm, implication, defuzzification, values)
  result = @rules.map { |rule|
    rule.evaluate(t_norm, implication, values)
  }.inject { |s, r| s + r }
  if defuzzification == :CoG
    return result.centerOfGravity
  elsif defuzzification == :firstMin
    return result.firstMinimum
  else
    raise Exception.new("Invalid deffuzification method")
  end
end