2

これは宿題用ですが、ウェブ上で適切な jess 情報を見つけるのに非常に苦労しています。マルチスロットを使用して問題を解決しようとしていますが、さまざまな値を一致させる方法が見つかりません。私はこれを持っています:

(deftemplate patient (slot name)(multislot symptoms))

(deffacts init 
(patient (name john) (symptoms very-high-fever cough)))

どうすれば非常に高熱の場合に左側を一致させることができますか? これは、高熱が最初の症状であることがわかっている場合に機能しますが、それを確信できないため、高熱がいずれかの症状であるかどうかを一致させる必要があります。

(defrule high-fever
(patient (name ?n)(symptoms very-high-fever ?))
=>
(printout t ?n " has a high fever." crlf))

フィールド制約のさまざまな組み合わせを試しましたが、うまくいかないようで、オンラインで手がかりが得られません。

ありがとう。

4

1 に答える 1

0

一致させたいアイテムの前後に空白のマルチフィールドを使用します。0 個以上のアイテムに一致します。だから、次のようなもの

(patient (name ?n) (symptoms $? very-high-fever $?))

高熱の症状のある患者の体位に合わせます。

于 2013-09-27T22:22:37.510 に答える