人工智能小型專家系統(tǒng)的設(shè)計(jì)分析實(shí)現(xiàn)_第1頁
人工智能小型專家系統(tǒng)的設(shè)計(jì)分析實(shí)現(xiàn)_第2頁
人工智能小型專家系統(tǒng)的設(shè)計(jì)分析實(shí)現(xiàn)_第3頁
人工智能小型專家系統(tǒng)的設(shè)計(jì)分析實(shí)現(xiàn)_第4頁
人工智能小型專家系統(tǒng)的設(shè)計(jì)分析實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 人工智能技術(shù)基礎(chǔ)實(shí)驗(yàn)報(bào)告指導(dǎo)老師:朱力任課教師:勇實(shí)驗(yàn)三小型專家系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康模?)增加學(xué)生對(duì)人工智能課程的興趣;(2)使學(xué)生進(jìn)一步理解并掌握人工智能prolog語言;(3)使學(xué)生加強(qiáng)對(duì)專家系統(tǒng)課程容的理解和掌握,并培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)開發(fā)智能系統(tǒng)的初步能力。二、實(shí)驗(yàn)要求(1)用產(chǎn)生式規(guī)則作為知識(shí)表示,用產(chǎn)生系統(tǒng)實(shí)現(xiàn)該專家系統(tǒng)。(2)可使用本實(shí)驗(yàn)指導(dǎo)書中給出的示例程序,此時(shí)只需理解該程序,并增加自己感興趣的修改即可;也可以參考該程序,然后用PROLOG語言或其他語言另行編寫。(3)程序運(yùn)行時(shí),應(yīng)能在屏幕上顯示程序運(yùn)行結(jié)果。三、實(shí)驗(yàn)環(huán)境在Turbo PROLOG或Visual

2、Prolog集成環(huán)境下調(diào)試運(yùn)行簡單的PROLOG程序。四、實(shí)驗(yàn)容建造一個(gè)小型專家系統(tǒng)(如分類、診斷、預(yù)測等類型),具體應(yīng)用領(lǐng)域由學(xué)生自選,具體系統(tǒng)名稱由學(xué)生自定。五、實(shí)驗(yàn)步驟1、專家系統(tǒng):1.1建造一個(gè)完整的專家系統(tǒng)設(shè)計(jì)需完成的容:1用戶界面:可采用菜單方式或問答方式。2知識(shí)庫(規(guī)則庫):存放產(chǎn)生式規(guī)則,庫中的規(guī)則可以增刪。3數(shù)據(jù)庫:用來存放用戶回答的問題、已知事實(shí)、推理得到的中間事實(shí)。4推理機(jī):如何運(yùn)用知識(shí)庫中的規(guī)則進(jìn)行問題的推理控制,建議用正向推理。5知識(shí)庫中的規(guī)則可以隨意增減。1.2推理策略推理策略包括:正向(數(shù)據(jù)驅(qū)動(dòng)),反向(目標(biāo)驅(qū)動(dòng)),雙向2、動(dòng)物分類實(shí)驗(yàn)規(guī)則集(1)若某動(dòng)物有奶,則

3、它是哺乳動(dòng)物。(2)若某動(dòng)物有毛發(fā),則它是哺乳動(dòng)物。(3)若某動(dòng)物有羽毛,則它是鳥。(4)若某動(dòng)物會(huì)飛且生蛋,則它是鳥。(5)若某動(dòng)物是哺乳動(dòng)物且有爪且有犬齒且目盯前方,則它是食肉動(dòng)物。(6)若某動(dòng)物是哺乳動(dòng)物且吃肉,則它是食肉動(dòng)物。(7)若某動(dòng)物是哺乳動(dòng)物且有蹄,則它是有蹄動(dòng)物。(8)若某動(dòng)物是有蹄動(dòng)物且反芻食物,則它是偶蹄動(dòng)物。(9)若某動(dòng)物是食肉動(dòng)物且黃褐色且有黑色條紋,則它是老虎。(10)若某動(dòng)物是食肉動(dòng)物且黃褐色且有黑色斑點(diǎn),則它是獵豹。(11)若某動(dòng)物是有蹄動(dòng)物且長腿且長脖子且黃褐色且有暗斑點(diǎn),則它是長頸鹿。(12)若某動(dòng)物是有蹄動(dòng)物且白色且有黑色條紋,則它是斑馬。(13)若某動(dòng)物

