實驗一產(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頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗一產(chǎn)生式系統(tǒng)動物識別系統(tǒng)一、實習(xí)目的和意義1、掌握人工智能的知識表示技術(shù),能用產(chǎn)生式表示法表示知識;2、掌握基于規(guī)則推理的基本方法;3、掌握產(chǎn)生式系統(tǒng)的運行機制。二、實習(xí)內(nèi)容參考教材規(guī)則庫包含15條規(guī)則,開發(fā)一個專家系統(tǒng)可以識別老虎,金錢豹, 斑馬,長頸鹿,企鵝,鴕鳥等6種動物。三、實習(xí)要求1、本次實驗語言MATLAB;2、系統(tǒng)能通過正向推理得到正確的動物識別結(jié)果。四、實習(xí)過程實驗原理正向推理(事實驅(qū)動推理)1)從初始已知事實出發(fā),在知識庫KB中找出當(dāng)前可適用的知識,構(gòu)成可適 用知識集KS;2)按某種沖突消解策略,從KS中選出一條知識進行推理,并將推出的新事 實加入到數(shù)據(jù)庫DB中,作為下一

2、步推理的已知事實,再在KB中選取可 適用知識構(gòu)成KS;3)重復(fù)步驟二,直到求得問題的解,或KB中再無可適用的知識。問題背景根據(jù)課本P33的15調(diào)動物識別的專家知識,建立規(guī)則庫。算法設(shè)計主要利用數(shù)組下標(biāo)和元素的0,1值表示知識,規(guī)則,及相關(guān)標(biāo)記。Mat lab 實現(xiàn)a.算法函數(shù)名函數(shù)說明learnfunction learn(arr_category, arr_feature )主函數(shù)checkRulefunctionarr_category,arr_feature,arr_rule,ifMore,mark=checkRule(arr_category,arr_feature,arr_rule,

3、ifMore,mark )規(guī)則符合檢測showCategoryfunction showCategory( ) 類別選項打印函數(shù)showFeaturefunction showFeature()特征選項打印函數(shù)showResultfunction showResult(mark) 侖吉果顯示b.測試測試數(shù)據(jù)一arr_category51 0 0 0 1arr_feature200 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 函骸ry=l 0 0 0 110001 皿_f 心心=。0000000000001 1 1OOO0arr_f 飽 ture =0000000

