Hi, I could overcome some problems with FuzzyJess implementation, and now I have a fuzzy rule that never executes when it should. My Clip run using BackwardChaining, Im sure that the *intensidad_tos *rule assert the gripe fuzzyvalue fine, but the *global_influenza *rule never trigger,
Somebody can help me with that??
Thanks!!!!
The code is the next:
*(defglobal ?*fuzzyDiagnosticoGripe* = (new FuzzyVariable
"Diagnostico_gripal" 0.0 5.0 "integer"))*
*
*
*
(defrule diagnostico_init
=>
;; the nrc FuzzyJess functions are loaded
(load-package nrc.fuzzy.jess.FuzzyFunctions)
(bind ?rlf (new RightLinearFunction))
(bind ?llf (new LeftLinearFunction))
;; terms
(?*fuzzyDiagnosticoGripe* addTerm "Comun" (new RFuzzySet 0.0 2.5
?rlf))
(?*fuzzyDiagnosticoGripe* addTerm "N1H1" (new LFuzzySet 2.5 5.0
?llf))
)
(defrule intensidad_tos
(declare (auto-focus TRUE))
(check diagnostico-b)
(answer (ident fuzzy_tos) (text yes))
=>
(assert (gripe (new nrc.fuzzy.FuzzyValue ?*fuzzyDiagnosticoGripe*
"N1H1")))
)
(defrule global_influenza
(gripeGlobal ?gg&:(fuzzy-match ?gg "N1H1"))
=>
(MAIN::recommend-action "N1H1")
(halt)
)
*
Motor_Diagnostico_General.clp
Description: Binary data