4、是鳥且不會(huì)飛且長腿且長脖子且黑白色,則它是駝鳥。(14)若某動(dòng)物是鳥且不會(huì)飛且會(huì)游泳且黑白色,則它是企鵝。(15)若某動(dòng)物是鳥且善飛且不怕風(fēng)浪,則它是海燕。3、實(shí)驗(yàn)具體步驟本實(shí)驗(yàn)用正向推理策略來完成,實(shí)現(xiàn)推理機(jī)的程序與知識(shí)庫的具體容無關(guān),對(duì)知識(shí)庫的修改不需要改動(dòng)推理機(jī)。1、充分理解知識(shí)庫現(xiàn)有知識(shí),提出待解決問題2、建立規(guī)則庫3、從規(guī)則庫中獲取可用規(guī)則集4、確定搜索控制策略(例如:估價(jià)函數(shù)策略)5、通過搜索控制策略,從規(guī)則集中選出最優(yōu)規(guī)則6、執(zhí)行最優(yōu)規(guī)則,更新知識(shí)庫7、反復(fù)多次以上步驟8、獲得解決方案或無解4、編寫程序及調(diào)試運(yùn)行步驟4.1程序代碼“小型動(dòng)物分類專家系統(tǒng)”/*An Animal C

5、lassifying Expert System*/databasexpositive(symbol,symbol)xnegative(symbol,symbol)predicatesrunanimal_is(symbol)it_is(symbol)positive(symbol,symbol)negative(symbol,symbol)clear_factsremember(symbol,symbol,symbol)ask(symbol,symbol)goalrun.clausesrun:-animal_is(X), !,write(nYour animal may be a(n) , X

6、),nl, nl, clear_facts.run:-write(nUnable to determine what),write(your animal is.nn), clear_facts.positive(X,Y):-xpositive(X, Y),!.positive(X,Y):-not(xnegative(X,Y), ask(X,Y).negative(X,Y):-xnegative(X,Y), !.negative(X,Y):-not(xpositive(X,Y), ask(X,Y).ask(X,Y):-write(X, it , Y, ?n),readln(Reply),rem

7、ember(X, Y, Reply).remember(X, Y, y):-asserta(xpositive(X, Y).remember(X, Y, n):-asserta(xnegative(X, Y),fail.clear_facts:-retract(xpositive(_, _),fail.clear_facts:-retract(xnegative(_, _),fail.clear_facts:-write(nnPlease press the space bar to Exist),readchar(_)./* Knowledge Base*/animal_is(cheetah

8、):-%獵豹it_is(carnivore),positive(has,tawny_color),positive(has,black_spots).animal_is(tiger):-%老虎it_is(carnivore),positive(has, tawny_color),positive(has, black_stripes).animal_is(giraffe):-%長頸鹿it_is(ungulate),positive(has, long_neck),positive(has, long_legs),positive(has, dark_spots).animal_is(zebra

9、):-%斑馬it_is(ungulate),positive(has,black_stripes).animal_is(ostrich):-%鴕鳥it_is(bird),negative(does, fly),positive(has, long_neck),positive(has, long_legs),positive(has, black_and_white_color).animal_is(penguin):-%企鵝it_is(bird),negative(does, fly),positive(does, swim),positive(has, black_and_white_co

10、lor).animal_is(albatross):-%信天翁it_is(bird),positive(does,fly_well).it_is(mammal):-%哺乳動(dòng)物positive(has,hair).it_is(mammal):-positive(does,give_milk).it_is(bird):-%鳥類positive(has,feathers).it_is(bird):-positive(does,fly),positive(does,lay_eggs).it_is(carnivore):-%肉食動(dòng)物positive(does,eat_meat).it_is(carniv

11、ore):-it_is(mammal),positive(has,pointed_teeth),positive(has,claws),positive(has,forward_eyes).it_is(ungulate):-%有蹄類動(dòng)物it_is(mammal),positive(has,hooves).it_is(ungulate):-it_is(mammal),positive(does,chew_cud).4.2調(diào)試步驟1在TXT文本中編寫規(guī)則代碼,添加到狀態(tài)圖通用搜索程序中,修改程序。2打開Turbo prolog2.0文件,啟動(dòng)prolog.exe應(yīng)用程序,并按空格鍵(SPACE)進(jìn)

12、入集成開發(fā)環(huán)境。3.選擇Setup項(xiàng),打開下拉菜單,選擇Directories項(xiàng),進(jìn)行工作目錄修改,按Esc鍵退出,選擇Save Configuration項(xiàng),保存修改。4.在相應(yīng)的路徑所在文件件夾中會(huì)生成work.Pro文件將其用文本打開,將要運(yùn)行的程序?qū)懭耄4妗?.選擇Files項(xiàng),選擇Load項(xiàng),選擇要打開的示例程序6.編輯之后,可以選擇Run項(xiàng),執(zhí)行程序,可以在Dialog窗口進(jìn)行詢問,并回答y/n,依次回答問題,即可找到解7.退出,選擇Quit項(xiàng),可以退出Turbo Prolog程序。4.3書籍識(shí)別系統(tǒng)根據(jù)所給示例程序,我修改出一個(gè)簡單的書籍識(shí)別系統(tǒng)4.3.1系統(tǒng)簡介這是一個(gè)簡單的

13、書籍識(shí)別系統(tǒng),有:唐詩三百首、魯迅散文集、紅樓夢、泰戈?duì)栐娫~、呼嘯山莊。使用我們這個(gè)系統(tǒng),只需根據(jù)窗口提供的容回答y/n,系統(tǒng)將會(huì)幫你選擇你可能中意的書籍。該專家系統(tǒng)設(shè)計(jì)書籍的特性是:中文,英文,詩集,散文,小說各種書籍特性如下:書籍特性唐詩三百首中文詩詞紅樓夢中文小說泰戈?duì)栐娫~英文詩詞魯迅散文集中文散文呼嘯山莊英文小說4.3.2系統(tǒng)程序databasexpositive(symbol,symbol)xnegative(symbol,symbol)predicatesrunbook_is(symbol)positive(symbol,symbol)negative(symbol,symbol)

14、clear_factsremember(symbol,symbol,symbol)ask(symbol,symbol)goalrun.clausesrun:-book_is(X), !,write(nYour favorite book may be , X),nl, nl, clear_facts.run:-write(nUnable to determine what),write(your book is.nn), clear_facts.positive(X,Y):-xpositive(X,Y),!.positive(X,Y):-not(xnegative(X,Y), ask(X,Y)

15、.negative(X,Y):-xnegative(X,Y), !.negative(X,Y):-not(xpositive(X,Y), ask(X,Y).ask(X,Y):-write(Question:- ,X, it , Y, ?n),readln(Reply),remember(X,Y, Reply).remember(X,Y, y):-asserta(xpositive(Y).remember(X,Y, n):-asserta(xnegative(Y),fail.clear_facts:-retract(xpositive(_, _),fail.clear_facts:-retrac

16、t(xnegative(_, _),fail.clear_facts:-write(nnPlease press the space bar to Exist),readchar(_)./* Knowledge Base*/book_is(tangShiSaibaishou):-%唐詩三百首positive(is,chinese),positive(is,poem).book_is(luxunwenji):-%魯迅文集positive(is,chinese),positive(is, prose).book_is(hongloumeng):-%紅樓夢positive(is, chinese),

17、positive(is, novel).book_is(taigerwenji):-%泰戈?duì)栁募痯ositive(is, english),positive(is, poem).book_is(huxiaoshanzhaung):-%呼嘯山莊positive(is, english),positive(is, novel).五、實(shí)驗(yàn)結(jié)果5.1動(dòng)物分類實(shí)驗(yàn)結(jié)果圖1圖2圖35.2書籍識(shí)別實(shí)驗(yàn)結(jié)果圖4圖5圖6六、問題思考思考:你所實(shí)現(xiàn)的基于產(chǎn)生式的專家系統(tǒng)所采用的推理算法是正向推理還是反向推理?采用prolog語言編寫專家系統(tǒng)有何優(yōu)點(diǎn)與不足?解:(1)正向推理(2)嚴(yán)格來講,該專家系統(tǒng)程序中并無顯式的推理機(jī),而是利用了PROLOG語言本身的推理機(jī)制實(shí)現(xiàn)推理的。這就是說,用PROLOG編寫專家系統(tǒng)程序,可以省去推理機(jī)部分。如果用其他語言編程,推理機(jī)則是必不可少的。當(dāng)然,用PROLOG編寫專家系統(tǒng)程序,也可以不用它自身的推理機(jī)作為所實(shí)現(xiàn)的專家系統(tǒng)的推理機(jī),而用戶自己重新編寫一個(gè)顯式的推理機(jī),這可根據(jù)問題和需要而定。如果要重新編寫推理機(jī),一般說來,規(guī)則就要用PROLOG的事實(shí)來實(shí)現(xiàn)。知識(shí)庫就要用PROLOG的動(dòng)態(tài)數(shù)據(jù)庫來實(shí)現(xiàn)。七、實(shí)驗(yàn)中出現(xiàn)的問題及解決方案實(shí)驗(yàn)中由于最開始對(duì)于專家系統(tǒng)了解不夠深刻,對(duì)于理解小動(dòng)物分類的程序是,遇到了很多

溫馨提示

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