人工智能實驗報告_第1頁
人工智能實驗報告_第2頁
人工智能實驗報告_第3頁
人工智能實驗報告_第4頁
人工智能實驗報告_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

試驗報告CLIPS和其運行及推理機制進展介紹CLIPS是一個基于前向推理語言,用標準C語言編寫。它具有高移植性、高擴展性、強大的學問表達力量和編程方式以及低本錢等特點。CLIPS由兩局部組成:學問庫、推理機。它的根本語法是:(defmodule<module-name>[<comment>])CLIPS的根本構造:〔1〕. 學問庫由事實庫〔初始事實+初始對象實例〕和規(guī)章庫組成。事實庫:表示的數(shù)據(jù)或信息,用deftemplat,deffact定義初始事實表FACTLIS,由關系名、后跟零個或多個槽以及它們的相關值組成,其格式如下:模板:(deftemplate<deftemplate-name>[<comment>]<slot-definition>*)<slot-definition>:=<single-slot-definition>|<multislot-definition>事實:(deffacts<deffacts-name>[<comment>]<Facts>*)CLIPS系統(tǒng)啟動推理時,deffact定義的事實自動添加到工作存儲器中。常用命令如下:asser:把事實添加到事實庫(工作存儲器)中 retract:刪除指定事實modify:修改自定義模板事實的槽值 duplicate:復制事實clear:刪除全部事實規(guī)章庫表示系統(tǒng)推理的有關學問,用defrule命令來定義,由規(guī)章頭、后跟零個或多個條件元素以及行為列表組成,其格式如下:〔defrule<rulename>[<comment>]<patterns>*;=><actions>*;)只有當規(guī)章中全部的模式都被事實表中的事實滿足時,規(guī)章才能被觸發(fā)。常用命令如下:reset:來生成自定義事實 facts:給出事實列表agenda:顯示議程 watch:監(jiān)視命令run:啟動CLIPS運行〔2〕. 推理機由黑板〔用于存儲當前推理結果數(shù)據(jù)和歷史結果數(shù)據(jù)、推理機〔針對學問庫的規(guī)章,對黑板數(shù)據(jù)進展模板匹配〕以及“行動”的執(zhí)行次序掌握三局部組成。推理機承受正向推理機制,不斷地掃描規(guī)章的模式,推理循環(huán)可分為4個階段:模式匹配從學問庫中第一條規(guī)章開頭,依次掃描學問庫中全部規(guī)章,把規(guī)章的前件與動態(tài)存儲器中的當前事實相匹配,以搜尋滿足條件的規(guī)章。沖突消解在發(fā)生沖突,即多條規(guī)章同時被匹配時,依據(jù)預先確定的沖突消解策略,確定觸發(fā)規(guī)章。激活規(guī)章,調(diào)用匹配所觸發(fā)規(guī)章的全部子目標的事實。動作把所觸發(fā)規(guī)章的結論添加到動態(tài)存儲器〔議程。執(zhí)行次序掌握供給兩種具體的技術來掌握規(guī)章的執(zhí)行:執(zhí)行。模塊的焦點來掌握當前被執(zhí)行的模塊。給出Animal.clp的一個運行實例截圖方法分析Clips推理求解過程和方法〔系統(tǒng)的執(zhí)行過程和推理步驟和方法〕〔1〕. 代碼分析:規(guī)章庫(defrulepropagate-goal““(goalis?goal)(rule(if?variable$?)(then?goal??value))

通過推理的最終目標goalistype.animal進展逆向推理,得出需要推理出的的目標=>(assert(goalis?variable)))(defrulegoal-satified““(declare(salience30))?f<-(goalis?goal)(variable?goal?value)(answer??text?goal)=>(retract?f)(formatt“%s%s%n“?text?value))(defruleremove-rule-no-match““(declare(salience20))(variable?variable?value)?f<-(rule(if?variable?~?value$?))=>(retract?f))

