clips

    0熱度

    1回答

    (首先,對不起我的英文:)) 我想爲我的項目(天然植物的簡單分類)創建一個修訂系統,我不想粘貼我所有的代碼,但只有重要的部分,所以我會試着解釋系統的功能。當系統找到應該與用戶給出的答案相對應的植物時,我做了一個函數(我稱之爲修訂屬性),該函數詢問用戶是否要修改某些屬性,如果他回答「是」,他可以選擇哪些屬性想要改變,然後系統找到屬性的事實並撤消它們,因此它從一開始就應該重新評估規則。例如,我有這樣的

    0熱度

    1回答

    因此,我試圖爲18洞球場製作「高爾夫球杆推薦系統」。現在,在定義了高爾夫球場,高爾夫球杆和高爾夫球員的基本模板之後,由於這個特殊問題呈現的大型搜索空間,我陷入了困境。所以目前我有: (defrule teeoff ?g <- (golfer (position "tee")) => (retract ?g) (assert (golfer (position

    2熱度

    1回答

    當我試圖將一個變量與一個字符串進行比較時,它給了我一個錯誤。我試圖將其與(= ?a "s")進行比較。 這是產生誤差的完整代碼例如: (deffunction cierto (?a) (if (= ?a "s") then (printout t TRUE crlf) else (printout t FALSE crlf) ) ) 錯

    0熱度

    1回答

    我有以下事實: (deffacts Cars (color red) (color green) (color yellow) (doors three) (doors five) ) 是可以通過事實來創建defrule循環,以創建像(車衝三),(汽車紅五新的事實),(汽車綠色三),(...),所有可能的顏色和門的組合? 感謝

    0熱度

    1回答

    我不明白爲什麼這個綁定表達式被解釋罰款對話,但不是defrule內: CLIPS> (bind ?test (nth$ 1 (create$ 1))) 1 新窗口:後無窗的 (defrule testrule (bind ?test2 (nth$ 1 (create$ 1))) => (assert (nothing here))) 輸出「加載緩衝區「: CLIP

    0熱度

    1回答

    我正在尋找一種基於否定條件刪除事實的方法。例如創建以下事實後: CLIPS> (deffacts Cars (color red) (color green) (color yellow) (doors three) (doors five)) CLIPS> (defrule combinations (color ?color)

    0熱度

    1回答

    如何才能得到滿足LHS條件的事實? E.g.我嘗試過但是失敗了: (defrule rule ?f<-(or (fact1) (fact2)) => (retract ?f) )

    0熱度

    1回答

    我需要從可能包含其他實例的實例中檢索插槽值(傳遞插槽名稱)。 實施例: (defclass MAINCONTROLLER (is-a USER) (slot uuid (type STRING)) (slot param (type INSTANCE)) (multislot zones (type INSTANCE))

    0熱度

    1回答

    我想從C++調用CLIPS deffunction並將它傳遞給一個實例。我正在使用標準的CLIPS 6.30發行版(不是任何C++綁定)。我目前正在與以下定義的工作: (defclass CFAM (is-a USER)) (deffunction drop-cfam (?cfam) (send ?cfam delete)) (definstances KNOWN_THINGS

    1熱度

    1回答

    我寫了這個規則的專家系統: (defrule wild chicory (attribute (name habitat) (value sea montain grassland unknown)) => (assert (plant "Cichorium_Intybus")) ) 但是我不想棲息地的價值相匹配的一切,我已經給出了值的,但只有比賽至少一個值