人工智能課程設計報告--動物識別系統_第1頁
人工智能課程設計報告--動物識別系統_第2頁
人工智能課程設計報告--動物識別系統_第3頁
人工智能課程設計報告--動物識別系統_第4頁
人工智能課程設計報告--動物識別系統_第5頁
已閱讀5頁,還剩15頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、文檔來源為:從網絡收集整理.word版本可編輯.歡迎下載支持.計算機科學與技術學院人工智能課程設計報告設計題目:動物識別系統設計人員:學號:學號:學號:學號:學號:學號:指導教師:2015年7月文檔來源為:從網絡收集整理.word 版本可編輯.歡迎下載支持.目錄目錄 1摘 要 2Abstract 2一、專家系統基本知識 31.1 專家系統實際應用 31.2 專家系統的開發 3二、設計基本思路 42.1 知識庫 4錯. 誤!未定義書簽。2.1.2 知識庫建立 42.1.3 知識庫獲取 52.2 數據庫 6錯. 誤!未定義書簽。錯. 誤!未定義書簽。三、推理機構 73.1 推理機介紹 73.1.1

2、 推理機作用原理7錯. 誤 !未定義書簽。3.2 正向推理73.2.1 正向推理基本思想 73.2.2 正向推理示意圖 83.2.3 正向推理機所要具有功能 83.3 反向推理 8錯. 誤!未定義書簽。3.3.2反向推理示意圖 8錯. 誤!未定義書簽。四、實例系統實現94.1 系統介紹 94.2 基本思路 94.3 程序主要代碼 94.4 系統執行結果 9五、結論 9參考文獻: 9附錄一 10附錄二 17摘要動物識別專家系統是將人的思維過程轉化為計算機語言的邏輯過程,其關鍵在于知識和信息的表示,智能推理或求解的基礎 知識庫的創建和管理,以 及基于某種知識和信息表示的智能推理或求解過程。使動物識

3、別具有一定的智能性、良好的交互性和可視化效果。本論文也主要以識別七種動物的設計思路和程序為例所寫的。動物識別專家系統是人工智能中一個比較基礎的規則演繹系統,是人工智能領域里的一個大模塊的專家系統的一個特定例子。是集知識表與推理為一體的,以規則為基礎對用戶提供的事實進行向前、逆向或雙向的推理得出結論的一種產生式系統。如果通過良好的分析、精確地設計和細致的規劃會創設出高度靈活和快速有效的識別系統,再加上良好的界面供用戶添加新的事實和規則,反饋詳細的錯誤或信息的話,那就是一個相當完整的識別系統了。關鍵詞 : 人工智能; 專家系統; 動物識別Abstractanimal recognition exp

4、ert system is the human thinking process is transformed into the logical process of computer language, the key lies in knowledge and information, said intelligent reasoning or solving based knowledge base - creating and management, and based on some information and knowledge representation of intell

5、igent reasoning and solving process. So that the animal identification has a certain intelligence, good interaction and visual effect. This paper also mainly to identify seven kinds of animal design ideas and procedures for the case of the written. Animal identification expert system is one of the m

6、ore basic rules in artificial intelligence, and is a specific example of the expert system in the field of artificial intelligence. A production system based on rules is a production system which is based on the fact that the user is provided with the facts. If the good analysis and accurate design

7、and meticulous planning created a highly flexible, efficient and rapid recognition system, plus a good interface for users to add new facts and rules, with the wrong information feedback, that is a fairly complete knowledge system, the.Keywords: artificial intelligence; expert system; animal identif

8、ication一、專家系統基本知識1.1 專家系統實際應用目前專家系統已經成功地滲透到生活的各個領域,并且還產生了巨大的社會效益和經濟效益。例如,像車輛傳感、藥物、紡織服裝等重工業和輕工業領域中都會應用到,特別是 在計算機領域里,現在已經是一門非常重要的學科類了。1.2 專家系統的開發專家系統設計與實現的一般過程文檔來源為:從網絡收集整理.word版本可編輯.歡迎下載支持.選題與明確任務系統需求分析編程與調試知識的形式化表示系統設計測試與評價知識獲取與概念化系 統 維 護 與 完 善圖:、設計基本思路2.1知識庫用產生式系統監別動物,需要一種演繹機制,利用己知事實的集合做出新的結論,一 種方法

