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

正文內容

clips中文用戶手冊-wenkub.com

2025-01-12 17:24 本頁面
   

【正文】 帶參數(shù) (rulename)的規(guī)則句法如下所示: (setbreak fulename) (removebreak rulename) (showbreaks) 合適的匹配 你可能會遭遇到這種情況:當你確定某條規(guī)則應該被激活卻沒有被激活。 像其它的編程語言一樣, CLIPS 也提供斷點 (breakpoints)支持,斷點作為 CLIPS 的一個簡單指示符,停止順序執(zhí)行而優(yōu)先執(zhí)行指定規(guī)則。這兩個命令如下: (dribbleon filename) (dribbleoff filename) 另外一個有用的調試命令是 (run),該命令提供了一個觸發(fā)規(guī)則數(shù)目的可選參數(shù) 。 watch all命令 監(jiān)視所有的項目。 注意 你 可 以 對 議 程 監(jiān) 視 規(guī) 則 (watch rules) 觸 發(fā) 和 監(jiān) 視 激 活 (watch activations)。舉個例子: CLIPS(undeffacts walk) CLIPS(reset) CLIPS(facts) f0 (initialfact) For a total of 1 fact. CLIPS 這個例子演示了怎樣將自定義的事實 walk 消除。 (2)聲明事實 (initialfact) (3)聲明已自定義 (deffacts)聲明的事實。 (reset)命令較之 (clear)命令的一個好處是,它不會丟棄所有的規(guī)則。 事實 (initialfact)由 (reset)命令自動添加進來,并且它的事實標識符一直是 f0。 被聲明的事實 CLIPS(reset) 。 自定義事實 當你使用 CLIPS 的時候,你也許會對在頂層中輸入相同的聲明事實而感到厭煩。 在本書中,所有的討論和例子均是在假設為深度優(yōu)先策略前提下的。 深度優(yōu)先策略 (depth strategy)是 CLIPS 標準默認策略 (default strategy)。 CLIPS 提供了七種不同的沖突消解策略:深度優(yōu)先 (depth),廣度優(yōu)先(breadth), LEX, MEA, plexity, simplicity 和隨機 (random)。現(xiàn)在,該術語普遍被用在商海(商海即是戰(zhàn)場)中,適用于一個組織為了達到他們的目的所做的高級計劃等 。 AND 關系只有當所有的條件都為真時才為真。看看這些怎樣工作,輸入上面的規(guī)則并添加事實(status walking)和 (walksign walk),當執(zhí)行 (run),規(guī)則的模式均被滿足,程序輸出“ Go”。行與止的信號取決于我們裝置顯示是行人還是行車,這可能要關注一些不同的信號。舉個例子,紅燈和綠燈情況下的規(guī)則按如下書寫: (defrule redlight (light red) = (printout t “ Stop” crlf)) (defrule greenlight (light green) = (printout t “ Go” crlf)) 當上述規(guī)則被輸入到 CLIPS 后,增加一個 (light red) 事實并運行,你將會看到“ Stop”被打印 出來。然而,只包含一條規(guī)則的專家系統(tǒng)無疑作用有限。 第三章 詳細資料 問題不是大局,而是細節(jié)。 batch 命令允許你像在頂層輸入一樣執(zhí)行一 個文件命令。這樣, CLIPS 內存會不加解釋的快速讀取這些二進制規(guī)則。 load 命令載入前面你已經(jīng)保存在磁盤中命名為“ ”文件或者相應文件夾下的 任何文件名里的規(guī)則。在使用該特性的時候要注意不要太過于自由以免你的程序被人為控制太多。一定記得在 printout 命令后輸入“ t”,這將告知 CLIPS 將結果輸出到電腦的標準輸出設備 (standard output device)中。同樣, CLIPS 有回車換行關鍵字: crlf,該關鍵字以換行格式來改進輸出效果。你可以定義模塊,將規(guī)則與那些可以被其他編程語言不同包裝,模塊,過程或函數(shù)納入的聲明類比。 ? 查看規(guī)則 在你運行 CLIPS 時,也許你想查看某一條規(guī)則,這里有一個命令:ppdefrule恰當?shù)拇蛴∫?guī)則 打印一條規(guī)則。 注意復制的事實不會被輸入 FALSE CLIPS(agenda) 0 duck: f1 For a total of 1 activation. CLIPS(run) ==f2 (soundis quack) CLIPS(agenda) 。右箭號表明激活和事實正在被添加,左箭號表明已存在的事實和激活。在現(xiàn)實世界 中,引起觸發(fā)的刺激最終都會消失。當有適當?shù)拇碳r,神經(jīng)細胞會激發(fā)出一定的電壓脈沖,神經(jīng)細胞激活后,將遭受折射 (refraction)并在一定時期內不能被再次觸發(fā)。 推理機通過特權值將激活進行分類。舉個例子,舊模式實體的副本便是一個新的模式實體。注意,從 CLIPS內存中保存下的代碼只保留了雙引號內可選規(guī)則頭的注釋,而分號后的注釋就沒有了。 輸入 run 命令即可使程序運行。前面知道了 ducksound規(guī)則的模式左部為: (animalis duck) 該模式剛好與 (animalis duck)事實符合,因此 ducksound 規(guī)則將會被觸發(fā)。如果沒有顯式的聲明特權值,則 CLIPS默認為 0。 讓鴨子叫吧 CLIPS 通常會執(zhí)行議程中最高優(yōu)先權規(guī)則右部的行為部 分。 當議程中有多條激活規(guī)則時, CLIPS 自動決定哪條規(guī)則將被合理的觸發(fā)。 規(guī)則的最后部分為零個或多個行為,當規(guī)則被觸發(fā) (fire)時,這些行為將會被執(zhí)行。CLIPS 試圖將模式與事實表中的事實進行匹配,如果規(guī)則的模式與事實匹配成功,規(guī)則將會被激活 (activated)而放入到議程 (agenda)中。模式和行為的數(shù)量并不一定得相等,這就是上面例子中用 N 和 M 來代指的意義。這里的函數(shù)名是“ assert”,它的參數(shù)是“ duck”。保證你的圓括弧完整,否則你將得到錯誤 。 由一些在“ =”之前的元素組成的規(guī)則左部分 (pattern_2) . . . (pattern_N) = (action_1) 。 ? 輸入同一個規(guī)則名,如本例中的“ duck”,將會更替前面規(guī)則名為“ duck”里已經(jīng)存在的一切。 規(guī)則頭 (animalis duck) 。當然,由空格,制表和回車組成的空格將規(guī)則的幾個部分分隔開來,以增強可讀性。雖然現(xiàn)在我們只是討論基于事實的模式匹配,一般來說,模式的匹配時基于模式實體上 (pattern entity)的。記住,在一個聲明中,圓括弧的左邊和右邊部分的數(shù)目是配套的。規(guī)則名緊跟在關鍵字 defrule 后面。如果你記住 IF THEN 的類比特性,那么將規(guī)則從自然語言轉化到 CLIPS 語言將很簡單。一條規(guī)則與程序語言如 Java, C 或 Ada 中的 IF THEN 表述非常相似。 第二章 規(guī) 則 如果你想你的生活碩果累累,那么別打破規(guī)則 而是去制定規(guī)則! 在前面一章中的學習中,你已經(jīng)對事實有所了解了。不久,你將會看到一個細目菜單。通過輸入 unwatch 命令 可以關閉監(jiān)視 (watch)命令。 應用于對象 (watch genericfunctions) (watch methods) 。 (watch facts) (watch instances) 。 監(jiān)視事實是通過輸入 (watch facts)命令來實現(xiàn)的,如下例子所示: CLIPS(clear) CLIPS(watch facts) CLIPS(assert (animalis duck)) ==f1 (animalis duck) Fact1 CLIPS 右雙箭頭符號 ==表示事實正在被添加到內存中,左雙箭頭 ==表示事實正在從內存中移除,如下所示: CLIPS(reset) ==f0 (initialfact) ==f1 (animalis duck) ==f0 (initialfact) CLIPS(assert (animalis duck)) ==f1 (animalis duck) Fact1 CLIPS(retract 1) ==f1 (animalis duck) CLIPS(facts) f0 (initialfact) For a total of 1 fact. CLIPS (watch facts)命令提供對事實表狀態(tài)的動態(tài)顯示, (facts)命令顯示的是靜態(tài)的當前事實表中所包含的事實。 你可以一次撤銷多條事實,如 下所示: CLIPS(clear) CLIPS(assert (animalis duck)) Fact1 CLIPS(assert (animalsound quack)) Fact2 CLIPS(assert (The duck says “ Quack.” )) Fact3 CLIPS(retract 1 3) CLIPS(facts) f0 (initialfact) f2 (animalsound quack) For a total of 2 facts. CLIPS 撤銷多條事實,只要在 retract 命令后跟上相應的事實索引號即可。將事實表中的事實移除稱之為撤銷,使用 retract 命令。因此,當輸入相同的事實時, CLIPS 返回 FALSE。 一個明確的關聯(lián), animalis 和 animals,比隱式的定義 (duck), (horse)和 (cow)能使人們得到更多的信息。 良好的文檔處理 在專家系統(tǒng)中比其他語言如 Jave, C, Ada 等更顯重要,這是因為專家系統(tǒng)中的規(guī)則并不是普通的按順序執(zhí)行。當人們在讀一段程序時,使用合適的空格會帶來許多方便, CLIPS 會將其自動置換為單空格。 下面的例子將更清楚的表現(xiàn)了回車應用于表中 ,增加可讀性的作用。 同樣,我們也注意到 CLIPS 會保存事實中字段里的大寫和小寫字母。 CLIPS(clear) CLIPS(assert (The duck says “ Quack” )) Fact1 CLIPS(facts) f0 (initialfact) f1 (The duck says “ Quack” ) For a total of 2 facts. CLIPS(clear) CLIPS(assert (The duck says “ Quack” )) Fact1 CLIPS(facts) f0 (initialfact) f1 (The duck says “ Quack” ) For a total of 2 facts. CLIPS 回車的使用是為增加可讀性。 定義模板事實 (Deftemplate facts),稍后會做詳細的表述,它是無序的,因為它用命名字段來定義數(shù)據(jù)。舉個例子,注意,CLIPS 會自動將包含相同數(shù)字“ 1” ,“ 2”和“ 3”的事實區(qū)分開。例外的是,一些函數(shù)如 assert 和 retract 僅僅只能用于事實,而不能用于對象。在 版本以前,允許僅一個數(shù)字的事實,然而,現(xiàn)在必需一個符號作為第一字段,同時, CLIPS 的一些專用字段不能用來作為第一字段,但是可以用來作為其他字段。沒有小數(shù)點的數(shù)字即是整型,除非它們不屬于整型范圍。一些例子如下: “ duck” “ duck1” “ duck/soup” “ duck soup” “ duck soup is good!!!” ? 第三和第四種字段類型為數(shù)字型字段。通常情況下,最好是避免使用這些符號來表示字符,除非你有更好的理由需 要用到它們。 CLIPS 會以一個錯誤消息響應并提示給你(就像生活中的某些時候,你得做些錯誤的事情以使得某些事情正確)。 ? 雙引號,“” ? 起始和結束圓括號,() ? amp?!保?|”和“~”不會獨立的使用或作為符號的任何部分。同樣, CLIPS 中特定的符號有特殊的意義。 事實中不能嵌入其他的事實。 Symbol 是一類字段類型,該類型起始于一個可印刷的 ASCII 碼并被選擇性的加一個 0 或更多的可印刷字符。這些字段類型用來存儲字段值的類型。 注意, nil 表示了一個占位符,雖然它沒有值。一個表是一組無內在序列的項目集合。舉例,如果一個事實被定義為: (Brian duck) 表示一個叫 Brian 的獵人射殺了一只鴨子,那么事實 : (duck Brian) 則表示鴨子獵手射殺了一個叫 Brian 的獵人。 (duck)事實是一個單獨,未命名占位符的事實,值為 duck。一個簡單的類比,你可以將字段想像
點擊復制文檔內容
規(guī)章制度相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1