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。 –
非常感謝,先生!^_ ^ –