9、是替動物園中的每個動物作一個產生式,使用者首先收集所有可利用的事實,然后在 產生式的表中進行掃描,尋找一個狀態部分能與之匹配的產生式。一般要經過多少步并生成 和利用一些中間事實才能從基本事實推出結論,這樣做所包含的產生式可以比較小,容易理 解,容易使用和容易產生。動物識別專家系統中的知識庫中的知識通常是用規則表示的。2.1.2知識庫建立知識庫所要遵循的規則規則1:如果:動物有毛發則:該動物是哺乳動物規則2:如果:動物能產奶則:該單位是哺乳動物規則3:如果:該動物有羽毛則:該動物是鳥規則4:如果:動物會飛,且會下蛋則:該動物是鳥規則5:如果:動物吃肉則:該動物是肉食動物規則6:如果:動物有犬齒,

10、且有爪,且眼盯前方則:該動物是食肉動物規則7:如果:動物是哺乳動物,且有蹄則:該動物是有蹄動物規則8:如果:動物是哺乳動物,且是反芻動物則:該動物是有蹄動物規則9:如果:動物是哺乳動物,且是食肉動物,且是黃褐色的,且有暗斑點則:該動物是豹規則10:如果:如果:動物是黃褐色的,且是哺乳動物,且是食肉,且有黑條紋則:該動物是虎規則11:如果:動物有暗斑點,且有長腿,且有長脖子,且是有蹄類則:該動物是長頸鹿規則12:如果:動物有黑條紋,且是有蹄類動物則:該動物是斑馬規則13:如果:動物有長腿,且有長脖子,且是黑色的,且是鳥,且不會飛則:該動物是鴕鳥規則14:如果:動物是鳥,且不會飛,且會游泳,且是黑

11、色的則:該動物是企鵝規則15:如果:動物是鳥,且善飛則:該動物是信天翁動物分類專家系統由15條規則組成 可以識別七種動物.2.1.3知識庫獲取知識獲取一般是指從某個活某些致使原中獲取專家系統問題求解所需要的專門知識,并 以某種形式在計算機中存儲、傳輸與轉移。專家系統的知識獲取一般是由知識工程師與專家 系統知識的獲取機構共同完成的。知識獲取的常用方法有以下幾種:1 .手工知識獲?。? .半自動獲??;3 .自動知識獲取;文檔來源為:從網絡收集整理.word 版本可編輯.歡迎下載支持.4 . 人工神經網絡知識獲??;選用哪種知識獲取方法需要根據當前的系統,以及用戶的需求來決定。但在有些大型系統上還可能

12、會用到不是僅僅一種方法的。5 .2 數據庫數據庫即為事實庫【 2】 , 在計算機中流出一些存儲區間,以存放反應系統當前狀態的事實,存放用戶回答的事實、已知的事實和由推理而得的事實,即由已知事實推導出的假設成立時,也作為事實。其綜合數據庫的內容是不斷變化的。char *str="","反芻動物"/* 1 */, "蹄類動物"/* 2 */,"哺乳動物"/* 3 */,"目視前方"/* 4 */, "有爪子"/* 5 */,"有犬齒"/* 6 */,"

13、;吃肉 "/* 7 */, "下蛋 "/* 8 */,"會飛 "/* 9 */,有羽毛"/* 10 */,"有蹄 "/* 11 */," 肉食動物"/* 12 */,鳥類 "/* 13 */,"產奶 "/* 14 */,"有毛發"/* 15 */,善飛 "/* 16 */,"黑白色"/* 17 */,"會游泳"/* 18 */,長腿 "/* 19 */,"長脖子"/*

14、 20 */,"有黑色條紋"/* 21 */,有暗斑點"/* 22 */,"黃褐色"/* 23 */,"信天翁"/* 24 */,企鵝 "/* 25 */,"鴕鳥 "/* 26 */,"斑馬"/* 27 */,長頸鹿"/* 28 */,"老虎 "/* 29 */,"獵豹"/* 30 */,"0"int rulep6=22,23,12,3,0,0,21,23,12,3,0,0, 22,19,20,11,0,0

15、,21,11,0,0,0,0,17,19,20,13,-9,0,17,18,13,-9,0,0,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;int rulec=30,29,28,27,26,25,24,3,3,13,13,12,12,11,11;三、推理機構3.1 推理機介紹3.1.1 推理機作用原理推理機是一組函數 ,本例既有正向推理機又有反向推理機,都是用精確推理。推理機 是實施問題求解的核心執行機構,它是對知

16、識進行解釋的程序,根據知識的語義,對按一定 策略找到的知識進行解釋執行,并把結果記錄到動態庫的適當空間中去。下圖為識別本文中所舉的識別七種動物時所規則形成的推理網絡:企鵝長頸鹿善飛長腿食動物黃褐色有黑條紋長脖子有蹄會游泳有暗斑哺乳動物有羽毛會飛有奶有毛發有犬齒目視前方有爪子反芻動物信天翁老虎獵豹圖23.2 正向推理3.2.1 正向推理基本思想用戶首先提供一批事實,存放到數據庫中,然后推理機進行工作。方法是:1 .推理機用這批事實與知識庫中規則的前提進行匹配。2 .把匹配成功的規則的結論部分作為新的事實加到數據庫中去 (這時,數據庫中的事實增 加了)。再用更新后的數據庫中的所有事實,重復上述 二

