基于產(chǎn)生式動物識別系統(tǒng)的設計_第1頁
基于產(chǎn)生式動物識別系統(tǒng)的設計_第2頁
基于產(chǎn)生式動物識別系統(tǒng)的設計_第3頁
基于產(chǎn)生式動物識別系統(tǒng)的設計_第4頁
基于產(chǎn)生式動物識別系統(tǒng)的設計_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、.人工智能及其應用課程報告 基于產(chǎn)生式動物識別系統(tǒng)的設計學 生:學 號:教 師:專 業(yè):XX大學自動化學院二O*年十一月目錄 TOC o h z u HYPERLINK l _Toc405113231 一、實驗目的 PAGEREF _Toc405113231 h 3 HYPERLINK l _Toc405113232 二、實驗原理 PAGEREF _Toc405113232 h 3 HYPERLINK l _Toc405113233 三、設計過程 PAGEREF _Toc405113233 h 4 HYPERLINK l _Toc405113234 1、設計思路 PAGEREF _Toc405

2、113234 h 4 HYPERLINK l _Toc405113237 2、設計過程 PAGEREF _Toc405113237 h 4 HYPERLINK l _Toc405113238 1建立規(guī)則庫 PAGEREF _Toc405113238 h 4 HYPERLINK l _Toc405113239 2輸入數(shù)據(jù)庫 PAGEREF _Toc405113239 h 5 HYPERLINK l _Toc405113240 3推理過程 PAGEREF _Toc405113240 h 5 HYPERLINK l _Toc405113241 3問題求解基本過程 PAGEREF _Toc405113

3、241 h 5 HYPERLINK l _Toc405113242 四、實驗結果7 HYPERLINK l _Toc405113243 五、實驗心得7 HYPERLINK l _Toc405113244 附 錄8實驗目的理解和掌握產(chǎn)生式知識表示方法及產(chǎn)生式系統(tǒng)的基本過程,能夠利用編程技術建立一個基于產(chǎn)生式知識表示的簡單的智能系統(tǒng)。建立一個動物識別系統(tǒng)的規(guī)則庫,用以識別虎、豹、斑馬、長頸鹿、企鵝、鴕鳥、信天翁等7種動物。二、實驗原理推理機的功能是根據(jù)一定的推理策略,從知識庫中選擇有關知識,對用戶提供的證據(jù)進行推理,直到得出相應的結論為止。推理分為精確和不精確兩種。精確推理是把相關領域的知識表示成

4、必然的因果關系,推理的結論或是肯定的,或是否定的。而不精確推理是在公理的基礎上,定義一組函數(shù),求出定理的不確定性量度。常用的不確定推理模型有:帶可信度的不確定推理、主觀Bayes方法、模糊集理論。而此次課題動物分類專家系統(tǒng)可采用正向推理策略,用戶給系統(tǒng)提供關于屬性的原始信息,如給出鳥、不會飛、會游泳、黑白色幾個屬性。系統(tǒng)搜索知識庫,找到這些屬性,然后進一步搜索這些屬性的相關整合屬性,得到最后的結論。產(chǎn)生式系統(tǒng)是把一組產(chǎn)生式放在一起,并讓它們相互配合,協(xié)同作用,一個產(chǎn)生式的結論可以供另一個產(chǎn)生式作為已知事實使用,以求得問題的解決。產(chǎn)生式的基本形式為PQ或者IF P THEN Q。動物識別系統(tǒng)的產(chǎn)

5、生式規(guī)則分析如下:圖1 動物識別系統(tǒng)的部分推理網(wǎng)絡三、設計過程1、設計思路根據(jù)上課老師的思路,本系統(tǒng)分為三個功能模塊,分別是規(guī)則庫、綜合數(shù)據(jù)庫和控制系統(tǒng)。根據(jù)產(chǎn)生式系統(tǒng)的三部分可以搭建動物識別系統(tǒng)。數(shù)據(jù)庫的設計思想主要分為條件表和規(guī)則表。在推理過程中,當規(guī)則表中某條規(guī)則的前提可以和綜合數(shù)據(jù)庫中的已知事實相匹配時,該規(guī)則被激活。由它推出的結論將被作為新的事實放入數(shù)據(jù)庫,稱為后面推理的已知事實。所以數(shù)據(jù)庫系統(tǒng)結構如下: 條件表 條件表規(guī)則表 數(shù)據(jù)庫圖2 數(shù)據(jù)庫系統(tǒng)結構此外,還需要包括連接數(shù)據(jù)庫程序,添加規(guī)則和刪除規(guī)則的規(guī)則庫代碼,整個系統(tǒng)設計跟自己所掌握的編程代碼有所區(qū)別,所以沒有采用老師的設計思

