如何创建子问题?

时间:2017-01-01 03:47:34

标签: clips

嗯,标题说我是学生,我被派去用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

enter image description here

1 个答案:

答案 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>