17、步,如此反復進行,直到得以 結論(答案)或不再有新的事實加到數據庫為止。例如,用戶輸入一批事實:動物有暗斑點、長脖子、長腿、產奶、有蹄子(這批事實存放在數據庫中),要求系統判斷這是一個什么動物?推理機利用這批事實來匹配規則。3.2.2 正向推理示意圖圖33.2.3 正向推理機所要具有功能要設計一個正向推理機,就是設計一組程序,使其至少具有以下的功能【 3】 :1. 能用數據庫中的事實去匹配規則的前提,若匹配不成功,能自動地進行嚇一跳規則的匹配。 這里如何匹配最為合適,是設計專家系統者根據專業特點和知識表示等情況,需要很好考慮的問題,也就是在匹配時到底用什么策略等問題都需要考慮周全;2. 若某條

18、規則匹配成功,系統能將此規則的結論部分自動加入數據庫;3. 能判斷何時應結束推理;4. 能將匹配成功的規則記錄下來;3.3 反向推理由用戶或系統首先提出一批假設,然后系統逐一驗證這些假設的真假性,方法:1 .看假設是含在數據庫中,若在,則假設成立,推理結束或進行下一個假設的驗證,否則進行下一步。2 .判斷這些假設是否是證據節點,若是,系統提問用戶,否則進行下一步。3 .找出結論部分包含此假設的那些規則,把這些規則的所有前提作為新的假設。4 .重復 、 、 步。5 .3.2 反向推理示意圖圖41. 能根據用戶要求或情況提出假設;2. 能驗證此假設是否是在數據庫中;3. 能把知識庫中將結論部分包含

19、此假設的規則都找出來;4. 能將找出來地規則的前提部分取出,并作為新的假設逐條驗證;5. 能判斷假設是否是證據接點,若是,能向用戶提出相應的問題,并記錄結果;6. 能將匹配成功的規則記錄下來;7. 能判斷何時應結束推理;文檔來源為:從網絡收集整理.word版本可編輯.歡迎下載支持.四、實例系統實現4.1 系統介紹此系統是實現了人工智能教程(的二版)專家系統實例里的動物識別系統。此系統是識別 老虎、獵豹、斑馬、長頸鹿、鴕鳥、企鵝、信天翁等七種動物。是嚴格遵循了知識庫中的規則,并運用C 語言在 Visual C+ 6.0環境下實驗編譯同過的。因為各種原因沒能設計實現出比較精美的界面,但還是體現出了

20、很多專家系統所該具備的東西和功能。4.2 基本思路根據產生式系統的原理,該系統一般由規則庫、綜合數據庫、控制系統三部分構成。先定義規則庫結構體,里面包括 Condition620 , result20和規則數Cnum,再定義綜合數據 庫即事實庫,里面包括item2020,和事實數Fnum,主要用到的參數就是這些。然后初始 化規則庫和綜合數據庫,編輯規則庫。之后就是主程序,也就是推理機的作用:先讓用戶輸入事實,然后與規則庫中的知識從第一條開始逐條匹配,當匹配成功時,將結論插入事實庫并更新事實庫,再逐條匹配,依次循環.最終如果能匹配成功就顯示該動物是. ,否則顯示無法識別該動物,程序結束。4.3

21、程序主要代碼見附錄二4.4 系統執行結果五、結論動物識別專家系統實現起來也許相對簡單一些,但基本上也包括了專家系統的各個組成 部分。動物識別具有一定的智能性,但是根據所采用的匹配方法的不同其智能性也有不小的 差距。而知識庫的管理和數據庫的設計是否完善對于動物識別專家系統是極為關鍵的,這也 是很多此類專家系統的通病。參考文獻:1】 王士同,陳慧萍,趙躍華,錢旭.人工智能教程M (第二版)北京:電子工業出版社, 2006:188-206Wang Shi-tong, Chen Hui-ping, Zhao Yue-hua, Qian Xu. Artificial intelligence cours

22、eM Bei jing: Electronic Industry Press,2006:188-20621馬鳴遠.人工智能與專家系統導論M北京:清華大學出版社,2006:232-238Ma Ming-yuan. Introduction of artificial intelligence and expert systemM Bei jing: Tsinghua University press,2006:232-238【3】 敖志剛.人工智能與專家系統導論M合肥:中國科學技術大學出版社,2002:165-197Ao Zhi-gang. Introduction of artificial