6、路。2、設計過程1建立規(guī)則庫為了識別這些動物,可以根據(jù)動物識別的特征,建立下述規(guī)則的規(guī)則庫: R1:if 動物有毛發(fā) then 動物是哺乳動物R2:if 動物有奶 then 動物是哺乳動物R3:if 動物有羽毛 then 動物是鳥R4:if 動物會飛 and 會生蛋 then 動物是鳥R5:if 動物吃肉 then 動物是食肉動物R6:if 動物有犀利牙齒 and 有爪 and 眼向前方then 動物是食肉動物R7:if 動物是哺乳動物and有蹄then動物是有蹄類動物R8:if 動物是哺乳動物and反芻then動物是有蹄類動物R9:if 動物是哺乳動物and是食肉動物and有黃褐色and 有

7、暗斑點 then 動物是豹R10:if 動物是哺乳動物 and是食肉動物and有黃褐色 and有黑色條紋 then 動物是虎R11:if動物是有蹄類動物and 有長脖子and有長腿and有暗斑點 then 動物是長頸鹿R12:if 動物是有蹄類動物 and有黑色條紋 then 動物是斑馬R13:if 動物是鳥and不會飛 and有長脖子and有長腿 and有黑白二色 then 動物是鴕鳥R14:if 動物是鳥 and不會飛 and會游泳 and有黑白二色then 動物是企鵝R15:if 動物是鳥 and善飛 then 動物是信天翁根據(jù)課本中規(guī)則庫中的15條規(guī)則,每一個規(guī)則會有一個結論,從而得到

8、結論編號庫數(shù)組為30,29,28,27,26,25,24,3,3,13,12,12,11,11,0。2輸入數(shù)據(jù)庫假設數(shù)據(jù)庫中放入一下事實:有暗斑點,有長脖子,有長腿,有奶,有蹄。求解目標:該動物是什么動物?3推理過程先從規(guī)則庫中取出第一條規(guī)則r1,檢查其前提是否可與綜合數(shù)據(jù)庫中的已知事實相匹配。r1的前提是有毛發(fā),但事實庫中無此事實,故匹配失敗。然后取r2,該前提與已知事實有奶相匹配,r2被執(zhí)行,并將其結論該動物是哺乳動物作為新的事實加入到綜合數(shù)據(jù)庫中。此時,綜合數(shù)據(jù)庫的內(nèi)容變?yōu)椋簞游镉邪蛋?有長脖子,有長腿,有奶,有蹄,是哺乳動物。再從規(guī)則庫中取r3,r4,r5,r6進行匹配,均失敗。接著取

9、r7,該前提與已知事實是哺乳動物相匹配,r7被執(zhí)行,并將其結論該動物是有蹄類動物作為新的事實加入到綜合數(shù)據(jù)庫中。此時,綜合數(shù)據(jù)庫的內(nèi)容變?yōu)椋簞游镉邪蛋?有長脖子,有長腿,有奶,有蹄,是哺乳動物,是有蹄類動物。此后,r8,r9,r10均匹配失敗。接著取r11,該前提該動物是有蹄類動物 AND 有長脖子 AND 有長腿 AND 身上有暗斑 與已知事實相匹配,r11被執(zhí)行,并推出該動物是長頸鹿。由于長頸鹿已是目標集合中的一個結論,即已推出最終結果,故問題求解過程結束。4問題求解基本過程 初始化綜合數(shù)據(jù)庫,即把欲解決問題的已知事實送入綜合數(shù)據(jù)庫中; 檢查規(guī)則庫中是否有未使用過的規(guī)則,若無轉(zhuǎn) ; 檢查規(guī)

