Class: Fuzzyrb::TakagiSugenoImplication
- Inherits:
-
FuzzyImplication
- Object
- FuzzyImplication
- Fuzzyrb::TakagiSugenoImplication
- Defined in:
- lib/fuzzy_implication.rb
Overview
Uses Takegi-Sugeno system to compute implication. Each rule’s conclusion is a function of rule’s arguments.
Instance Method Summary collapse
-
#evaluate(values, params) ⇒ Object
Evaluates the rule.
Methods inherited from FuzzyImplication
Constructor Details
This class inherits a constructor from Fuzzyrb::FuzzyImplication
Instance Method Details
#evaluate(values, params) ⇒ Object
Evaluates the rule. Params are the same as for FuzzyRule
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/fuzzy_implication.rb', line 15 def evaluate(values, params) # puts "\nEvaluating ts implication" total_membership = 0 params[:implication] = :takagiSugeno total_value = @rules.map { |rule| rule.evaluate(values, params) }.inject(0) { |s, rv| total_membership += rv[1]; s + rv[0]*rv[1]} # puts "TM: #{total_membership}, TV: #{total_value}" return 0 if total_membership == 0 total_value/total_membership end |