版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
動物識別專家系統(tǒng)研究摘要:動物識別專家系統(tǒng)是將人的思維過程轉(zhuǎn)化為計算機語言的邏輯過程,其關(guān)鍵在于知識和信息的表示,智能推理或求解的基礎(chǔ)——知識庫的創(chuàng)建和管理,以及基于某種知識和信息表示的智能推理或求解過程。使動物識別具有一定的智能性、良好的交互性和可視化效果。本論文也主要以識別七種動物的設(shè)計思路和程序為例所寫的。關(guān)鍵詞:人工智能;專家系統(tǒng);動物識別一、專家系統(tǒng)基本知識1.1動物識別專家系統(tǒng)介紹動物識別專家系統(tǒng)是人工智能中一個比較基礎(chǔ)的規(guī)則演繹系統(tǒng),是人工智能領(lǐng)域里的一個大模塊的專家系統(tǒng)的一個特定例子。是集知識表與推理為一體的,以規(guī)則為基礎(chǔ)對用戶提供的事實進(jìn)行向前、逆向或雙向的推理得出結(jié)論的一種產(chǎn)生式系統(tǒng)。如果通過良好的分析、精確地設(shè)計和細(xì)致的規(guī)劃會創(chuàng)設(shè)出高度靈活和快速有效的識別系統(tǒng),再加上良好的界面供用戶添加新的事實和規(guī)則,反饋詳細(xì)的錯誤或信息的話,那就是一個相當(dāng)完整的識別系統(tǒng)了。1.2專家系統(tǒng)實際應(yīng)用目前專家系統(tǒng)已經(jīng)成功地滲透到生活的各個領(lǐng)域,并且還產(chǎn)生了巨大的社會效益和經(jīng)濟效益。例如,像車輛傳感、藥物、紡織服裝等重工業(yè)和輕工業(yè)領(lǐng)域中都會應(yīng)用到,特別是在計算機領(lǐng)域里,現(xiàn)在已經(jīng)是一門非常重要的學(xué)科類了。1.3專家系統(tǒng)的開發(fā)專家系統(tǒng)設(shè)計與實現(xiàn)的一般過程選題與明確任務(wù)下選題與明確任務(wù)下圖1【3】設(shè)計基本思路2.1知識庫知識庫作用用產(chǎn)生式系統(tǒng)監(jiān)別動物,需要一種演繹機制,利用己知事實的集合做出新的結(jié)論,一種方法是替動物園中的每個動物作一個產(chǎn)生式,使用者首先收集所有可利用的事實,然后在產(chǎn)生式的表中進(jìn)行掃描,尋找一個狀態(tài)部分能與之匹配的產(chǎn)生式。一般要經(jīng)過多少步并生成和利用一些中間事實才能從基本事實推出結(jié)論,這樣做所包含的產(chǎn)生式可以比較小容易理解,容易使用和容易產(chǎn)生。動物識別專家系統(tǒng)中的知識庫中的知識通常是用規(guī)則表示的。知識庫建立知識庫所要遵循的規(guī)則【1】規(guī)則1:如果:動物有毛發(fā)則:該動物是哺乳動物規(guī)則2:如果:動物能產(chǎn)奶則:該單位是哺乳動物規(guī)則3:如果:該動物有羽毛則:該動物是鳥規(guī)則4:如果:動物會飛,且會下蛋則:該動物是鳥規(guī)則5:如果:動物吃肉則:該動物是肉食動物規(guī)則6:如果:動物有犬齒,且有爪,且眼盯前方則:該動物是食肉動物規(guī)則7:如果:動物是哺乳動物,且有蹄則:該動物是有蹄動物規(guī)則8:如果:動物是哺乳動物,且是反芻動物則:該動物是有蹄動物規(guī)則9:如果:動物是哺乳動物,且是食肉動物,且是黃褐色的,且有暗斑點則:該動物是豹規(guī)則10:如果:如果:動物是黃褐色的,且是哺乳動物,且是食肉,且有黑條紋則:該動物是虎規(guī)則11:如果:動物有暗斑點,且有長腿,且有長脖子,且是有蹄類則:該動物是長頸鹿規(guī)則12:如果:動物有黑條紋,且是有蹄類動物則:該動物是斑馬規(guī)則13:如果:動物有長腿,且有長脖子,且是黑色的,且是鳥,且不會飛則:該動物是鴕鳥規(guī)則14:如果:動物是鳥,且不會飛,且會游泳,且是黑色的則:該動物是企鵝規(guī)則15:如果:動物是鳥,且善飛則:該動物是信天翁動物分類專家系統(tǒng)由15條規(guī)則組成可以識別七種動物.知識庫獲取知識獲取一般是指從某個活某些致使原中獲取專家系統(tǒng)問題求解所需要的專門知識,并以某種形式在計算機中存儲、傳輸與轉(zhuǎn)移。專家系統(tǒng)的知識獲取一般是由知識工程師與專家系統(tǒng)知識的獲取機構(gòu)共同完成的。知識獲取的常用方法有以下幾種【3】:手工知識獲取;半自動獲??;自動知識獲??;人工神經(jīng)網(wǎng)絡(luò)知識獲取;選用哪種知識獲取方法需要根據(jù)當(dāng)前的系統(tǒng),以及用戶的需求來決定。但在有些大型系統(tǒng)上還可能會用到不是僅僅一種方法的。2.2數(shù)據(jù)庫2.2.1數(shù)據(jù)庫作用數(shù)據(jù)庫即為事實庫【2】,在計算機中流出一些存儲區(qū)間,以存放反應(yīng)系統(tǒng)當(dāng)前狀態(tài)的事實,存放用戶回答的事實、已知的事實和由推理而得的事實,即由已知事實推導(dǎo)出的假設(shè)成立時,也作為事實。其綜合數(shù)據(jù)庫的內(nèi)容是不斷變化的。
2.2.2數(shù)據(jù)庫建立char*str[]={"","反芻動物"/*1*/,"蹄類動物"/*2*/,"哺乳動物"/*3*/,"目視前方"/*4*/,"有爪子"/*5*/,"有犬齒"/*6*/,"吃肉"/*7*/,"下蛋"/*8*/,"會飛"/*9*/,"有羽毛"/*10*/,"有蹄"/*11*/,"肉食動物"/*12*/,"鳥類"/*13*/,"產(chǎn)奶"/*14*/,"有毛發(fā)"/*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},三、推理機構(gòu)3.1推理機介紹3.1.1推理機作用原理推理機是一組函數(shù)【4】,本例既有正向推理機又有反向推理機,都是用精確推理。推理機是實施問題求解的核心執(zhí)行機構(gòu),它是對知識進(jìn)行解釋的程序,根據(jù)知識的語義,對按
一定策略找到的知識進(jìn)行解釋執(zhí)行,并把結(jié)果記錄到動態(tài)庫的適當(dāng)空間中去。3.1.2推理網(wǎng)絡(luò)下圖為識別本文中所舉的識別七種動物時所規(guī)則形成的推理網(wǎng)絡(luò):哺乳動物哺乳動物圖23.2正向推理3.2.1正向推理基本思想用戶首先提供一批事實,存放到數(shù)據(jù)庫中,然后推理機進(jìn)行工作。方法是:推理機用這批事實與知識庫中規(guī)則的前提進(jìn)行匹配。把匹配成功的規(guī)則的結(jié)論部分作為新的事實加到數(shù)據(jù)庫中去(這時,數(shù)據(jù)庫中的事實增加了)。再用更新后的數(shù)據(jù)庫中的所有事實,重復(fù)上述①②二步,如此反復(fù)進(jìn)行,直到得以結(jié)論(答案)或不再有新的事實加到數(shù)據(jù)庫為止。例如,用戶輸入一批事實:動物有暗斑點、長脖子、長腿、產(chǎn)奶、有蹄子(這批事實存放在數(shù)據(jù)庫中),要求系統(tǒng)判斷這是一個什么動物?推理機利用這批事實來匹配規(guī)則。3.2.2正向推理示意圖圖33.2.3正向推理機所要具有功能要設(shè)計一個正向推理機,就是設(shè)計一組程序,使其至少具有以下的功能【3】能用數(shù)據(jù)庫中的事實去匹配規(guī)則的前提,若匹配不成功,能自動地進(jìn)行嚇一跳規(guī)則的匹配。這里如何匹配最為合適,是設(shè)計專家系統(tǒng)者根據(jù)專業(yè)特點和知識表示等情況,需要很好考慮的問題,也就是在匹配時到底用什么策略等問題都需要考慮周全;若某條規(guī)則匹配成功,系統(tǒng)能將此規(guī)則的結(jié)論部分自動加入數(shù)據(jù)庫;能判斷何時應(yīng)結(jié)束推理;能將匹配成功的規(guī)則記錄下來;3.3反向推理3.3.1反向推理基本思想由用戶或系統(tǒng)首先提出一批假設(shè),然后系統(tǒng)逐一驗證這些假設(shè)的真假性,方法:看假設(shè)是含在數(shù)據(jù)庫中,若在,則假設(shè)成立,推理結(jié)束或進(jìn)行下一個假設(shè)的驗證否則進(jìn)行下一步。判斷這些假設(shè)是否是證據(jù)節(jié)點,若是,系統(tǒng)提問用戶,否則進(jìn)行下一步。找出結(jié)論部分包含此假設(shè)的那些規(guī)則,把這些規(guī)則的所有前提作為新的假設(shè)。4.重復(fù)①、②、③步。3.3.2反向推理示意圖圖43.3.3反向推理機所要具有功能能根據(jù)用戶要求或情況提出假設(shè);能驗證此假設(shè)是否是在數(shù)據(jù)庫中;能把知識庫中將結(jié)論部分包含此假設(shè)的規(guī)則都找出來;能將找出來地規(guī)則的前提部分取出,并作為新的假設(shè)逐條驗證;能判斷假設(shè)是否是證據(jù)接點,若是,能向用戶提出相應(yīng)的問題,并記錄結(jié)果;能將匹配成功的規(guī)則記錄下來;能判斷何時應(yīng)結(jié)束推理;四、實例系統(tǒng)實現(xiàn)4.1系統(tǒng)介紹此系統(tǒng)是實現(xiàn)了《人工智能教程(的二版)》專家系統(tǒng)實例里的動物識別系統(tǒng)。此系統(tǒng)是識別——老虎、獵豹、斑馬、長頸鹿、鴕鳥、企鵝、信天翁等七種動物。是嚴(yán)格遵循了知識庫中的規(guī)則,并運用C語言在VisualC++6.0環(huán)境下實驗編譯同過的。因為各種原因沒能設(shè)計實現(xiàn)出比較精美的界面,但還是體現(xiàn)出了很多專家系統(tǒng)所該具備的東西和功能。4.2基本思路該系統(tǒng)的知識表示采用產(chǎn)生式表示法。產(chǎn)生式系統(tǒng)由規(guī)則庫、綜合數(shù)據(jù)庫、控制系統(tǒng)三個部分構(gòu)成。其中規(guī)則庫、綜合數(shù)據(jù)庫分別對應(yīng)本系統(tǒng)中的rule類,str指針鏈表。Rule鏈表存放用戶輸入的事實。用到一個fact事實類和Fact事實鏈表,并用GetName(),GetNumber(),GetAct(),GetSucc()等函數(shù)來獲取事實信息。推理控制策略采用精確匹配算法的正向推理。4.3程序主要代碼/*<Function釋放規(guī)則鏈表節(jié)點之前提鏈空間/><Note規(guī)則鏈本身空間為釋放/>*/rule::~rule(){list*L;while(Pre){L=Pre->Next;deletePre;Pre=L;}deleteName;}/*<Function主要實現(xiàn)推理機/><Return規(guī)則使用成功與否/>*/intrule::Query(){charc;//保存用戶輸入按鍵符號list*L;//臨時前提鏈fact*F;//臨時事實鏈L=Pre;//L指向前提鏈F=Fact;if(L==NULL)printf("\nError!");//如果推理時,本規(guī)則前提鏈為空,出錯,后面while循環(huán)也退出!while(L!=NULL)//前提鏈未處理完{F=Fact;//F指向事實鏈表for(;;)〃以當(dāng)前前提,在事實鏈表中查詢(根據(jù)ID){〃因為前提為“-事實ID”,表示該事實不成立,所以取絕對值if(abs(L->GetNumber())==F->GetNumber())break;
F=F->Next;//查詢下一事實〃退出循環(huán)時,F(xiàn)=F->Next;//查詢下一事實〃退出循環(huán)時,F(xiàn)指向查詢到的事實節(jié)點//如果前提為真}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;//而且事實鏈表中的這個事實斷言也為真//則本規(guī)則的當(dāng)前前提在推理中滿足//繼續(xù)下一前提的判斷//該前提在事實鏈表中斷言不成立//該規(guī)則推理使用結(jié)束,直接返回//Sorry,該前提在事實鏈表中斷言卻為真//該規(guī)則推理使用結(jié)束,直接返回}}//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){//且若當(dāng)前規(guī)則中的當(dāng)前前提要求為“假”F->PutAct(1,True);//置激活和用戶的斷言returnFalse;//本規(guī)則推理結(jié)束,不成功;后面的前提不判斷了!}}else{if(L->GetNumber()<0)F->PutAct(-1,False);if(L->GetNumber()>0){F->PutAct(-1,False);returnFalse;}}L=L->Next;//用戶斷言和當(dāng)前規(guī)則的當(dāng)前前提符合,則取當(dāng)前規(guī)則的下一前提進(jìn)行判斷!}//endwhile得出推理結(jié)論F=Fact;for(;;){if(Conc==F->GetNumber())break;//在事實表中查找與當(dāng)前規(guī)則得后件相同得事實F=F->Next;}if(Conc<24)//如果規(guī)則后件(結(jié)論)不是最終最終性得(即不是7種要識別得動物){F->PutAct(1,True);//那就是中間事實性結(jié)論,設(shè)置其激活和中間推理確證了的斷言returnFalse;//然后返回,本規(guī)則并不能結(jié)束整個推理}printf("\n該動物是:%s\n",F->GetName());returnTrue;}4.4系統(tǒng)執(zhí)行結(jié)果五、結(jié)論動物識別專家系統(tǒng)實現(xiàn)起來也許相對簡單一些,但基本上也包括了專家系統(tǒng)的各個組成部分。動物識別具有一定的智能性,但是根據(jù)所采用的匹配方法的不同其智能性也有不小的差距。而知識庫的管理和數(shù)據(jù)庫的設(shè)計是否完善對于動物識別專家系統(tǒng)是極為關(guān)鍵的,這也是很多此類專家系統(tǒng)的通病。參考文獻(xiàn):【1】王士同,陳慧萍,趙躍華,錢旭.人工智能教程[M](第二版)北京:電子工業(yè)出版社,2006:188-206
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社會實習(xí)報告
- 大學(xué)學(xué)期自我總結(jié)
- 財務(wù)半年工作總結(jié)6篇
- 安全事故心得體會15篇
- 公益活動策劃方案模板7篇
- 蘋果說明文作文
- 大學(xué)生暑假實習(xí)總結(jié)
- 內(nèi)河港口風(fēng)險分析與應(yīng)對措施
- 俱樂部實習(xí)總結(jié)
- 城市停車場項目概述
- 《會展英語》課程教學(xué)大綱
- 礦山安全生產(chǎn)管理經(jīng)驗分享
- 醫(yī)美行業(yè)監(jiān)管政策與競爭環(huán)境
- 2022-2023學(xué)年北京市豐臺區(qū)八年級(上)期末歷史試題(含答案)
- 江蘇省南京市玄武區(qū)2023年數(shù)學(xué)七上期末統(tǒng)考試題含解析
- 生物安全教學(xué)課件
- 北京市西城區(qū)2022-2023學(xué)年七年級(上)期末數(shù)學(xué)試卷(人教版 含答案)
- 《精益生產(chǎn)豐田》課件
- 裝修工作的進(jìn)度報告
- 《食品包裝與安全》課件
- 普外科護士長述職報告
評論
0/150
提交評論