freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

clips中文用戶手冊-資料下載頁

2025-01-15 17:24本頁面
  

【正文】 的專家系統(tǒng)變得簡單,這樣,對于每個模塊,它們大多在自己的議程中整合在一起了。如果你想了解更多,請參考 CLIPS 參考指南。 如果你想打印一條規(guī)則,而你又忘掉 了該規(guī)則的規(guī)則名,該怎么辦?不用慌,你可以在 CLIPS 提示符后面使用 rules 命令來打印出所有的規(guī)則名,舉例如下: CLIPS(rules) Duck For a total of 1 defrule. CLIPS 給我寫信 規(guī)則的 RHS 部分除了添加一條新規(guī)則,你還可以使用 printout 函數(shù)打印出相應(yīng)的信息。同樣, CLIPS 有回車換行關(guān)鍵字: crlf,該關(guān)鍵字以換行格式來改進輸出效果。有一點小改變就是, crlf 不被圓括弧包含。舉例如下: CLIPS(defrule duck (animalis duck) = (printout t “ quack” crlf)) 。 一定要打出“ t” ==Activation 0 duck:f1 CLIPS(run) quack CLIPS 雙引號內(nèi)的文本即為輸出。一定記得在 printout 命令后輸入“ t”,這將告知 CLIPS 將結(jié)果輸出到電腦的標(biāo)準(zhǔn)輸出設(shè)備 (standard output device)中。通常,標(biāo)準(zhǔn)輸出設(shè)備是你電腦的終端 (terminal)(因此在 printout 后面接字母“ t” )。然而,這可能會被重新定義,這樣標(biāo)準(zhǔn)輸 出設(shè)備也可能是其他的設(shè)備,如調(diào)制解調(diào)器或磁盤。 其他特性 declare salience 命令提供對增添到議程中的規(guī)則的外部控制。在使用該特性的時候要注意不要太過于自由以免你的程序被人為控制太多。setincrementalreset 命令禁止在規(guī)則被輸入之前查看該規(guī)則的事實。獲取增加的重置值命令為: getincrementalreset。讓一條規(guī)則重復(fù)觸發(fā)的一個辦法是使用 refresh 規(guī)則命令來強制使其重新激活。 load 命令載入前面你已經(jīng)保存在磁盤中命名為“ ”文件或者相應(yīng)文件夾下的 任何文件名里的規(guī)則。你還可以使用 load 命令載入一個包含規(guī)則的文本文件。 最快的載入文件的方法是,首先用 bsave 二進制存儲命令將規(guī)則存儲為機器可讀二進制格式。載入的二進制命令為 bload。這樣, CLIPS 內(nèi)存會不加解釋的快速讀取這些二進制規(guī)則。 另外兩個有用的命令可以幫助你通過一個文件來保存和載入事實。它們是 savefacts 和 loadfacts。( savefacts)命令將會保存所有事實表中的事實, (loadfacts)命令將會導(dǎo)入文件事實表中的事實。 batch 命令允許你像在頂層輸入一樣執(zhí)行一 個文件命令。另外一個有用的命令為你的操作系統(tǒng)提供一個界面。 system 命令允許操作系統(tǒng)的執(zhí)行和在 CLIPS 內(nèi)的可執(zhí)行。如果你想了解更多此類信息,請查閱 CLIPS 參考指南。 第三章 詳細(xì)資料 問題不是大局,而是細(xì)節(jié)。 在前面的兩章中,你已經(jīng)學(xué)習(xí)了 CLIPS 的基礎(chǔ)?,F(xiàn)在,你將會學(xué)到怎樣結(jié)合這些基礎(chǔ)構(gòu)建一個強大的程序。 紅綠燈 到目前為止,你還只是看到一些僅包含一條規(guī)則的簡單程序。然而,只包含一條規(guī)則的專家系統(tǒng)無疑作用有限。實際的專家系統(tǒng)通常包含上百,上千條規(guī)則。讓我們來看看一個需要多條規(guī)則的應(yīng)用軟件程序吧。 假 設(shè)你想寫一個專家系統(tǒng)來決定一個移動式遙控裝置如何對交通燈進行響應(yīng),最好是用多條規(guī)則去編寫這個問題的類型。舉個例子,紅燈和綠燈情況下的規(guī)則按如下書寫: (defrule redlight (light red) = (printout t “ Stop” crlf)) (defrule greenlight (light green) = (printout t “ Go” crlf)) 當(dāng)上述規(guī)則被輸入到 CLIPS 后,增加一個 (light red) 事實并運行,你將會看到“ Stop”被打印 出來。再增加一個 (light green)事實并運行,你會看到“ Go”被打印出來。 行路 如果你考慮上面所述,交通燈不光只簡單的包含有紅燈,綠燈,應(yīng)該還是黃燈存在,同時還有綠色的箭頭標(biāo)識來保護左轉(zhuǎn)等。手型的交通燈亮與滅指示了行人的行與止。行與止的信號取決于我們裝置顯示是行人還是行車,這可能要關(guān)注一些不同的信號。 行人或行車的信息必須被添加,此外交通燈的狀態(tài)信息也得添加。規(guī)則必須覆蓋所有的情況,但是它們必須有多個模式。舉個例子,假設(shè)我們希望當(dāng)裝置狀態(tài)為行人和行人信號亮?xí)r,一個規(guī)則被觸發(fā),該規(guī)則應(yīng)寫成如下所示: (defrule takeawalk (status walking) (walksign walk) = (printout t “ Go” crlf)) 上面的規(guī)則中包含有兩個模式,規(guī)則的每個模式必須在事實表中有相對應(yīng)的事實滿足才能觸發(fā)??纯催@些怎樣工作,輸入上面的規(guī)則并添加事實(status walking)和 (walksign walk),當(dāng)執(zhí)行 (run),規(guī)則的模式均被滿足,程序輸出“ Go”。 你可以在一條規(guī)則中加入多條模式或行為。重要的一點是,只有當(dāng)規(guī)則中所有的模式都被事實表中 的事實滿足時,規(guī)則才能被觸發(fā)。這種約束類型被稱為邏輯與條件元素( logical AND conditional element(CE)),是關(guān)于布爾型的“與”關(guān)系。 AND 關(guān)系只有當(dāng)所有的條件都為真時才為真。 因為模式為 AND 類型,如果只有一個模式被滿足,規(guī)則不會被觸發(fā)。只有給出規(guī)則 LHS 中所有的模式滿足,規(guī)則才能被放入到議程中。 ? 策略的問題 策略 (strategy)一詞最初是一個軍事術(shù)語,用在戰(zhàn)爭的謀劃和行動中?,F(xiàn)在,該術(shù)語普遍被用在商海(商海即是戰(zhàn)場)中,適用于一個組織為了達到他們的目的所做的高級計劃等 。“比世界上其他的人賣出更多的多脂漢堡,賺更多的錢!” 在專家系統(tǒng)中, strategy 術(shù)語的一個用法是激活的沖突消解。那么你也許會說,“那好,我現(xiàn)在就將設(shè)計好我的專家系統(tǒng),以便同一時刻僅有一條規(guī)則可能被激活,那么就用不上沖突消解了?!焙孟⑹牵喝绻愠晒α?,那么沖突消解確實無關(guān)緊要,壞消息是:你的成功證明了你的應(yīng)用軟件能被一個連續(xù)的程序很好的表達出來,那么你還不如首選在 C, Java 或者 Ada中編寫代碼,犯不著去編寫一個專家系統(tǒng)。 CLIPS 提供了七種不同的沖突消解策略:深度優(yōu)先 (depth),廣度優(yōu)先(breadth), LEX, MEA, plexity, simplicity 和隨機 (random)。在不考慮具體的應(yīng)用軟件程序時,很難說清哪一種策略更好。即使那樣,判斷上面的七種策略哪一個是“最好”的,也相當(dāng)困難。如果你想了解更多關(guān)于這些策略的詳細(xì)信息,請參考 CLIPS 參考指南。 深度優(yōu)先策略 (depth strategy)是 CLIPS 標(biāo)準(zhǔn)默認(rèn)策略 (default strategy)。當(dāng) CLIPS 第一次啟動時,該默認(rèn)設(shè)置便會被自動設(shè)置,后面,你可以更改默認(rèn)設(shè)置。在深度優(yōu)先策略中,在高權(quán)值的激活后,同權(quán)值或低權(quán)值 之前,新的激活將會被放到議程中。這就是說議程中是從高權(quán)值到低權(quán)值進行排序的。 在本書中,所有的討論和例子均是在假設(shè)為深度優(yōu)先策略前提下的。 現(xiàn)在,你知道了所有的這些可選設(shè)置是多么的有用,一定得記住:當(dāng)你運行一個由你和其他人共同編寫的專家系統(tǒng)時,要保證你們的設(shè)置是一致的。否則,你會發(fā)現(xiàn)操作無效或者甚至是錯誤的。事實上,最好的辦法是在你開發(fā)的過程中,對任何系統(tǒng)進行顯式的設(shè)置編碼,以保證正確配置。 自定義事實 當(dāng)你使用 CLIPS 的時候,你也許會對在頂層中輸入相同的聲明事實而感到厭煩。如果你準(zhǔn)備在程序運行的時候用到 相同的聲明,首先你可以用批處理文件加載磁盤里的聲明,其次,你還可以使用自定義事實關(guān)鍵字:deffacts。舉例如下: CLIPS(unwatch facts) CLIPS(unwatch activations) CLIPS(clear) CLIPS(deffacts walk “ Some facts about walking” (status walking) 。 被聲明的事實 (walksign walk)) 。 被聲明的事實 CLIPS(reset) 。 引入被 自定義聲明的事實 CLIPS(facts) f0 (initialfact) f1 (status walking) f2 (walksign walk) For a total of 3 facts. CLIPS 自定義事實聲明,必需指定一個事實名,如上面的 walk,跟在關(guān)鍵字deffacts 的后面,事實名后面可以跟由雙引號包含的注釋。同規(guī)則中的注釋一樣,當(dāng) CLIPS 載入 (deffacts)事實時, (deffacts)的注釋將會被保留。事實名或注釋后面便是將要被聲明到事實表中的事實,自定 義的事實由 CLIPS的 (reset)命令聲明添加。 事實 (initialfact)由 (reset)命令自動添加進來,并且它的事實標(biāo)識符一直是 f0。即使沒有任何自定義的聲明, (reset)命令也會自動聲明事實(initialfact)。在 CLIPS 的早期版本中,該事實被用來激活一些類型的規(guī)則,但是現(xiàn)在它早已不作此目的使用了。它被用來對那些顯式匹配于該事實的程序向后兼容。 (reset)命令較之 (clear)命令的一個好處是,它不會丟棄所有的規(guī)則。(reset)命令使規(guī)則完整無缺,而 (clear)命令將會 移除所有議程中的規(guī)則,并移除所有事實表中的舊的事實。用 (reset)命令是開始一個程序執(zhí)行的首選方法,特別是之前程序已經(jīng)在運行并且事實表已經(jīng)被舊的事實打亂時。 總而言之, (reset)命令作用于事實有三點: (1)將存在的事實從事實表中移除,同時也會移除議程中的激活規(guī)則。 (2)聲明事實 (initialfact) (3)聲明已自定義 (deffacts)聲明的事實。 事實上, (reset)命令對于對象也有相似的作用。它可以刪除實例,創(chuàng)建initialobject,聲明添加自定義實例 (definstances)。 選擇性消除 undeffacts 命令的作用是通過消除內(nèi)存中的自定義事實來撤銷 (deffacts)聲明事實。舉個例子: CLIPS(undeffacts walk) CLIPS(reset) CLIPS(facts) f0 (initialfact) For a total of 1 fact. CLIPS 這個例子演示了怎樣將自定義的事實 walk 消除。如果執(zhí)行了 (undeffacts)后,想保存一個自定義事實聲明,則必須重新定義。你甚至還可以使用(undeffacts)清除 initialfact事實。除了事實之外, CLIPS還允許使用 undefrule命令消除選定的規(guī)則。 注意 你 可 以 對 議 程 監(jiān) 視 規(guī) 則 (watch rules) 觸 發(fā) 和 監(jiān) 視 激 活 (watch activations)。監(jiān)視統(tǒng)計 (watch statistics)給出已經(jīng)觸發(fā)規(guī)則數(shù),執(zhí)行時間,每秒規(guī)則數(shù),事實的平均數(shù),事實的最大數(shù),激活的平均數(shù)和激活的最大數(shù)等信息。這些統(tǒng)計信息對于調(diào)整專家系統(tǒng)、優(yōu)化運行速度非常有用。另一個命令叫:“ watch pilations”,用來顯示當(dāng)規(guī)則被加載時的信息。 watch all命令 監(jiān)視所有的項目。 使用 dribble 命令打印和查看信息到屏幕或磁盤,將會使你的程序稍微變慢,這是因為 CLIPS 需要花較多的時間去打印或保存信息到磁盤中去。dribbleon 命令會將所有的信息存儲到被選入對話框的磁盤文件中,直到dribbleoff 命令的輸入才終止。這在提供任何事情發(fā)生時的參數(shù)記錄是非常方便的。這兩個命令如下: (dribbleon filename) (dribbleoff filename) 另外一個有用的調(diào)試命令是 (run),該命令提供了一個觸發(fā)規(guī)則數(shù)目的可選參數(shù) 。舉個例子, (run 21)命令將會告知 CLIPS 運行,并當(dāng) 21 個規(guī)則觸發(fā)后停止。 (run 1)命令允許你每次只能執(zhí)行一步程序。 (step)命令等同于(run 1)。 像其它的編程語言一樣, CLIPS 也提供斷點 (breakpoints)支持,斷點作為 CLIPS 的一個簡單指示符,停止順序執(zhí)行而優(yōu)先執(zhí)行指定規(guī)則。斷點由setbreak 命令設(shè)置。 removebreak 命令將移除已經(jīng)設(shè)置的斷點。 showbreaks命令顯示所有設(shè)置斷點的規(guī)則。帶參數(shù) (rulename)的規(guī)則句法如下所示: (setbreak fulename) (removebreak rulename) (showbreaks) 合適的匹配 你可能會遭遇到這種情況:當(dāng)你確定某條規(guī)則應(yīng)該被激活卻沒有被激活。這也許是你的 CLIPS 中存在有漏洞,因為對
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1