4、0000001110000(arr_cat-e-g6ry, arr_feature)1000100000000000001110000相據(jù)觀則8新增信息:尊勃協(xié)是有畔夷動物柩據(jù)塊帥.二*詛別堵果*E該動物呆:測試數(shù)據(jù)二arr_category 0 0 0 0 05arr_feature2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 aiT_iategory=(J 0 0 0 0arr_-eat*BarT 二00000 皿*ture=【l 000000000000000000 0白璉=10000000000000000000l?arn-(arr_c0tea

5、ory: arr_f?Bture)0000010000000000000000000根據(jù)規(guī)則:新增舊息:該動物是喃丈動物,無法判斷且體是哪種動物:五、實習(xí)總結(jié)實習(xí)總結(jié)本次實驗主要復(fù)習(xí)了產(chǎn)生式規(guī)則,利用正向推理和15條規(guī)則,建立簡單的 動物識別專家系統(tǒng),并具有一定的容錯性。附錄:代碼MATLAB 代碼:function learn(arr_category, arr_feature)%產(chǎn)生式規(guī)則-正向推理-主函數(shù)% 標(biāo)記函數(shù)初始化,規(guī)則函數(shù)調(diào)用arr_rule=zeros(1,15);mark=-1;ifMore=0;disp(arr_category);disp(arr_feature);%s

6、howCategory();%arr_category=input(輸入信息:);%showFeature();%arr_feature=input(輸入信息);arr_category,arr_feature,arr_rule,ifMore,mark= checkRule(arr_category,arr_feature,arr_rule,ifMore,mark);busy=1;while busy=1if mark-1showResult(mark);break;endif ifMore=0disp(無法判斷具體是哪種動物!);breakendifMore=0;arr_category,a

7、rr_feature,arr_rule,ifMore,mark= checkRule(arr_category,arr_feature,arr_rule,ifMore,mark); endendfunction arr_category,arr_feature,arr_rule,ifMore,mark= checkRule(arr_category,arr_feature,arr_rule,ifMore,mark ) %正向推理函數(shù)%逐條檢查規(guī)則是否滿足,若滿足,則增加新信息ifMore=0;for i = 1:1:15if arr_rule(i)=0switch icase 1if arr_

8、feature(1)0arr_category(1)=1;arr_rule(i)=1;ifMore=1;disp(根據(jù)規(guī)則,num2str(i);disp(新增信息:該動物是哺乳動物);end%break;case 2if arr_feature(2)0arr_category(1)=1;arr_rule(i)=1;ifMore=1;disp(根據(jù)規(guī)則,num2str(i);disp(新增信息:該動物是哺乳動物);end%break;case 3if arr_feature(3)0arr_category(2)=1;arr_rule(i)=1;ifMore=1;disp(根據(jù)規(guī)則,num2st

9、r(i);disp(新增信息:該動物是鳥);end%break;case 4if arr_feature(4)*arr_feature(5)0arr_category(2)=1;arr_rule(i)=1;ifMore=1;disp(根據(jù)規(guī)則,num2str(i);disp(新增信息:該動物是鳥);end%break;case 5if arr_feature(6)0arr_category(3)=1;arr_rule(i)=1;ifMore=1;disp(根據(jù)規(guī)則,num2str(i);disp(新增信息:該動物是食肉動物);end%break;case 6if arr_feature(7)*

10、arr_feature(8)*arr_feature(9)0 arr_category(3)=1;arr_rule(i)=1;ifMore=1;disp(根據(jù)規(guī)則,num2str(i);disp(新增信息:該動物是食肉動物);end%break;case 7if arr_category(1)*arr_feature(10)0 arr_category(4)=1;arr_rule(i)=1;ifMore=1;disp(根據(jù)規(guī)則,num2str(i);disp(新增信息:該動物是有蹄類動物);end%break;case 8if arr_category(1)*arr_category(5)0a

11、rr_category(4)=1;arr_rule(i)=1;ifMore=1;disp(根據(jù)規(guī)則,num2str(i);disp(新增信息:該動物是有蹄類動物);end%break;case 9ifarr_category(1)*arr_category(3)*arr_feature(11)*arr_feature(12)0arr_animal(2)=1;arr_rule(i)=1;ifMore=1;mark=2;disp(根據(jù)規(guī)則,num2str(i);end%break;case 10ifarr_category(1)*arr_category(3)*arr_feature(11)*ar

12、r_feature(13)0arr_animal(1)=1;arr_rule(i)=1;ifMore=1;mark=1;disp(根據(jù)規(guī)則,num2str(i);end%break;case 11ifarr_category(4)*arr_feature(14)*arr_feature(15)*arr_feature(16)0arr_animal(4)=1;arr_rule(i)=1;ifMore=1;mark=4;disp(根據(jù)規(guī)則,num2str(i);end%break;case 12if arr_category(4)*arr_feature(13)0arr_animal(3)=1;a

13、rr_rule(i)=1;ifMore=1;mark=3;disp(根據(jù)規(guī)則,num2str(i);end%break;case 13ifarr_category(2)*arr_feature(14)*arr_feature(15)*arr_feature(17)*arr_feature(18)0arr_animal(6)=1;arr_rule(i)=1;ifMore=1;mark=6;disp(根據(jù)規(guī)則,num2str(i);end%break;case 14ifarr_category(2)*arr_feature(19)*arr_feature(17)*arr_feature(18)0

14、arr_animal(5)=1;arr_rule(i)=1;ifMore=1;mark=5;disp(根據(jù)規(guī)則,num2str(i);end%break;case 15if arr_category(2)*arr_feature(20)0arr_animal(7)=1;arr_rule(i)=1;ifMore=1;mark=7;disp(根據(jù)規(guī)則,num2str(i);endendendendendfunction showCategory( )%類別選項顯示%disp(請選擇分類(1:是,0:其他):);disp(0.哺乳動物);disp(1.鳥);disp(2 .食肉動物);disp(3

15、.蹄類動物);disp(4.反芻動物);endfunction showFeature()%具體特征列表% 此處顯示詳細說明disp(請選擇具體特征(1:是,0:其他):);disp(0.有毛發(fā));disp(1.有奶);disp(2.有羽毛);disp(3.會飛);disp(4,會下蛋);disp(5.吃肉);disp(6.有犬齒);disp(7.有爪);disp(8.眼盯前方);disp(9 .有蹄);disp(10.黃褐色);disp(11.身上有斑點);disp(12 .身上有黑色條紋);disp(13.有長脖子);disp(14.有長腿);disp(15 .身上有暗斑點);disp(16.不會飛);disp(17.有黑白兩色);disp(18.會游泳);disp(19.擅飛);end fun

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論