優(yōu)先值為30通過答復以下問題,系統(tǒng)推理到最終目標后,打印最終結果。優(yōu)先值為20在ask-question-legalvalues一個動物屬性值。檢測與得到的屬性值不匹配的事實,并將其從綜合數(shù)據(jù)庫中刪除。這樣可以減輕之后系統(tǒng)做規(guī)章匹配的工作量,提高效率。(defrulemodify-rule-match““ 優(yōu)先值為20(declare(salience20)) 在ask-question-legalvalues(variable?variable?value) 一個動物屬性值。將需要同這個屬性一起做?f <- (rule (if ?variable ? ?value and 條件的其他屬性的事實做下修改。去除有關$?rest)) 這個屬性的條件語句。=>(modify?f(if?rest)))(defrulerule-satisfied““(declare(salience20))(variable?variable?value)?f<-(rule(if?variable??value)(then?goal??goal-value))

優(yōu)先值為20在ask-question-legalvalues一個動物屬性值。將這個屬性參加綜合數(shù)據(jù)庫中并撤銷無用事實。=>(retract?f)(assert(variable?goal?goal-value)))(defruleask-question-legalvalues““(declare(salience10))(legalanswers?$?answers)?f1<-(goalis?variable)?f2<-(question?variable??text)=>

優(yōu)先值為10檢測用戶輸入的是合法輸入,檢測當前的目標屬性并打印當前動物屬性對應的問題。用提問的答案和當前的目標屬性生成的事實插入綜合數(shù)據(jù)庫中。撤銷無用事實。(retract(retract?f1)(formatt“%s“?text)(printoutt?answers““)(bind?reply(read))(if(member(lowcase?reply)?answers)then(assert(variable?variable?reply))(retract?f2)else(assert(goalis?variable))))(deftemplate(deftemplaterule(multislotif)(multislotthen))事實:(deffactsknowledge-base(goalistype.animal)(legalanswersareyesno)(rule(ifbackboneisyes)(thensuperphylumisbackbone))(rule(ifbackboneisno)(thensuperphylumisjellyback))(questionbackboneis“Doesyouranimalhaveabackbone?“)〔2〕. 實例分析Load

首先定義了系統(tǒng)求解的目標為type.animal,合法答復為“yes”或“no”rule模板的內(nèi)容和一個question的值:定義規(guī)章:假設backboneyesuperphylum的值賦為“backbone”定義規(guī)章:假設backbonenosuperphylum的值賦為“jellyback”定義問題backbone的內(nèi)容為“Doesyouranimalhaveabackbone?”1個自定義模版,71個自定義事實。ResetfocusMAIN130條自定義事實添加到MAIN模塊的FACTS規(guī)章與事實進展匹配,并將滿足條件的規(guī)章激發(fā)參加到議程當中。RunCLIPS系統(tǒng)將在議程中的被激活的規(guī)章按挨次開頭執(zhí)行,激活了規(guī)章propagate-goal,依據(jù)事實f-1f-127產(chǎn)生了的事實f-130,并將它參加到綜合數(shù)據(jù)庫中。當規(guī)章運行完畢,綜合數(shù)據(jù)庫進展了更,clips系統(tǒng)再次匹配規(guī)章和事實,并激活的規(guī)章propagate-goal,依據(jù)事實f-130f-124產(chǎn)生了的事實f-131并將它參加到綜合數(shù)據(jù)庫中。之后重復這一步驟,直到事實f-139被參加綜合數(shù)據(jù)庫中后,CLIPS系統(tǒng)激活了規(guī)章ask-question-legalvaluesbackbone,撤銷事實f-139。對問題Doesyouranimalhaveabackbone?yes激活規(guī)章ask-question-legalvalues,在綜合數(shù)據(jù)庫中插入的事實f-140,并撤銷事實f-5clips系統(tǒng)進展的一輪匹配的時候rule-satisfied:f-140,f-3remove-rule-no-match:f-140,f-4f-140,f-4。rule-satisfiedf-3f-141f-3的撤銷,引起議程中已激活的規(guī)章propagate-goal:f-138,f-3失效,所以該規(guī)章被移出議程。在一次的匹配中,激活四個規(guī)章并壓入議程。remove-rule-no-match:f-141,f-9和remove-rule-no-match:f-141,f-10這兩個規(guī)章。移去不滿足要求的事實f-10,f-9和因事實撤銷而移除的原激活規(guī)章 propagate-goal:f-137,f-9。激活規(guī)章modify-rule-match:f-141,f-7,撤銷事實f-7并參加事實f-142,撤銷議程中原激活的規(guī)章propagate-goal:f-137,f-142。激活規(guī)章modify-rule-match:f-141,f-6f-6并參加事實f-143,撤銷議程中原激活的規(guī)章propagate-goal:f-137,f-6。propagate-goal:f-137,f-143被激活。參加的事實f-144并激活規(guī)章ask-question-legalvalues:f-2,f-144,f-8warm.blooded。對問題Istheanimalwarmblooded?答復no與步驟4)過程類似,最終激活規(guī)章ask-question-legalvalues:f-2,f-149,f-17,打印問題always.in.water。對問題Isyouranimalalwaysinwater?答復no與步驟4ask-question-legalvalues:f-2,f-154,f-3scall。對問題Isyouranimalcoveredwithscaledskin?yes與步驟4)過程類似,最終激活規(guī)章ask-question-legalvalues:f-2,f-159,f-47,打印問題rounded.shell。對問題

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論