人工智能小型專家系統(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頁,還剩14頁未讀, 繼續(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)課程內(nèi)容的理解和掌握,并培養(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)境在TurboPROLOG或VisualPro

2、log集成環(huán)境下調(diào)試運(yùn)行簡單的PROLOG程序。四、實(shí)驗(yàn)內(nèi)容建造一個(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ì)需完成的內(nèi)容: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)物且白色且有黑色條紋

4、,則它是斑馬。( 13)若某動(dòng)物是鳥且不會(huì)飛且長腿且長脖子且黑白色,則它是駝鳥。14)若某動(dòng)物是鳥且不會(huì)飛且會(huì)游泳且黑白色,則它是企鵝。( 15)若某動(dòng)物是鳥且善飛且不怕風(fēng)浪,則它是海燕。3、實(shí)驗(yàn)具體步驟本實(shí)驗(yàn)用正向推理策略來完成,實(shí)現(xiàn)推理機(jī)的程序與知識(shí)庫的具體內(nèi)容無關(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)物分類

5、專家系統(tǒng)”/*AnAnimalClassifyingExpertSystem*/databasexpositive(symbol,symbol)xnegative(symbol,symbol)predicatesrunanimal_is(symbol)4it_is(symbol)positive(symbol,symbol)negative(symbol,symbol)clear_factsremember(symbol,symbol,symbol)ask(symbol,symbol)goalrun.clausesrun:-animal_is(X),!,write("nYourani

6、malmaybea(n)",X),nl,nl,clear_facts.run:-write("nUnabletodeterminewhat"),write("youranimalis.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(

7、X,"it",Y,"?n"),remember(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("nnPleasepressthespacebartoExist"),readchar(_)./*

8、KnowledgeBase*/animal_is(cheetah):-%獵豹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,

9、dark_spots).animal_is(zebra):-%斑馬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(ha

10、s,black_and_white_color).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,ea

11、t_meat).it_is(carnivore):-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 .打開Turboprolog2.0文件,啟動(dòng)prolo

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

13、出一個(gè)簡單的書籍識(shí)別系統(tǒng)4.3.1 系統(tǒng)簡介這是一個(gè)簡單的書籍識(shí)別系統(tǒng),有:唐詩三百首、魯迅散文集、紅樓夢、泰戈?duì)栐娫~、呼嘯山莊。使用我們這個(gè)系統(tǒng),只需根據(jù)窗口提供的內(nèi)容回答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

14、,symbol)negative(symbol,symbol)clear_factsremember(symbol,symbol,symbol)ask(symbol,symbol)goalrun.clausesrun:-book_is(X),!,write("nYourfavoritebookmaybe",X),nl,nl,clear_facts.run:-write("nUnabletodeterminewhat"),write("yourbookis.nn"),clear_facts.positive(X,Y):-xpositiv

15、e(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("Question:-",X,"it",Y,"?n"),readln(Reply),remember(X,Y,Reply).remember(X,Y,y):-asserta(xpositive(Y).remember(X,Y,n):-asserta(xn

16、egative(Y),fail.clear_facts:-retract(xpositive(_,_),fail.clear_facts:-retract(xnegative(_,_),fail.clear_facts:-write("nnPleasepressthespacebartoExist"),readchar(_)./*KnowledgeBase*/book_is(tangShiSaibaishou):-%唐詩三百首positive(is,chinese),positive(is,poem).book_is(luxunwenji):-%魯迅文集positive(i

17、s,chinese),positive(is,prose).book_is(hongloumeng):-%紅樓夢positive(is,chinese),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é)果18圖1圖2門E:TUKBO_"1.0TmOF"l.OXPROLOG.EXE

18、ilesditoinpileUOBK.PROIndentIn3erptions/*flnAnInalClu&ifingExpertSystem”databasexpusitive<snbo1,1)xneQatiue(sjnbolj.Mymho1)predicatesDialog&tupdoesitgiue.nilk?nhasitFeathers:?louses2SaueFURanimal_iEfsyiiho1it_is(synho1)positiveKmhoLsj/mbo1netive<ynbo1.芋ywbol)clear_factsrenenherKsynbol,

19、Gynbol,syiibol>askCsynboLsynboL>doesitfly?Unabletodetepnineuhatyouraninwli5.PleasepressthespacehartoExist_run.aftinal_ls:CX>r,,*'n¥ouranimalmaybean)',X).ill.n【,clear_fcts.F3-LoadFt-SwitchF9-Compilefilt-X-Exit5.2書籍識(shí)別實(shí)驗(yàn)結(jié)果圖4圖5FilesEdit1L.-.orapileEditorptionsSetup24Ge-HA10口|iLinp1

20、ColE:RG7RTOT第一陽口IndentIdnrtohxistdatabaseQuestion:isitchtncsoxpositivelsymbol.symbol)7xnegatiuelsymbolrsymbol)npredicdtysQuexlion:-isHefigliUirun?book_is(symboInpositivefsvnbo;,synbol)negativcisyinbo;,symbol)Unabletodeterminewhaiclearfactsyourbookis.remtaraber(symbol,symbol,symbol)日苫kLxymbul,ynbol)g

21、oalPleasepressthespacehrun.artoExistri畫|l£蝦的爆性隊(duì)工轡喻平應(yīng)gznYTURflOTMTUfiBOPTjOPROtC2EX£j占itiver1egf_Fi=irtsrenewherask|F2一SeiueF3LoddF63陽itchF9-Compile六、問題思考思考:你所實(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ì)

溫馨提示

  • 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)論