人工智能產(chǎn)生式系統(tǒng)實(shí)驗(yàn)報(bào)告_第1頁(yè)
人工智能產(chǎn)生式系統(tǒng)實(shí)驗(yàn)報(bào)告_第2頁(yè)
人工智能產(chǎn)生式系統(tǒng)實(shí)驗(yàn)報(bào)告_第3頁(yè)
人工智能產(chǎn)生式系統(tǒng)實(shí)驗(yàn)報(bào)告_第4頁(yè)
人工智能產(chǎn)生式系統(tǒng)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上實(shí) 驗(yàn) 報(bào) 告【實(shí)驗(yàn)名稱】_產(chǎn)生式系統(tǒng)_【實(shí)驗(yàn)?zāi)康摹?. 理解產(chǎn)生式系統(tǒng)的結(jié)構(gòu)原理與實(shí)際應(yīng)用。2. 掌握產(chǎn)生式規(guī)則表示及規(guī)則庫(kù)組建的實(shí)現(xiàn)方法。3. 熟悉和掌握產(chǎn)生式系統(tǒng)的運(yùn)行機(jī)制,掌握基于規(guī)則推理的基本方法?!緦?shí)驗(yàn)原理】產(chǎn)生式系統(tǒng)用來描述若干個(gè)不同的以一個(gè)基本概念為基礎(chǔ)的系統(tǒng),這個(gè)基本概念就是產(chǎn)生式規(guī)則或產(chǎn)生式條件和操作對(duì)。在產(chǎn)生式系統(tǒng)中,論域的知識(shí)分為兩部分:用事實(shí)表示靜態(tài)知識(shí);用產(chǎn)生式規(guī)則表示推理過程和行為?!緦?shí)驗(yàn)內(nèi)容】1.自己建造產(chǎn)生式系統(tǒng)(包括規(guī)則庫(kù)和事實(shí)庫(kù)),然后進(jìn)行推理,即可以自己輸入任何的事實(shí),并基于原有的規(guī)則和輸入的事實(shí)進(jìn)行推理。2.建造動(dòng)物識(shí)別系統(tǒng),

2、能根據(jù)輸入的動(dòng)物特征判斷是那種動(dòng)物或給出相應(yīng)的回答。3.算法設(shè)計(jì)首先建立事實(shí)庫(kù)事實(shí)庫(kù)是在程序的開始直接輸入的,用戶根據(jù)需要選擇,即要求用戶先輸入特征個(gè)數(shù),然后輸入動(dòng)物的特征,進(jìn)行識(shí)別。如果未識(shí)別出來,則可以重新選擇,或者退出。動(dòng)物的特征如下:1有奶 2有毛發(fā) 3有羽毛 4會(huì)飛 5生蛋 6有爪 7有犬齒 8目盯前方 9吃肉 10有蹄 11反芻食物 12黃褐色 13黑色條紋 14黑色斑點(diǎn) 15長(zhǎng)腿 16長(zhǎng)脖子 17暗斑點(diǎn) 18白色 19不會(huì)飛 20黑白色 21會(huì)游泳 22善飛 23不怕風(fēng)浪 24哺乳動(dòng)物 25鳥 26食肉動(dòng)物 27有蹄動(dòng)物 28偶蹄動(dòng)物 29海燕 30老虎 31金錢豹 32長(zhǎng)頸鹿

3、33斑馬 34鴕鳥 35企鵝建立靜態(tài)規(guī)則庫(kù)即建立產(chǎn)生式規(guī)則,本算法采用了產(chǎn)生中間事實(shí)的方法,便于建立和使用規(guī)則。為了便于設(shè)計(jì),我們把要識(shí)別的動(dòng)物限于7種,這樣所需要的產(chǎn)生式規(guī)則就比較少。本算法共有15種規(guī)則,如下:專心-專注-專業(yè)R1: 如果動(dòng)物有奶,則它是哺乳動(dòng)物R2: 如果動(dòng)物有毛發(fā),則它是哺乳動(dòng)物R3: 如果動(dòng)物有羽毛,則它是鳥R4: 如果動(dòng)物會(huì)飛且生蛋,則它是鳥R5: 吃肉的哺乳動(dòng)物是食肉動(dòng)物R6: 有爪有犬齒木釘前方的哺乳動(dòng)物是食肉動(dòng)物R7: 有蹄的哺乳動(dòng)物是有蹄動(dòng)物R8: 反芻食物的有蹄動(dòng)物是偶蹄動(dòng)物R9: 黃褐色有黑條紋的食肉動(dòng)物是老虎R10:黃褐色有黑色斑點(diǎn)的食肉動(dòng)物是金錢豹R