10、則庫的未使用規(guī)則中是否有其前提可與綜合數(shù)據(jù)庫中已知事實相匹配的規(guī)則,若有,形成當前可用規(guī)則集;否則轉(zhuǎn); 按照沖突消解策略,從當前可用規(guī)則集中選擇一個規(guī)則執(zhí)行,并對該規(guī)則作上標記。把執(zhí)行該規(guī)則后所得到的結論作為新的事實放入綜合數(shù)據(jù)庫;如果該規(guī)則的結論是一些操作,則執(zhí)行這些操作; 檢查綜合數(shù)據(jù)庫中是否包含了該問題的解,若已包含,說明解已求出,問題求解過程結束;否則,轉(zhuǎn); 當規(guī)則庫中還有未使用規(guī)則,但均不能與綜合數(shù)據(jù)庫中的已有事實相匹配時,要求用戶進一步提供關于該問題的已知事實,若能提供,則轉(zhuǎn);否則,執(zhí)行下一步; 若知識庫中不再有未使用規(guī)則,也說明該問題無解,終止問題求解過程。四、實驗結果本實驗基于

11、VS 2010進行編程實驗,基本程序框架如下圖所示圖3實驗框架按照數(shù)據(jù)庫中存入的事實,在本系統(tǒng)中采用正向推理,得出結果,下面是長頸鹿的運行結果:圖4運行結果五、實驗心得通過此次實驗理解了產(chǎn)生式知識表示方法,并體會到產(chǎn)生式表示法的自然性、模塊性、有效性和清晰性的優(yōu)點。掌握了構建產(chǎn)生式系統(tǒng)的基本過程,并能夠利用編程建立一個基于產(chǎn)生式知識表示的簡單的智能系統(tǒng)。附錄:#include #include #include StdAfx.husing namespace std;char *facts=,反芻,有蹄,哺乳類,眼向前方,有爪, 犬齒,吃肉,下蛋,能飛,有羽毛,蹄類,食肉類,鳥類,有奶,毛發(fā),

12、善飛,黑色白條紋,游泳,長腿,長脖子,黑條紋,暗斑點,黃褐色;char *resultSet=,信天翁,企鵝,鴕鳥,斑馬,長頸鹿,虎,豹 ;struct factDB /綜合數(shù)據(jù)庫中的已知事實 int curNum; int fact30; int initNum;factDb;struct Rule /規(guī)則 結構體int factNum; int fact5;bool endResult; /是否為結果集int resultID; /推出的結果IDbool used;/已使用過標志bool possible; /是否可能標志,針對-9不能飛若Rule中有9,而綜合數(shù)據(jù)庫中有-9 則該規(guī)則標記

13、不可能int needFactPos; /通過事實比較,記錄下一個需要的事實位置,方便下次比較開始點后移和首先尋找該位置值是否新增即可*rule;bool findNeedFact /尋找needFactPos位置值是否存在于綜合事實庫中int i=pos;for;i ifreturn true;iffactIDreturn false;return false;bool cmpArray /兩個數(shù)組的事實比較int i,j;i=r.needFactPos;j=i;whileiwhilejifi+;ifreturn true;else ifr.factiifr.facti0 & findNee

14、dFactr.possible=false; /當存在相反情況時,標記不可能r.needFactPos=i;return false;j+;ifir.needFactPos=i;return false;return true;int cmpFactiffactDb.curNumreturn 0; /已知事實還沒有該規(guī)則事實多ifif!findNeedFactreturn 0; /需要的值還不存在else r.needFactPos+;ifcmpArrayr.used=true;ifreturn 1; /得到了最終結果else return 2; /得到中間結果else return 0;in

15、t mainfreopen;int n;cinn;rule=mallocsizeof*n;int i,j;fori=0;icinrulei.factNum;forj=0;jcinrulei.factj;sort;cinrulei.endResultrulei.resultID;rulei.used=false;rulei.possible=true;rulei.needFactPos=0;cinfactDb.initNum;factDb.curNum=factDb.initNum;cout原始事實綜合數(shù)據(jù)庫:endl;fori=0;icinfactDb.facti;coutfactsfactDb.factit;coutendlendl;sort;int res;bool isEnd=false;whileisEnd=true;fori=0;i ifcontinue;res=cmpFact; ifcontinue;/不匹配else if /匹配成功,得到最終結果cout得到最終結果:r

溫馨提示

  • 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

提交評論