Clips 如何创建子问题?

Clips 如何创建子问题?,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等等,但是如果我正确地开始它,我不知道怎么做。首先是A,如果我说B不来,如果我说B1来了,但如果在B1中,我说它是否跳到C并失去顺序。这里我留下了一张照片和所有代码。我等待你的帮助:c (对不起,如果我的英语不好

这个题目说明了一切,我是一名学生,我被派去制作一个包含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等等,但是如果我正确地开始它,我不知道怎么做。首先是A,如果我说B不来,如果我说B1来了,但如果在B1中,我说它是否跳到C并失去顺序。这里我留下了一张照片和所有代码。我等待你的帮助:c

(对不起,如果我的英语不好)

==============================================================
;;;                Triaje专家系统
;;;
;;;                 CLIPS版本6.3示例
;;;==============================================================
;;*************************
;;*功能定义*
;;*************************
(不起作用的preguntas(?pregunta$?valor)
(打印输出t?pregunta)
(bind?respuesta(读))
(如果(lexemap?respuesta)
然后(bind?respuesta(lowcase?respuesta)))
(而不是(成员?respuesta?valor))做什么
(打印输出t?pregunta)
(bind?respuesta(读))
(如果(lexemap?respuesta)
然后(bind?respuesta(lowcase?respuesta)))
?respuesta)
(函数si-o-no-p(?pregunta)
(绑定?响应(preguntas?preguntas si no s n))
(如果(或(等式-响应si)(等式-响应s))
然后是
其他(没有)
;;;********************
;;;*领事区*
;;;********************
(deframe determina emergencia“”
(不是(通常是紧急情况?)
(不是(颜色?)
=>
(断言(通常是紧急事件(si-o-no-p“?Posee el paciente emergencia alguna?(si/no)”))
(deframe determina signos“”
(usuario emergencia si)
(不是(usuario vivo?)
(不是(颜色?)
=>
(断言(通常为活体(si-o-no-p“?生命体征(si/no)”))
(定义为“确定”
(usuario vivo si)
(不是(颜色?)
=>
(断言(usuario sangre(si-o-no-p“?Tiene el paciente insiciones o hemorragias?(si/no)”))
(不适用于联合体“
(usuario vivo si)
(usuario sangre号)
(不是(颜色?)
=>
(断言(通常为“阿尔古诺合作”(si-o-no-p“?Tiene el paciente estado de Combreash alguno?(si/no)”))
(定义“确定合同”
(usuario vivo si)
(usuario sangre号)
(usuario Combraction编号)
(不是(颜色?)
=>
(assert(通常是协调人(si-o-no-p“?在协调人(si/no)”的情况下进行协调)
(定义为“确定某一事件”
(usuario vivo si)
(usuario sangre号)
(usuario Combraction编号)
(usuario conciente si)
(不是(颜色?)
=>
(断言(usuario quemadura(si-o-no-p“?Tiene el paciente quemaduras?(si/no)”))
(定义一个dolor“
(usuario conciencia si)
(usuario sangre号)
(usuario Combraction编号)
(usuario conciente si)
(usuario quemadura号)
(不是(颜色?)
=>
(assert(通常指多洛(si-o-no-p“?Posee el paciente dolor alguno?(si/no)”))
(定义毒物)
(usuario vivo si)
(usuario sangre号)
(usuario Combraction编号)
(usuario conciente si)
(usuario quemadura号)
(usuario dolor号)
(不是(颜色?)
=>
(断言(通常为毒物(si-o-no-p)“?(si/no)”)
(定义呕吐“
(usuario vivo si)
(usuario sangre号)
(usuario Combraction编号)
(usuario conciente si)
(usuario quemadura号)
(usuario dolor号)
(usuario毒物编号)
(不是(颜色?)
=>
(断言(通常是呕吐(si-o-no-p“?Posee el-paciente vomitos severos y persistentes?(si/no)”))
(定义“呼吸”
(usuario vivo si)
(usuario sangre号)
(usuario Combraction编号)
(usuario conciente si)
(usuario quemadura号)
(usuario dolor号)
(usuario毒物编号)
(乌萨里奥·沃米托号)
(不是(颜色?)
=>
(断言(通常为呼吸(si-o-no-p)“?在报告中规定的呼吸(si/no)”))
(定义“确定某一事件”
(usuario vivo si)
(usuario sangre号)
(usuario Combraction编号)
(usuario conciente si)
(usuario quemadura号)
(usuario dolor号)
(usuario毒物编号)
(乌萨里奥·沃米托号)
(usuario呼吸编号)
(不是(颜色?)
=>
(assert(通常是“不”的意思,是“不”的意思)
;;============
;;=大出血=
;;============
(定义为“确定”
(usuario sangre si)
(不是(颜色?)
=>
(断言(通常是“出血前”定义)外部(Heridas)/外部(sugger que sale por los borficios del cuerpo)“外部”(Externa Exteriorizada))
(定义“确定桑格雷地带”
(usuario sangre si)
(usuario sangre tipo exteriorizada)
(不是(颜色?)
=>
(断言(通常是桑格雷区(preguntas“?”是出血的专家?Boca/Nariz/Recto/阴道/uretra/Oido/Ojo“Boca-Nariz-Recto-Oido-Ojo”))
(定义:boca sangre“
(usuario sangre si)
(usuario sangre tipo exteriorizada)
(usuario zona sangre boca)
(不是(颜色?)
=>
(断言(通常情况下,boca sangre(preguntas“?De que manera驱逐boca sangre por la boca?Tosiendo/Vomitando”Tosiendo Vomitando)))
(deframe determina sangre externa“”
(usuario sangre si)
(usuario sangre tipo externa)
(不是(颜色?)
=>
(断言(usuario sangre externa(preguntas“?”De que manera se ha producido la herida?车辆/Caida/Agresion“车辆Caida Agresion”))
;;============
;;=反撕=
;;============
(解除规则确定一个tiempo组合“”
(usuario vivo si)
(usuario Combruch si)
(不是(颜色?)
=>
(断言(通常情况下是指“最后一次战斗前”的“接收/1h/4h/8h/Ayer”接收/4h/8h/Ayer”))
;;============
;;=克马杜拉斯=
;;============
(定义“确定”的规则)
(usuario vivo si)
(usuario quemadura si)
(不是(颜色?)
=>
(断言(通常为“魁马杜拉”(preguntas“?Puede definir el grado de la quemadura?Primera/Segunda/Tercera“Primera segundo Tercera”))
;;=======
;
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>