4、11:長(zhǎng)腿長(zhǎng)脖子有黃褐色暗斑點(diǎn)的有蹄動(dòng)物是長(zhǎng)頸鹿R12:有黑白條紋的有蹄動(dòng)物是斑馬R13:不會(huì)飛長(zhǎng)腿長(zhǎng)脖的鳥是鴕鳥R14:不會(huì)飛會(huì)游泳黑白色的鳥是企鵝R15:善飛不怕風(fēng)浪的鳥是海燕具體表示如下:R1: 1->24R2: 2->24R3: 3->25R4: 4*5->25R5: 6*7*8*24->26R6: 9*24->26R7: 10*24->27R8: 11*27->28R9: 12*13*24->30R10: 12*14*24->31R11: 12*15*16*17*27->32R12: 13*18*27->33R1

5、3: 15*16*19*25->34R14: 19*20*21*25->35R15: 22*23*25->29正向推理過程從已知事實(shí)出發(fā),通過規(guī)則庫(kù)求得結(jié)論,或稱數(shù)據(jù)驅(qū)動(dòng)方式。推理過程是:Ø 規(guī)則集中的規(guī)則前件與事實(shí)庫(kù)中的事實(shí)進(jìn)行匹配,得匹配的規(guī)則集合。Ø 從匹配規(guī)則集合中選擇一條規(guī)則作為使用規(guī)則。Ø 執(zhí)行使用規(guī)則的后件,將該使用規(guī)則的后件送入事實(shí)庫(kù)中。Ø 重復(fù)這個(gè)過程直至達(dá)到目標(biāo)。 如有多條匹配規(guī)則需從中選一條作為使用規(guī)則,本算法是根據(jù)規(guī)則的順序依次選擇,且規(guī)則中不存在同一組事實(shí)對(duì)應(yīng)多條匹配規(guī)則。實(shí)驗(yàn)流程圖實(shí)驗(yàn)結(jié)果及分析如輸入如下事實(shí)

6、:有羽毛、善飛、不怕風(fēng)浪。系統(tǒng)的推理過程如下: 先從規(guī)則庫(kù)中取出第一條規(guī)則R1,檢查其前提是否可與事實(shí)庫(kù)中的已知事實(shí)相匹配。 R1的前提是“有奶”,但事實(shí)庫(kù)中無此事實(shí),故匹配失??;然后取R2,匹配失?。唤又3,該前提與已知事實(shí)“有羽毛”相匹配,故R3被執(zhí)行,并將其結(jié)論“鳥”作為新的事實(shí)加入到事實(shí)庫(kù)中。此時(shí),事實(shí)庫(kù)的內(nèi)容變?yōu)椋河杏鹈?、善飛、不怕風(fēng)浪、鳥;此后,R4R14均匹配失敗,接著取R15,該前提“善飛+不怕風(fēng)浪+鳥”與已知事實(shí)相匹配,R15被執(zhí)行,并推出“該動(dòng)物是海燕”。由于“海燕”已是目標(biāo)集合中的一個(gè)結(jié)論,即已推出最終結(jié)果,故問題求解過程結(jié)束。 下面是程序運(yùn)行的結(jié)果:【實(shí)驗(yàn)程序】#i

7、nclude<stdio.h>#define N 23void main()int i,j,k,a,b,c;int num;int factN,tempN;int flag=1;while(flag=1)printf("動(dòng)物的特征如下:n");printf("1有奶 2有毛發(fā) 3有羽毛 4會(huì)飛 5生蛋n6有爪 7有犬齒 8目盯前方 9吃肉 10有蹄n11反芻食物 12黃褐色 13黑色條紋 14黑色斑點(diǎn) 15長(zhǎng)腿n16長(zhǎng)脖子 17暗斑點(diǎn) 18白色 19不會(huì)飛 20黑白色n21會(huì)游泳 22善飛 23不怕風(fēng)浪n");printf("請(qǐng)輸入

8、描述該動(dòng)物特征的個(gè)數(shù):");scanf("%d",&num);printf("請(qǐng)輸入對(duì)這只動(dòng)物的特征描述的序號(hào)(按序號(hào)由小到大):n");for(i=0;i<num;i+)scanf("%d",&a);facti=a;/*for(i=0;i<num;i+)if(facti=1)factnum=24;num+;printf("使用規(guī)則1,新增加的事實(shí)為: 哺乳動(dòng)物n");break;/*for(i=0;i<num;i+)if(facti=2)factnum=24;num+;

