下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 人工智能技術(shù)基礎(chǔ)實(shí)驗(yàn)報告指導(dǎo)老師:朱力任課教師:勇實(shí)驗(yàn)三小型專家系統(tǒng)設(shè)計與實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康模?)增加學(xué)生對人工智能課程的興趣;(2)使學(xué)生進(jìn)一步理解并掌握人工智能prolog語言;(3)使學(xué)生加強(qiáng)對專家系統(tǒng)課程容的理解和掌握,并培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識開發(fā)智能系統(tǒng)的初步能力。二、實(shí)驗(yàn)要求(1)用產(chǎn)生式規(guī)則作為知識表示,用產(chǎn)生系統(tǒng)實(shí)現(xiàn)該專家系統(tǒng)。(2)可使用本實(shí)驗(yàn)指導(dǎo)書中給出的示例程序,此時只需理解該程序,并增加自己感興趣的修改即可;也可以參考該程序,然后用PROLOG語言或其他語言另行編寫。(3)程序運(yùn)行時,應(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)容建造一個小型專家系統(tǒng)(如分類、診斷、預(yù)測等類型),具體應(yīng)用領(lǐng)域由學(xué)生自選,具體系統(tǒng)名稱由學(xué)生自定。五、實(shí)驗(yàn)步驟1、專家系統(tǒng):1.1建造一個完整的專家系統(tǒng)設(shè)計需完成的容:1用戶界面:可采用菜單方式或問答方式。2知識庫(規(guī)則庫):存放產(chǎn)生式規(guī)則,庫中的規(guī)則可以增刪。3數(shù)據(jù)庫:用來存放用戶回答的問題、已知事實(shí)、推理得到的中間事實(shí)。4推理機(jī):如何運(yùn)用知識庫中的規(guī)則進(jìn)行問題的推理控制,建議用正向推理。5知識庫中的規(guī)則可以隨意增減。1.2推理策略推理策略包括:正向(數(shù)據(jù)驅(qū)動),反向(目標(biāo)驅(qū)動),雙向2、動物分類實(shí)驗(yàn)規(guī)則集(1)若某動物有奶,則
3、它是哺乳動物。(2)若某動物有毛發(fā),則它是哺乳動物。(3)若某動物有羽毛,則它是鳥。(4)若某動物會飛且生蛋,則它是鳥。(5)若某動物是哺乳動物且有爪且有犬齒且目盯前方,則它是食肉動物。(6)若某動物是哺乳動物且吃肉,則它是食肉動物。(7)若某動物是哺乳動物且有蹄,則它是有蹄動物。(8)若某動物是有蹄動物且反芻食物,則它是偶蹄動物。(9)若某動物是食肉動物且黃褐色且有黑色條紋,則它是老虎。(10)若某動物是食肉動物且黃褐色且有黑色斑點(diǎn),則它是獵豹。(11)若某動物是有蹄動物且長腿且長脖子且黃褐色且有暗斑點(diǎn),則它是長頸鹿。(12)若某動物是有蹄動物且白色且有黑色條紋,則它是斑馬。(13)若某動物
4、是鳥且不會飛且長腿且長脖子且黑白色,則它是駝鳥。(14)若某動物是鳥且不會飛且會游泳且黑白色,則它是企鵝。(15)若某動物是鳥且善飛且不怕風(fēng)浪,則它是海燕。3、實(shí)驗(yàn)具體步驟本實(shí)驗(yàn)用正向推理策略來完成,實(shí)現(xiàn)推理機(jī)的程序與知識庫的具體容無關(guān),對知識庫的修改不需要改動推理機(jī)。1、充分理解知識庫現(xiàn)有知識,提出待解決問題2、建立規(guī)則庫3、從規(guī)則庫中獲取可用規(guī)則集4、確定搜索控制策略(例如:估價函數(shù)策略)5、通過搜索控制策略,從規(guī)則集中選出最優(yōu)規(guī)則6、執(zhí)行最優(yōu)規(guī)則,更新知識庫7、反復(fù)多次以上步驟8、獲得解決方案或無解4、編寫程序及調(diào)試運(yùn)行步驟4.1程序代碼“小型動物分類專家系統(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):-%哺乳動物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):-%肉食動物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):-%有蹄類動物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文件,啟動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)的路徑所在文件件夾中會生成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書籍識別系統(tǒng)根據(jù)所給示例程序,我修改出一個簡單的書籍識別系統(tǒng)4.3.1系統(tǒng)簡介這是一個簡單的
13、書籍識別系統(tǒng),有:唐詩三百首、魯迅散文集、紅樓夢、泰戈?duì)栐娫~、呼嘯山莊。使用我們這個系統(tǒng),只需根據(jù)窗口提供的容回答y/n,系統(tǒng)將會幫你選擇你可能中意的書籍。該專家系統(tǒng)設(shè)計書籍的特性是:中文,英文,詩集,散文,小說各種書籍特性如下:書籍特性唐詩三百首中文詩詞紅樓夢中文小說泰戈?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動物分類實(shí)驗(yàn)結(jié)果圖1圖2圖35.2書籍識別實(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ī),而用戶自己重新編寫一個顯式的推理機(jī),這可根據(jù)問題和需要而定。如果要重新編寫推理機(jī),一般說來,規(guī)則就要用PROLOG的事實(shí)來實(shí)現(xiàn)。知識庫就要用PROLOG的動態(tài)數(shù)據(jù)庫來實(shí)現(xiàn)。七、實(shí)驗(yàn)中出現(xiàn)的問題及解決方案實(shí)驗(yàn)中由于最開始對于專家系統(tǒng)了解不夠深刻,對于理解小動物分類的程序是,遇到了很多
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計評語存在問題
- 網(wǎng)絡(luò)直播培訓(xùn)課程設(shè)計
- 點(diǎn)歌臺課程設(shè)計
- 新人溝通課程設(shè)計
- 研學(xué)課程設(shè)計證書怎么考
- 課程設(shè)計銀行貸款摘要
- 酸奶包裝設(shè)計課程設(shè)計
- 通信原理課程設(shè)計ask
- 裝修公司整裝課程設(shè)計
- 風(fēng)機(jī)房噪聲課程設(shè)計
- 2025年河北供水有限責(zé)任公司招聘筆試參考題庫含答案解析
- Unit3 Sports and fitness Discovering Useful Structures 說課稿-2024-2025學(xué)年高中英語人教版(2019)必修第一冊
- (完整版)形式發(fā)票模版(國際件通用)
- 武漢東湖賓館建設(shè)項(xiàng)目委托代建合同
- 安徽大學(xué)大學(xué)生素質(zhì)教育學(xué)分認(rèn)定辦法
- 巴布亞新幾內(nèi)亞離網(wǎng)光儲微網(wǎng)供電方案
- 高度限位裝置類型及原理
- 中文版gcs electrospeed ii manual apri rev8v00印刷稿修改版
- 新生兒預(yù)防接種護(hù)理質(zhì)量考核標(biāo)準(zhǔn)
- 除氧器出水溶解氧不合格的原因有哪些
- 沖擊式機(jī)組水輪機(jī)安裝概述與流程
評論
0/150
提交評論