23、intelligence and expert systemM He fei: Press of USTC,2002:165-19741渠川路.人工智能、專家系統 及智能計 算機M北京:航空航天大學出版社,1991:123-156Qu Chuan-lu. Artificial intelligence,Expert system and intelligent computerM Bei jing:Universiti of Aeronautics and Astronautics Press,1991:165-197附錄一源程序如下:#include "iostream.h&quo

24、t;#include "stdio.h"#include "conio.h"#include "string.h"typedef struct Rule/ 定義規貝"char Condition620;char Result20;int Cnum;bool used;rule;typedef struct Fact/定義綜合數據庫 char item2020;int Fnum;fact;rule r100;fact f;void Create_Rules();/W 始化規WJ 庫void Create_Facts();/W

25、始化綜合數據庫int Get_RulesNum();void Ratiocinate(int n);void main()int Rnum=0;Create_Rules();Create_Facts();Rnum=Get_RulesNum();/cout<<Rnum<<endl;Ratiocinate(Rnum);void Create_Rules()strcpy(r0.Condition0," 有毛發 ");strcpy(r0.Result,"哺乳動物");r0.Cnum=1;r0.used=false;strcpy(r1.Co

26、ndition0," 奶 ");strcpy(r1.Result,"哺乳動物");r1.Cnum=1;r1.used=false;strcpy(r2.Condition0," 有羽毛 ");文檔來源為:從網絡收集整理.word 版本可編輯.歡迎下載支持.strcpy(r2.Result,"鳥)r2.Cnum=1;r2.used=false;strcpy(r3.Condition0," 會飛 ");strcpy(r3.Condition1," 會下蛋 ");strcpy(r3.Resul

27、t,"鳥)r3.Cnum=2;r3.used=false;strcpy(r4.Condition0," 吃肉 ");strcpy(r4.Result,"食肉動物");r4.Cnum=1;r4.used=false;strcpy(r5.Condition0,"有犬齒");strcpy(r5.Condition1," 有爪 ");strcpy(r5.Condition2," 眼盯前方");strcpy(r5.Result,"食肉動物");r5.Cnum=3;r5.use

28、d=false;strcpy(r6.Condition0,"哺乳動物");strcpy(r6.Condition1," 蹄 ");strcpy(r6.Result,"有蹄動物");r6.Cnum=2;r6.used=false;strcpy(r7.Condition0," 有蹄動物");strcpy(r7.Condition1," 嚼反芻動物");strcpy(r7.Result,"有蹄動物");r7.Cnum=2;r7.used=false;strcpy(r8.Condit

29、ion0,"哺乳動物");strcpy(r8.Condition1," 食肉動物");strcpy(r8.Condition2," 黃褐色 ");strcpy(r8.Condition3," 身上有暗斑點");strcpy(r8.Result,"金錢豹");r8.Cnum=4;r8.used=false;strcpy(r9.Condition0,"哺乳動物");strcpy(r9.Condition1," 食肉動物");strcpy(r9.Conditio

30、n2," 黃褐色 ");strcpy(r9.Condition3,"有黑色條紋");strcpy(r9.Result,"虎)r9.Cnum=4;r9.used=false;strcpy(r10.Condition0," 有蹄動物");strcpy(r10.Condition1," 長腿 ");strcpy(r10.Condition2," 長脖子 ");strcpy(r10.Condition3," 身上有暗斑點");strcpy(r10.Result,"

31、長頸鹿");r10.Cnum=4;r10.used=false;strcpy(r11.Condition0," 有蹄類動物");strcpy(r11.Condition1," 身上有黑色條紋");strcpy(r11.Result,"斑馬");r11.Cnum=2;r11.used=false;strcpy(r12.Condition0," 鳥 ");strcpy(r12.Condition1," 有長脖子");strcpy(r12.Condition2," 長腿 "

32、;);strcpy(r12.Condition3," 不會飛 ");strcpy(r12.Condition4," 有黑白兩色");strcpy(r12.Result,"鴕鳥)r12.Cnum=5;r12.used=false;strcpy(r13.Condition0," 鳥 ");strcpy(r13.Condition1," 會游泳");strcpy(r13.Condition2," 不會飛");strcpy(r13.Condition3,"有黑白兩色");s

33、trcpy(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()printf("請輸入該動物特性(中間加空格,Enter鍵結束)n");scanf("%s%s%s%s%s",&f.item0,&a

34、mp;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;/ i 用來控制查找的是第幾條規則,j 用來控制查找的規則中的第幾條while(1)if(ri.used=false)for(j=0;j<ri.Cnum;j+)if(FindFact(ri.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論