




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
動物識別專家系統研究摘要:動物識別專家系統是將人的思維過程轉化為計算機語言的邏輯過程,其關鍵在于知識和信息的表示,智能推理或求解的基礎——知識庫的創建和管理,以及基于某種知識和信息表示的智能推理或求解過程。使動物識別具有一定的智能性、良好的交互性和可視化效果。本論文也主要以識別七種動物的設計思路和程序為例所寫的。關鍵詞:人工智能;專家系統;動物識別一、專家系統基本知識1.1動物識別專家系統介紹動物識別專家系統是人工智能中一個比較基礎的規則演繹系統,是人工智能領域里的一個大模塊的專家系統的一個特定例子。是集知識表與推理為一體的,以規則為基礎對用戶提供的事實進行向前、逆向或雙向的推理得出結論的一種產生式系統。如果通過良好的分析、精確地設計和細致的規劃會創設出高度靈活和快速有效的識別系統,再加上良好的界面供用戶添加新的事實和規則,反饋詳細的錯誤或信息的話,那就是一個相當完整的識別系統了。1.2專家系統實際應用目前專家系統已經成功地滲透到生活的各個領域,并且還產生了巨大的社會效益和經濟效益。例如,像車輛傳感、藥物、紡織服裝等重工業和輕工業領域中都會應用到,特別是在計算機領域里,現在已經是一門非常重要的學科類了。1.3專家系統的開發專家系統設計與實現的一般過程選題與明確任務下選題與明確任務下圖1【3】設計基本思路2.1知識庫知識庫作用用產生式系統監別動物,需要一種演繹機制,利用己知事實的集合做出新的結論,一種方法是替動物園中的每個動物作一個產生式,使用者首先收集所有可利用的事實,然后在產生式的表中進行掃描,尋找一個狀態部分能與之匹配的產生式。一般要經過多少步并生成和利用一些中間事實才能從基本事實推出結論,這樣做所包含的產生式可以比較小容易理解,容易使用和容易產生。動物識別專家系統中的知識庫中的知識通常是用規則表示的。知識庫建立知識庫所要遵循的規則【1】規則1:如果:動物有毛發則:該動物是哺乳動物規則2:如果:動物能產奶則:該單位是哺乳動物規則3:如果:該動物有羽毛則:該動物是鳥規則4:如果:動物會飛,且會下蛋則:該動物是鳥規則5:如果:動物吃肉則:該動物是肉食動物規則6:如果:動物有犬齒,且有爪,且眼盯前方則:該動物是食肉動物規則7:如果:動物是哺乳動物,且有蹄則:該動物是有蹄動物規則8:如果:動物是哺乳動物,且是反芻動物則:該動物是有蹄動物規則9:如果:動物是哺乳動物,且是食肉動物,且是黃褐色的,且有暗斑點則:該動物是豹規則10:如果:如果:動物是黃褐色的,且是哺乳動物,且是食肉,且有黑條紋則:該動物是虎規則11:如果:動物有暗斑點,且有長腿,且有長脖子,且是有蹄類則:該動物是長頸鹿規則12:如果:動物有黑條紋,且是有蹄類動物則:該動物是斑馬規則13:如果:動物有長腿,且有長脖子,且是黑色的,且是鳥,且不會飛則:該動物是鴕鳥規則14:如果:動物是鳥,且不會飛,且會游泳,且是黑色的則:該動物是企鵝規則15:如果:動物是鳥,且善飛則:該動物是信天翁動物分類專家系統由15條規則組成可以識別七種動物.知識庫獲取知識獲取一般是指從某個活某些致使原中獲取專家系統問題求解所需要的專門知識,并以某種形式在計算機中存儲、傳輸與轉移。專家系統的知識獲取一般是由知識工程師與專家系統知識的獲取機構共同完成的。知識獲取的常用方法有以下幾種【3】:手工知識獲?。话胱詣荧@取;自動知識獲?。蝗斯ど窠浘W絡知識獲取;選用哪種知識獲取方法需要根據當前的系統,以及用戶的需求來決定。但在有些大型系統上還可能會用到不是僅僅一種方法的。2.2數據庫2.2.1數據庫作用數據庫即為事實庫【2】,在計算機中流出一些存儲區間,以存放反應系統當前狀態的事實,存放用戶回答的事實、已知的事實和由推理而得的事實,即由已知事實推導出的假設成立時,也作為事實。其綜合數據庫的內容是不斷變化的。
2.2.2數據庫建立char*str[]={"","反芻動物"/*1*/,"蹄類動物"/*2*/,"哺乳動物"/*3*/,"目視前方"/*4*/,"有爪子"/*5*/,"有犬齒"/*6*/,"吃肉"/*7*/,"下蛋"/*8*/,"會飛"/*9*/,"有羽毛"/*10*/,"有蹄"/*11*/,"肉食動物"/*12*/,"鳥類"/*13*/,"產奶"/*14*/,"有毛發"/*15*/,"善飛"/*16*/,"黑白色"/*17*/,"會游泳"/*18*/,"長腿"/*19*/,"長脖子"/*20*/,"有黑色條紋"/*21*/,"有暗斑點"/*22*/,"黃褐色"/*23*/,"信天翁"/*24*/,"企鵝"/*25*/,"鴕鳥"/*26*/,"斑馬"/*27*/,"長頸鹿"/*28*/,"老虎"/*29*/,"獵豹"/*30*/,"\0"};intrulep[][6]={{22,23,12,3,0,0},{21,23,12,3,0,0},{22,19,20,11,0,0},intrulec[]={{16,13,0,0,0,0},{15,0,0,0,0,0},{14,0,0,0,0,0},intrulec[]={{16,13,0,0,0,0},{15,0,0,0,0,0},{14,0,0,0,0,0},{10,0,0,0,0,0},{8,7,0,0,0,0},{7,0,0,0,0,0},{4,5,6,0,0,0},{2,3,0,0,0,0},{1,3,0,0,0,0}};30,29,28,27,26,25,24,3,3,13,13,12,12,11,11};{21,11,0,0,0,0},{17,19,20,13,-9,0},{17,18,13,-9,0,0},三、推理機構3.1推理機介紹3.1.1推理機作用原理推理機是一組函數【4】,本例既有正向推理機又有反向推理機,都是用精確推理。推理機是實施問題求解的核心執行機構,它是對知識進行解釋的程序,根據知識的語義,對按
一定策略找到的知識進行解釋執行,并把結果記錄到動態庫的適當空間中去。3.1.2推理網絡下圖為識別本文中所舉的識別七種動物時所規則形成的推理網絡:哺乳動物哺乳動物圖23.2正向推理3.2.1正向推理基本思想用戶首先提供一批事實,存放到數據庫中,然后推理機進行工作。方法是:推理機用這批事實與知識庫中規則的前提進行匹配。把匹配成功的規則的結論部分作為新的事實加到數據庫中去(這時,數據庫中的事實增加了)。再用更新后的數據庫中的所有事實,重復上述①②二步,如此反復進行,直到得以結論(答案)或不再有新的事實加到數據庫為止。例如,用戶輸入一批事實:動物有暗斑點、長脖子、長腿、產奶、有蹄子(這批事實存放在數據庫中),要求系統判斷這是一個什么動物?推理機利用這批事實來匹配規則。3.2.2正向推理示意圖圖33.2.3正向推理機所要具有功能要設計一個正向推理機,就是設計一組程序,使其至少具有以下的功能【3】能用數據庫中的事實去匹配規則的前提,若匹配不成功,能自動地進行嚇一跳規則的匹配。這里如何匹配最為合適,是設計專家系統者根據專業特點和知識表示等情況,需要很好考慮的問題,也就是在匹配時到底用什么策略等問題都需要考慮周全;若某條規則匹配成功,系統能將此規則的結論部分自動加入數據庫;能判斷何時應結束推理;能將匹配成功的規則記錄下來;3.3反向推理3.3.1反向推理基本思想由用戶或系統首先提出一批假設,然后系統逐一驗證這些假設的真假性,方法:看假設是含在數據庫中,若在,則假設成立,推理結束或進行下一個假設的驗證否則進行下一步。判斷這些假設是否是證據節點,若是,系統提問用戶,否則進行下一步。找出結論部分包含此假設的那些規則,把這些規則的所有前提作為新的假設。4.重復①、②、③步。3.3.2反向推理示意圖圖43.3.3反向推理機所要具有功能能根據用戶要求或情況提出假設;能驗證此假設是否是在數據庫中;能把知識庫中將結論部分包含此假設的規則都找出來;能將找出來地規則的前提部分取出,并作為新的假設逐條驗證;能判斷假設是否是證據接點,若是,能向用戶提出相應的問題,并記錄結果;能將匹配成功的規則記錄下來;能判斷何時應結束推理;四、實例系統實現4.1系統介紹此系統是實現了《人工智能教程(的二版)》專家系統實例里的動物識別系統。此系統是識別——老虎、獵豹、斑馬、長頸鹿、鴕鳥、企鵝、信天翁等七種動物。是嚴格遵循了知識庫中的規則,并運用C語言在VisualC++6.0環境下實驗編譯同過的。因為各種原因沒能設計實現出比較精美的界面,但還是體現出了很多專家系統所該具備的東西和功能。4.2基本思路該系統的知識表示采用產生式表示法。產生式系統由規則庫、綜合數據庫、控制系統三個部分構成。其中規則庫、綜合數據庫分別對應本系統中的rule類,str指針鏈表。Rule鏈表存放用戶輸入的事實。用到一個fact事實類和Fact事實鏈表,并用GetName(),GetNumber(),GetAct(),GetSucc()等函數來獲取事實信息。推理控制策略采用精確匹配算法的正向推理。4.3程序主要代碼/*<Function釋放規則鏈表節點之前提鏈空間/><Note規則鏈本身空間為釋放/>*/rule::~rule(){list*L;while(Pre){L=Pre->Next;deletePre;Pre=L;}deleteName;}/*<Function主要實現推理機/><Return規則使用成功與否/>*/intrule::Query(){charc;//保存用戶輸入按鍵符號list*L;//臨時前提鏈fact*F;//臨時事實鏈L=Pre;//L指向前提鏈F=Fact;if(L==NULL)printf("\nError!");//如果推理時,本規則前提鏈為空,出錯,后面while循環也退出!while(L!=NULL)//前提鏈未處理完{F=Fact;//F指向事實鏈表for(;;)〃以當前前提,在事實鏈表中查詢(根據ID){〃因為前提為“-事實ID”,表示該事實不成立,所以取絕對值if(abs(L->GetNumber())==F->GetNumber())break;
F=F->Next;//查詢下一事實〃退出循環時,F=F->Next;//查詢下一事實〃退出循環時,F指向查詢到的事實節點//如果前提為真}if(L->GetNumber()>0){if((F->GetSucc())==True){L=L->Next;continue;}if((F->GetSucc())==False)returnFalse;}else{if((F->GetSucc())==True)returnFalse;if((F->GetSucc())==False){L=L->Next;continue;//而且事實鏈表中的這個事實斷言也為真//則本規則的當前前提在推理中滿足//繼續下一前提的判斷//該前提在事實鏈表中斷言不成立//該規則推理使用結束,直接返回//Sorry,該前提在事實鏈表中斷言卻為真//該規則推理使用結束,直接返回}}//endif-elseprintf("%s(Y/N)",F->GetName());//向用戶提問c=getchar();//接受用戶輸入flushall();if((c=='Y')||(c=='y'))//{if(L->GetNumber()>0)F->PutAct(1,True);if(L->GetNumber()<0){//且若當前規則中的當前前提要求為“假”F->PutAct(1,True);//置激活和用戶的斷言returnFalse;//本規則推理結束,不成功;后面的前提不判斷了!}}else{if(L->GetNumber()<0)F->PutAct(-1,False);if(L->GetNumber()>0){F->PutAct(-1,False);returnFalse;}}L=L->Next;//用戶斷言和當前規則的當前前提符合,則取當前規則的下一前提進行判斷!}//endwhile得出推理結論F=Fact;for(;;){if(Conc==F->GetNumber())break;//在事實表中查找與當前規則得后件相同得事實F=F->Next;}if(Conc<24)//如果規則后件(結論)不是最終最終性得(即不是7種要識別得動物){F->PutAct(1,True);//那就是中間事實性結論,設置其激活和中間推理確證了的斷言returnFalse;//然后返回,本規則并不能結束整個推理}printf("\n該動物是:%s\n",F->GetName());returnTrue;}4.4系統執行結果五、結論動物識別專家系統實現起來也許相對簡單一些,但基本上也包括了專家系統的各個組成部分。動物識別具有一定的智能性,但是根據所采用的匹配方法的不同其智能性也有不小的差距。而知識庫的管理和數據庫的設計是否完善對于動物識別專家系統是極為關鍵的,這也是很多此類專家系統的通病。參考文獻:【1】王士同,陳慧萍,趙躍華,錢旭.人工智能教程[M](第二版)北京:電子工業出版社,2006:188-206
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 書行業中標合同樣本
- 人防車位購買合同樣本
- 鄉村河道橋梁承建合同標準文本
- lpr利率貸款合同樣本
- 公司承包飛機合同樣本
- 修路工程合伙合同標準文本
- 幼兒園科學活動教案
- 串貨合同標準文本標準文本
- 年部編版小學語文六年級上冊教案設計全冊
- 世界的人口教案
- 交響音樂賞析智慧樹知到期末考試答案章節答案2024年西安交通大學
- 2024年廣東省惠州市惠城區中考二模物理試卷
- 2024年山東省青島市部分學校九年級中考二模數學試題(含答案)
- 河南省鄭州市中原區2023-2024學年三年級下學期期中考試數學試卷
- 日常保安服務投標技術方案(技術標)
- 行政復議法-形考作業1-國開(ZJ)-參考資料
- 中國軍事武器
- 八年級語文(完整版)標點符號及使用練習題及答案
- 金屬非金屬地下礦山人員定位系統建設規范
- 中考語文專題復習十議論性文本閱讀市賽課公開課一等獎省名師獲獎課件
- 噴塑車間安全培訓
評論
0/150
提交評論