




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
動物識別專家系統
設計文檔一、設計目的1.理解并掌握基于規則系統的表示與推理2.學會編寫小型的生產式系統,理解正向推理和反向推理的過程以及兩者的區別二、系統描述這是一個用來識別老虎(tiger)、金錢豹(cheetah)、斑馬(zebra)、長頸鹿(giraffe)、企鵝(penguin)、鴕鳥(ostrich)和信天翁(albatross)等七種動物的產生式ES。共15條規則、可以識別七種動物,這些規則既少又簡單,可以改造他們,也可以加進新的規則,還可以用來識別其他東西的新規則來取代這些規則。三、運行環境PC機、Visualprolog四、系統分析由上述規則可看出,雖然該系統是用來識別七種動物的,但在規則庫中并沒有簡單地只設計七條規則,而是設計了15條,其基本方法是,首先根據一些比較簡單的條件,如“有毛發”、“有羽毛”、“會飛”等條件將動物粗略分成哺乳動物、鳥、食肉動物三大類,然后隨著條件的增加,逐步縮小分類范圍,最后給出分別識別七種動物的規則。用此規則可形成各種動物的推理網絡。圖1為有關“長頸鹿”的規則形成的正向推理網絡,同理可畫出其它動物的推理網絡。圖1有關“長頸鹿”的規則形成的(正向)推理網絡
在推理網絡中,最高節點如“長頸鹿”為結論(正向推理)或假設(反向推理)節點。在正向推理情況下,該節點沒有輸出線,當推理到本節點時,推理就結束;中間節點既有輸入線,又有輸出線,如節點“哺乳動物”,當推理到中間節點時,系統會自動將此中間結果存入綜合數據庫;終端節點也稱為事實節點,如節點“長脖子”、“有毛發”等,這些節點沒有輸入線,該事實是否為真可通過人機接口詢問用戶,然后加入綜合數據庫中。圖2動物識別系統的推理鏈結構善五、系統結構圖2動物識別系統的推理鏈結構善五、系統結構圖3專家系統原理圖本系統采用產生式結構,它包含三個主要部分:知識庫、綜合數據庫和推理機。⑴知識庫。在本系統當中,知識庫中的知識用產生式規則來表示。本系統能夠識別7種動物,知識庫中共有以下15條規則:r1:IF該動物有毛發THEN該動物是哺乳動物r2:IF該動物有奶THEN該動物是哺乳動物r3:IF該動物有羽毛THEN該動物是鳥r4:IF該動物會飛AND會下蛋THEN該動物是鳥r5:IF該動物吃肉THEN該動物是食肉動物r6:IF該動物有犬齒AND有爪AND眼盯前方THEN該動物是食肉動物r7:IF該動物是哺乳動物AND有蹄THEN該動物是有蹄類動物r8:IF該動物是哺乳動物AND嚼反芻THEN該動物是有蹄類動物r9:IF該動物是哺乳動物AND食肉AND是黃褐色AND有黑色斑點,THEN該動物是金錢豹r10:IF該動物是哺乳動物AND食肉AND是黃褐色AND有黑色條紋,THEN該動物是虎r11:IF該動物是有蹄類動物AND有長脖子AND有長腿AND有暗斑點THEN該動物是長頸鹿r12:IF該動物是有蹄類動物AND有黑色條紋THEN該動物是斑馬r13:IF該動物是鳥AND不會飛AND有長脖子AND有長腿AND有黑白色THEN該動物是鴕鳥r14:IF該動物是鳥AND不會飛AND會游泳AND有黑白色THEN該動物是企鵝r15:IF該動物是鳥AND善飛THEN該動物是信天翁⑵綜合數據庫。綜合數據庫用來存放問題求解過程中各種當前信息,例如問題的原始事實中間結論及最終結論,它的內容是動態和不斷變化的。⑶推理機。在本系統中,我們采用正向推理,并且是精確推理。推理過程如圖3所示。圖4正向推理流程圖六、PROLOG源程序#"classmainopencore嚴下面芮謂詞說明打?-databasexpasitive(syrnbDlfsymbo-l).xnegative(symbolfsymbol)?p■「已dicatesclasslnfoico-re::cla&slnfo?%?shortClassinformationpredicate?%@detailThispredicaterepresentsinfomationpredicateofthisclass?%@endpredicatesrun:core::runnable??-『im?animal_is(symbol)?it_i5(syrnbal)?pesitive(symbolfsymbo-lj?negative(symbol,symbol)?clear_facts?『eeemberfsymbo-lrsymbol〕?ask(symbolsymbol)?endclassmainimplementmainopencoreconstantsclassName="main".classVersion="".■clausesclasslnfa(classNamerclassVersionj.嚴下面為推理過程打clausesrun:-animal_is(X)?!fwriteC"\nTheanimalmaybea(n)w?X)rn\fclear_facts?run:?writ已「\門Unaibl已todeterminewhattheanimalis\n")?clear_facts-positive(Xfy)::-xpositive(Xfy)f!?positiv已(XfY):-門ot(:xri已gativ巳(X/Y))andask(X,Y)-ri已gative(Xfy):-xnegative(XrY)rLnegative(X?Y):-not(xpositive(X.Y))andask(Xfy)?ask(XRY):-write(XitwpYr"\nw).readln(Reply)rremembeir(X/YfReply)?rem已eb已r(X/¥):-assertz(xpositive(X/Y))?remember(X,Y^na):-assertz(xnegative(X?Y))^fail.clear_facts:■「已tract(xpositive(_f_))rfaiLclear_facts:-retract(xnegative))rfail.cl已a^factsi-writet1"\n\nPleasepressthespacebartoExit")?r已3idc:haiir(_)?嚴下面芮推理機提供知識Witjsfmammalji-positivefhas^hair).itJsfmammalJi-positivefdoeSjigiv^rnilk).it_is(bird):-positive(has^feathers)?it_is(bird):-positive(does^fly)andpo-sitive(doesrIay_eggs)?it_is(carnivore):-pasitiv已〔do&sfeat_meat)?itjsfcarnivor已:i:?positiv已〔has^point已d_t已已th)andpo-sitiv已(hai呂cInwe)andpositiv已(ha呂forw已rrl_巳¥es)?it_is(ungulate):-it_i5(inamrnal)andpositive(has,hqqvs^)?it_i£(ungulate):-it_i5(inarnrnal)andpositive(dues,chew_cud)?animal_is(ch已已t3h):-it_is(E3EE3l;iandit_is(carnivore)andpasitive(hasrtawny_co-lor)andpo-sitive(hasfblack_spots)?animal_is(tiger):-it_is(mammal)andit_is(carnivore)andpositive(hasrtawny_color)andpositive(hasrblack_stripes).animal_is(giraffe):-it_is(ungulate)andpo-sitive(hasJong_neck)andpo-sitive(hasfIo-ng_l已gs)andpositive(hasfdark_spotejanimal_is(zebra):-it_is(ungulate)andpositive(hasfblack_stripe^)?anirnal_is(ostrich):-it_is(bird)andpositive(hasfIo-ng_neck)andpositive(hasJong_legs)andnegative(does^fIy〕?animal_is(penguin):-it_i5(bird)andpo-sitive(doesfswim)andnegative(daesffIy)andpositive(hasfblack_and_whit已_color)?animal_is(aIbatro-ss):-it_is(bird)andpositive(dQ&s,fly_well).endimplementmaingoalmainEixe:^run(main::run).七、C++源程序及運行結果C++代碼詳見Animalidentification.cpp運行結果:?D:試三三F\人工智能\動物識SU#家至統\AnimRideritification.exe格賞合珀不略i至間腿入中長插1W-論鳥性產結?叩失失聶-kr」ppp己己己1W備星——鳥
?D:試三三F\人工智能\動物識SU#家至統\AnimRideritification.exe格賞合珀不略i至間腿入中長插1W-論鳥性產結?叩失失聶-kr」ppp己己己1W備星——鳥
it.即物■儷鳥動-,T.宀E內?士口.EJT.<II-£t己:|敗敗敗功為匹續ii己-&-&津-——酉-三3三-7^一匹匹欝匹匹匹匹匹匹匹咂10K11K噸跡朋震二忙-TT--,...'H-一-〕TJ-1~J-TJ一i—r1~J__1~J_1~??_1~J_1~??_J_1~??一0123-U...—Iy'斗123~R12456r-c091111-R-規規霸規規規規規規規規規規半:|=|回I—Wdentification.exete點En斑,暗曲子>g有腿合綜到物入動■I-nJ~1論甫帝U事.H,盤一合到訓入類插蹄論有島:轂失失一己莓己己肴匹冊匹匹匹匹匹黑匹匹匹匹匹匹匹0EH...■121CO456713456C0911-f^4--^4-^規規規規^Mi■f
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 把握時機2025年證券從業考試試題及答案
- 影視設備行業信息技術支持服務批發考核試卷
- 常州新風管安裝施工方案
- 纖維素纖維的抗菌性與保健功能考核試卷
- 財務預算編制基礎知識試題及答案
- 2025年會計錯誤更正試題及答案
- 租賃設備的行業應用案例解析考核試卷
- 干部休養所人際關系和諧考核試卷
- 2024年項目管理目標管理試題及答案
- 銀行從業資格考試應試基礎知識復習試題及答案
- 銀行業金融機構安全評估標準
- CJT244-2016 游泳池水質標準
- 河南省鄭州市鄭東新區2023-2024學年六年級下學期期末語文試題
- 大學生科研訓練與論文寫作全套教學課件
- HCIA H13-111鯤鵬應用開發考試復習題庫(含答案)
- 校本課程建設方案
- 《城市軌道交通信號基礎設備》課件-第二章 信號機
- 口腔平滑肌瘤的手術治療與預后
- XX鎮衛生院基本公共衛生服務項目實施方案(2024年)
- 2023年江蘇省南京市中考化學試卷真題(含答案)
- 衛星互聯網通信技術
評論
0/150
提交評論