版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、人工智能及其應(yīng)用作業(yè) 姓名: 學(xué)號(hào):一、作業(yè)題目:設(shè)計(jì)一個(gè)動(dòng)物識(shí)別系統(tǒng),運(yùn)用產(chǎn)生式系統(tǒng)的思想,設(shè)在綜合數(shù)據(jù)庫(kù)中存放下列已知事實(shí):該動(dòng)物身上有暗斑點(diǎn),長(zhǎng)脖子,長(zhǎng)腿,奶,蹄,這些事實(shí)與規(guī)則庫(kù)中的知識(shí)從第一條開始匹配,最終得出該動(dòng)物是長(zhǎng)頸鹿。二、程序設(shè)計(jì)分析:根據(jù)產(chǎn)生式系統(tǒng)的原理,該系統(tǒng)一般由規(guī)則庫(kù)、綜合數(shù)據(jù)庫(kù)、控制系統(tǒng)三部分構(gòu)成。先定義規(guī)則庫(kù)結(jié)構(gòu)體,里面包括Condition620,result20和規(guī)則數(shù)Cnum,再定義綜合數(shù)據(jù)庫(kù)即事實(shí)庫(kù),里面包括item2020,和事實(shí)數(shù)Fnum,主要用到的參數(shù)就是這些。然后初始化規(guī)則庫(kù)和綜合數(shù)據(jù)庫(kù),編輯規(guī)則庫(kù)。之后就是主程序,也就是推理機(jī)的作用:先讓用戶輸入
2、事實(shí),然后與規(guī)則庫(kù)中的知識(shí)從第一條開始逐條匹配,當(dāng)匹配成功時(shí),將結(jié)論插入事實(shí)庫(kù)并更新事實(shí)庫(kù),再逐條匹配,依次循環(huán).最終如果能匹配成功就顯示該動(dòng)物是.,否則顯示無法識(shí)別該動(dòng)物,程序結(jié)束。三、程序流程圖如下圖:圖一、系統(tǒng)程序流程圖四、我的源程序如下:#include iostream.h#include stdio.h#include conio.h#include string.htypedef struct Rule/定義規(guī)則庫(kù) char Condition620; char Result20; int Cnum; bool used;rule;typedef struct Fact/定義綜合
3、數(shù)據(jù)庫(kù) char item2020; int Fnum;fact;rule r100;fact f;void Create_Rules();/初始化規(guī)則庫(kù)void Create_Facts();/初始化綜合數(shù)據(jù)庫(kù)int Get_RulesNum();void Ratiocinate(int n);void main() int Rnum=0; Create_Rules(); Create_Facts(); Rnum=Get_RulesNum(); /coutRnumendl; Ratiocinate(Rnum);void Create_Rules() strcpy(r0.Condition0,
4、有毛發(fā)); strcpy(r0.Result,哺乳動(dòng)物); r0.Cnum=1; r0.used=false; strcpy(r1.Condition0,奶); strcpy(r1.Result,哺乳動(dòng)物); r1.Cnum=1; r1.used=false; strcpy(r2.Condition0,有羽毛); strcpy(r2.Result,鳥); r2.Cnum=1; r2.used=false; strcpy(r3.Condition0,會(huì)飛); strcpy(r3.Condition1,會(huì)下蛋); strcpy(r3.Result,鳥); r3.Cnum=2; r3.used=fa
5、lse; strcpy(r4.Condition0,吃肉); strcpy(r4.Result,食肉動(dòng)物); r4.Cnum=1; r4.used=false; strcpy(r5.Condition0,有犬齒); strcpy(r5.Condition1,有爪); strcpy(r5.Condition2,眼盯前方); strcpy(r5.Result,食肉動(dòng)物); r5.Cnum=3; r5.used=false; strcpy(r6.Condition0,哺乳動(dòng)物); strcpy(r6.Condition1,蹄); strcpy(r6.Result,有蹄動(dòng)物); r6.Cnum=2;
6、r6.used=false; strcpy(r7.Condition0,有蹄動(dòng)物); strcpy(r7.Condition1,嚼反芻動(dòng)物); strcpy(r7.Result,有蹄動(dòng)物); r7.Cnum=2; r7.used=false; strcpy(r8.Condition0,哺乳動(dòng)物); strcpy(r8.Condition1,食肉動(dòng)物); strcpy(r8.Condition2,黃褐色); strcpy(r8.Condition3,身上有暗斑點(diǎn)); strcpy(r8.Result,金錢豹); r8.Cnum=4; r8.used=false; strcpy(r9.Condit
7、ion0,哺乳動(dòng)物); strcpy(r9.Condition1,食肉動(dòng)物); strcpy(r9.Condition2,黃褐色); strcpy(r9.Condition3,有黑色條紋); strcpy(r9.Result,虎); r9.Cnum=4; r9.used=false; strcpy(r10.Condition0,有蹄動(dòng)物); strcpy(r10.Condition1,長(zhǎng)腿); strcpy(r10.Condition2,長(zhǎng)脖子); strcpy(r10.Condition3,身上有暗斑點(diǎn)); strcpy(r10.Result,長(zhǎng)頸鹿); r10.Cnum=4; r10.us
8、ed=false; strcpy(r11.Condition0,有蹄類動(dòng)物); strcpy(r11.Condition1,身上有黑色條紋); strcpy(r11.Result,斑馬); r11.Cnum=2; r11.used=false; strcpy(r12.Condition0,鳥); strcpy(r12.Condition1,有長(zhǎng)脖子); strcpy(r12.Condition2,長(zhǎng)腿); strcpy(r12.Condition3,不會(huì)飛); strcpy(r12.Condition4,有黑白兩色); strcpy(r12.Result,鴕鳥); r12.Cnum=5; r1
9、2.used=false; strcpy(r13.Condition0,鳥); strcpy(r13.Condition1,會(huì)游泳); strcpy(r13.Condition2,不會(huì)飛); strcpy(r13.Condition3,有黑白兩色); strcpy(r13.Result,企鵝); r13.Cnum=4; r13.used=false; strcpy(r14.Condition0,鳥); strcpy(r14.Condition1,善飛); strcpy(r14.Result,海燕); r14.Cnum=2; r14.used=false;void Create_Facts()
10、printf(請(qǐng)輸入該動(dòng)物特性(中間加空格,Enter鍵結(jié)束)n); scanf(%s%s%s%s%s,&f.item0,&f.item1,&f.item2,&f.item3,&f.item4); f.Fnum=5;int Get_RulesNum() int num=0; int i=0; while(1) if(ri.Condition00=0) break; i+; num+; return num;void Ratiocinate(int n) bool FindFact(char * str); void InsertIntoFact(char * str); int i=0,j;/
11、 i用來控制查找的是第幾條規(guī)則,j用來控制查找的規(guī)則中的第幾條 while(1) if(ri.used=false) for(j=0;jri.Cnum;j+) if(FindFact(ri.Conditionj) continue; else cout規(guī)則i+1匹配失敗endl; break; if(j=ri.Cnum) /如果所有的前件都滿足 ri.used=true; cout規(guī)則i+1匹配成功,結(jié)論插入到綜合數(shù)據(jù)庫(kù)endl; if(!FindFact(ri.Result) InsertIntoFact(ri.Result);/插入事實(shí) cout新增加的事實(shí)為:f.itemf.Fnum-1
12、endl; i=0; /continue; else i+;/查看下條規(guī)則 if(i=n) cout沒有你要找符合要求的動(dòng)物,請(qǐng)?jiān)黾有碌囊?guī)則endl; break; else if(strcmp(f.itemf.Fnum-1,老虎)=0|strcmp(f.itemf.Fnum-1,金錢豹)=0|strcmp(f.itemf.Fnum-1,長(zhǎng)頸鹿)=0|strcmp(f.itemf.Fnum-1,斑馬)=0|strcmp(f.itemf.Fnum-1,鴕鳥)=0|strcmp(f.itemf.Fnum-1,企鵝)=0|strcmp(f.itemf.Fnum-1,海燕)=0) cout與你給的事實(shí)匹配的動(dòng)物:f.itemf.Fnum-1endl; break; /查看綜合數(shù)據(jù)庫(kù)中的事實(shí)否否等于前件,或者是存在這條事實(shí),那么新的結(jié)論就不用加到綜合數(shù)據(jù)庫(kù)中bool F
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國(guó)聚苯胺市場(chǎng)消費(fèi)趨勢(shì)調(diào)查與發(fā)展戰(zhàn)略規(guī)劃策略研究報(bào)告
- 2025-2030中國(guó)真空封罐機(jī)行業(yè)發(fā)展分析及競(jìng)爭(zhēng)格局與發(fā)展趨勢(shì)預(yù)測(cè)研究報(bào)告
- 2026民生銀行招聘筆試題及答案
- 增強(qiáng)現(xiàn)實(shí)技術(shù)在小學(xué)科學(xué)教學(xué)中的互動(dòng)式數(shù)字資源開發(fā)策略研究教學(xué)研究課題報(bào)告
- 2025年工業(yè)CT五年應(yīng)用:精密零件熱成像檢測(cè)技術(shù)報(bào)告
- 初中美術(shù)教育中人工智能輔助教學(xué)策略研究教學(xué)研究課題報(bào)告
- 初中物理浮力實(shí)驗(yàn)與實(shí)驗(yàn)教學(xué)評(píng)價(jià)方式創(chuàng)新的研究課題報(bào)告教學(xué)研究課題報(bào)告
- 生成式AI在小學(xué)數(shù)學(xué)教學(xué)中的個(gè)性化學(xué)習(xí)系統(tǒng)設(shè)計(jì)與實(shí)施效果分析教學(xué)研究課題報(bào)告
- 2026年基因編輯技術(shù)在農(nóng)業(yè)領(lǐng)域的創(chuàng)新應(yīng)用報(bào)告
- 2025年企業(yè)內(nèi)部控制與內(nèi)部審計(jì)流程手冊(cè)
- 2025年遼鐵單招考試題目及答案
- 醫(yī)療行業(yè)數(shù)據(jù)安全事件典型案例分析
- 2026年生物醫(yī)藥創(chuàng)新金融項(xiàng)目商業(yè)計(jì)劃書
- 湖南名校聯(lián)考聯(lián)合體2026屆高三年級(jí)1月聯(lián)考化學(xué)試卷+答案
- 井下爆破安全培訓(xùn)課件
- 2026年安全員證考試試題及答案
- 山東省濰坊市2024-2025學(xué)年二年級(jí)上學(xué)期期末數(shù)學(xué)試題
- 空氣源熱泵供熱工程施工方案
- 中國(guó)馬克思主義與當(dāng)代2024版教材課后思考題答案
- 2026年日歷表(每月一頁(yè)、可編輯、可備注)
- 三年級(jí)數(shù)學(xué)思維訓(xùn)練題(20套)
評(píng)論
0/150
提交評(píng)論