9、printf("使用規(guī)則2,新增加的事實(shí)為: 哺乳動(dòng)物n");break;/*for(i=0;i<num;i+)if(facti=3)factnum=25;num+;printf("使用規(guī)則3,新增加的事實(shí)為:鳥n");break;/*k=0;for(i=0;i<num;i+)if(facti=4)tempk=facti;k+;continue;if(facti=5)tempk=facti;break;if(temp0=4&&temp1=5)factnum=25;num+;printf("使用規(guī)則4,新增加的事實(shí)為:

10、鳥n");/* k=0;for(i=0;i<num;i+)if(facti=6)tempk=facti;k+;continue;if(facti=7)tempk=facti;k+;continue;if(facti=8)tempk=facti;k+;continue;if(facti=24)tempk=facti;break;if(temp0=6&&temp1=7&&temp2=8&&temp3=24)factnum=26;num+;printf("使用規(guī)則5,新增加的事實(shí)為:食肉動(dòng)物n");/*k=0;for

11、(i=0;i<num;i+)if(facti=9)tempk=facti;k+;continue;if(facti=24)tempk=facti;break;if(temp0=9&&temp1=24)factnum=26;num+;printf("使用規(guī)則6,新增加的事實(shí)為:食肉動(dòng)物n");/*k=0;for(i=0;i<num;i+)if(facti=10)tempk=facti;k+;continue;if(facti=24)tempk=facti;break;if(temp0=10&&temp1=24)factnum=27;

12、num+;printf("使用規(guī)則7,新增加的事實(shí)為:有蹄動(dòng)物n");/*k=0;for(i=0;i<num;i+)if(facti=11)tempk=facti;k+;continue;if(facti=27)tempk=facti;break;if(temp0=11&&temp1=27)factnum=28;num+;printf("使用規(guī)則8,新增加的事實(shí)為:偶蹄動(dòng)物n");/*k=0;for(i=0;i<num;i+)if(facti=12)tempk=facti;k+;continue;if(facti=13)tem

13、pk=facti;k+;continue;if(facti=24)tempk=facti;break;if(temp0=12&&temp1=13&&temp2=24)factnum=30;/num+;printf("使用規(guī)則9,新增加的事實(shí)為:老虎n該動(dòng)物為老虎n");/*k=0;for(i=0;i<num;i+)if(facti=12)tempk=facti;k+;continue;if(facti=14)tempk=facti;k+;continue;if(facti=24)tempk=facti;break;if(temp0=12

14、&&temp1=14&&temp2=24)factnum=31;/num+;printf("使用規(guī)則10,新增加的事實(shí)為:金錢豹n該動(dòng)物為金錢豹n");/*k=0;for(i=0;i<num;i+)if(facti=12)tempk=facti;k+;continue;if(facti=15)tempk=facti;k+;continue;if(facti=16)tempk=facti;k+;continue;if(facti=17)tempk=facti;k+;continue;if(facti=27)tempk=facti;brea

15、k;if(temp0=12&&temp1=15&&temp2=16&&temp3=17&&temp4=27)factnum=32;/num+;printf("使用規(guī)則11,新增加的事實(shí)為:長(zhǎng)頸鹿n該動(dòng)物為長(zhǎng)頸鹿n");/*k=0;for(i=0;i<num;i+)if(facti=13)tempk=facti;k+;continue;if(facti=18)tempk=facti;k+;continue;if(facti=27)tempk=facti;break;if(temp0=13&&

16、temp1=18&&temp2=27)factnum=33;/num+;printf("使用規(guī)則12,新增加的事實(shí)為:斑馬n該動(dòng)物為斑馬n");/*k=0;for(i=0;i<num;i+)if(facti=15)tempk=facti;k+;continue;if(facti=16)tempk=facti;k+;continue;if(facti=19)tempk=facti;k+;continue;if(facti=25)tempk=facti;break;if(temp0=15&&temp1=16&&temp2=1

17、9&&temp3=25)factnum=34;/num+;printf("使用規(guī)則13,新增加的事實(shí)為:鴕鳥n該動(dòng)物為鴕鳥n");/*k=0;for(i=0;i<num;i+)if(facti=19)tempk=facti;k+;continue;if(facti=20)tempk=facti;k+;continue;if(facti=21)tempk=facti;k+;continue;if(facti=25)tempk=facti;break;if(temp0=19&&temp1=20&&temp2=21&&temp3=25)factnum=35;/num+;printf("使用規(guī)則14,新增加的事實(shí)為:企鵝n該動(dòng)物為企鵝n");/*k=0;for(i=0;i<num;i+)if(facti=22)tempk=facti;k+;continue;if(facti=23)tempk=facti;k+;continue;if(facti=25)tempk=facti;break;if(temp0=22&&temp1=23&&temp2=25)factnum=29;/num+;printf("使用規(guī)則

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論