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