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)
)
*

Attachment: Motor_Diagnostico_General.clp
Description: Binary data

Reply via email to