0
私は、クリッププログラミング言語で基本エキスパートシステムを実装しようとしています。私は彼らの両親と一緒に子供の知識ベースを持っています。私はルールを設定して、2人の子供が同じ両親を持っていれば、彼らが兄弟であるという事実を主張するようにしたい。クリップファミリーエキスパートシステム
(deftemplate person "family tree"
(slot name)
(slot father)
(slot mother))
(assert
(person
(name "William")
(father "John")
(mother "Megan")))
(assert
(person (name "David")
(father "John")
(mother "Megan")))
(defrule sibling
(person
(name ?name1)
(father ?x)
(mother ?x))
(person
(name ?name2)
(father ?y)
(mother ?y)))
と私はルールを定義するとき、私は構文エラーを取得:
Syntax Error: Check appropriate syntax for defrule.
ありがとうございましたが、私の兄弟の前にMAIN ::を置く必要がありました。しかし、今私が 'assert'でルールを呼び出すと、私はエラーが発生し続けます。私は構文 ''(MAIN :: sibling(person "name" First_Person "))(person(name" Second_Person ")))' 'と' '(MAIN :: sibling(person(" David ")) person( "William")))) 'MAIN ::なしの提案なしで試してみましたか? – cdruckemiller
どのようなエラーが発生したかを指定して質問を編集してください。また、それぞれの文を改行文字で区切って記述することで、読みやすさを高めることができます。 – noxdafox
申し訳ありませんが、私は答えを受け入れなければなりませんでした。ルールは実際には進まなかった。今は構文エラーが出ています。私は自分のコードと私のエラーを表示する質問をeditted。 – cdruckemiller