0
我正在尝试使用CLIPS创建一个家族树程序。忽略Defrule CLIPS中的类似事实
我对CLIPS非常陌生,并且正在面对我在defrule之一中创建的某个操作遇到的困难。
我试图执行的操作是为彼此的兄弟姐妹的孩子创建事实。因此,对于每对儿童,我希望该计划产生2新的兄弟姐妹事实。但该程序似乎生成4 - 这也是列出每个孩子作为自己的兄弟 ...
我试过谷歌搜索解决方案,但我想不出如何要求计算机不开火,如果?cn ==?sn)。
有人可以帮忙吗?
(deftemplate siblings
(slot subject-name)
(slot sibling-name)
)
(defrule set-siblings
(child
(child-name ?cn)
(parent-name ?p))
(child
(child-name ?sn)
(parent-name ?p))
=>
(assert (siblings
(subject-name ?cn)
(sibling-name ?sn))
)
谢谢!这有帮助!^_^ 但是,请你告诉我这个逻辑操作是如何工作的? –
“基本编程指南”的第5.4节介绍了模式约束,http://clipsrules.sourceforge.net/documentation/v630/bpg.pdf。 –
非常感谢,先生!^_ ^ –