嗯,标题说我是学生,我被派去用CLIPS制作一个100个问题的专家系统。所以我决定做10个主要问题(我们称之为A,B,C,D,E,F,G,H,I,J)并且每个问题都被分解(A1,B1,C1,D1,E1,F1) ,G1,H1,I1,J1)那么如果A1为真必须来A2然后是A3等,但如果我开始正确的话,我不知道怎么做。首先,如果我说B不来,如果我说B1是否来,但如果在B1我说它是否跳到C并失去了订单。在这里,我留下了一张照片和所有代码。我等你的帮忙:c
(对不起,如果我的英语不好)
SetMenu
答案 0 :(得分:0)
如果您达到了预期执行确定性区域规则的程度,则可以为该规则输入匹配命令,并查看第二个模式是不匹配的。事实命令显示断言的最后一个事实是(usuario-tipo- sangre outsideizada)。然而规则匹配(usuario- sangre -tipo outsideizada)。由于事实与模式不匹配,因此不会执行规则。
CLIPS> (reset)
CLIPS> (watch rules)
CLIPS> (run 5)
FIRE 1 system-banner: *
Sistema Experto de Triaje
FIRE 2 determina-emergencia: *,*
¿Posee el paciente emergencia alguna? (Si/No)si
FIRE 3 determina-signos: f-1,*,*
¿Posee el paciente signos vitales? (Si/No)si
FIRE 4 determina-sangre: f-2,*
¿Tiene el paciente insiciones o hemorragias? (Si/No)si
FIRE 5 determina-tipo-sangre: f-3,*
¿Puede definir el tipo de hemorragia? Externa(Heridas)/Exteriorizada(sangre que sale por los orificios del cuerpo)exteriorizada
CLIPS> (matches determina-zona-sangre)
Matches for Pattern 1
f-3
Matches for Pattern 2
None
Matches for Pattern 3
None
Partial matches for CEs 1 - 2
None
Partial matches for CEs 1 - 3
None
Activations
None
(1 0 0)
CLIPS> (facts)
f-0 (initial-fact)
f-1 (usuario-emergencia si)
f-2 (usuario-vivo si)
f-3 (usuario-sangre si)
f-4 (usuario-tipo-sangre exteriorizada)
For a total of 5 facts.
CLIPS> (ppdefrule determina-zona-sangre)
(defrule MAIN::determina-zona-sangre ""
(usuario-sangre si)
(usuario-sangre-tipo exteriorizada)
(not (color ?))
=>
(assert (usuario-zona-sangre (preguntas "¿Puede expecificar por donde emerge la hemorragia? Boca/Nariz/Recto/Vagina/uretra/Oido/Ojo" boca nariz recto vagina uretra oido ojo))))
CLIPS>