版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、%指导老师:朱力任课教师:张勇实验三 小型专家系统设计与实现一、实验目的1)增加学生对人工智能课程的兴趣;2)使学生进一步理解并掌握人工智能 prolog 语言;3)使学生加强对专家系统课程内容的理解和掌握,并培养学生综合运用所学知识开发智能系统的初步能力。二、实验要求1)用产生式规则作为知识表示,用产生系统实现该专家系统。2)可使用本实验指导书中给出的示例程序,此时只需理解该程序,并增加自己感兴趣的修改即可;也可以参考该程序,然后用 PROLOG 语言或其 他语言另行编写。3)程序运行时,应能在屏幕上显示程序运行结果。三、实验环境在 Turbo PROLOG 或 Visual Prolog
2、集成环境下调试运行简单的PROLOG 程序。四、实验内容建造一个小型专家系统(如分类、诊断、预测等类型) ,具体应用领域 由学生自选,具体系统名称由学生自定。五、实验步骤1、专家系统: 1.1建造一个完整的专家系统设计需完成的内容: 1用户界面:可采用菜单方式或问答方式。2知识库(规则库):存放产生式规则,库中的规则可以增删。3数据库:用来存放用户回答的问题、已知事实、推理得到的中间事实。4推理机:如何运用知识库中的规则进行问题的推理控制,建议用正向推理。5知识库中的规则可以随意增减。1.2 推理策略 推理策略包括: 正向(数据驱动),反向(目标驱动) ,双向2、动物分类实验规则集1)若某动物
3、有奶,则它是哺乳动物。若某动物有毛发,则它是哺乳动物。若某动物有羽毛,则它是鸟。若某动物会飞且生蛋,则它是鸟。若某动物是哺乳动物且有爪且有犬齿且目盯前方,则它是食肉动物。若某动物是哺乳动物且吃肉,则它是食肉动物。若某动物是哺乳动物且有蹄,则它是有蹄动物。若某动物是有蹄动物且反刍食物,则它是偶蹄动物。若某动物是食肉动物且黄褐色且有黑色条纹,则它是老虎。10)若某动物是食肉动物且黄褐色且有黑色斑点,则它是猎豹。11)若某动物是有蹄动物且长腿且长脖子且黄褐色且有暗斑点,则它是长颈鹿。12)若某动物是有蹄动物且白色且有黑色条纹,则它是斑马。13)若某动物是鸟且不会飞且长腿且长脖子且黑白色,则它是驼鸟。
4、14)若某动物是鸟且不会飞且会游泳且黑白色,则它是企鹅。15)若某动物是鸟且善飞且不怕风浪,则它是海燕。3、实验具体步骤本实验用正向推理策略来完成, 实现推理机的程序与知识库的具体内容 无关,对知识库的修改不需要改动推理机。1、充分理解知识库现有知识,提出待解决问题 2、建立规则库 3、从规则库中获取可用规则集 4、确定搜索控制策略(例如:估价函数策略) 5、通过搜索控制策略,从规则集中选出最优规则 6、执行最优规则,更新知识库 7、反复多次以上步骤 8、获得解决方案或无解 4、编写程序及调试运行步骤 4.1 程序代码小型动物分类专家系统 ”/*An Animal Classifying Ex
5、pert 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), nl, nl, c
6、lear_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),remember(X,
7、 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):- %猎豹i
8、t_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),6positive(does,lay_eggs).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_
10、color).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),it_is(carnivore):- %肉食动物positive(does,eat_meat).it_is(carnivore):-it_is(mammal
11、), 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 调试步骤1在 TXT 文本中编写规则代码,添加到状态图通用搜索程序中,修改程 序。2 .打开Turbo prolog2.0文件,启动prolog.exe应用程序,并按空格键(SPACE)进入集成开发环
12、境。3.选择Setup项,打开下拉菜单,选择 Directories项,进行工作目录修改,按Esc键退出,选择 Save Configuration项,保存修改。4.在相应的路径所在文件件夹中会生成work.Pro 文件将其用文本打开,将 要运行的程序写入,保存。85选择Files项,选择Load项,选择要打开的示例程序 6.编辑之后,可以选择Run项,执行程序,可以在 Dialog窗口进行询问,并回答y/n,依次回答问题,即可找到解7.退出,选择Quit项,可以退出Turbo Prolog程序。4.3书籍识别系统根据所给示例程序,我修改出一个简单的书籍识别系统431系统简介这是一个简单的书籍
13、识别系统,有:唐诗三百首、鲁迅散文集、红楼梦、泰戈尔诗词、呼啸山庄。使用我们这个系统,只需根据窗口提供的 内容回答y/n,系统将会帮你选择你可能中意的书籍。该专家系统设计书籍的特性是:中文,英文,诗集,散文,小说 各种书籍特性如下:书籍特性唐诗三百首中文诗词红楼梦中文小说泰戈尔诗词英文诗词鲁迅散文集中文散文呼啸山庄英文小说4.3.2系统程序 databasexpositive(symbol,symbol)xnegative(symbol,symbol) predicatesrunbook_is(symbol)positive(symbol,symbol)negative(symbol,symb
14、ol)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), a
15、sk(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(xnegative(Y),fail.clear_facts:-retract(xpositive(_, _),fail.clear_fac
16、ts:-retract(xnegative(_, _),fail.clear_facts:-write(nnPlease press the space bar to Exist),readchar(_)./* Knowledge Base*/book_is(ta ngShiSaibaishou):% 唐诗三百首positive(is,chinese), positive(is,poem).14book_is(luxunwenji):-%鲁迅文集positive(is,chinese),positive(is, prose).book_is(hongloumeng):-%红楼梦positive
17、(is, chinese),positive(is, novel).book_is(taigerwenji):-%泰戈尔文集positive(is, english), positive(is, poem).book_is(huxiaoshanzhaung):- %呼啸山庄positive(is, english), positive(is, novel).五、实验结果5.1 动物分类实验结果X E:TDKBO_1.0TDEBOPLOPEOLOG-ESE-1? XEdit二闌 mpjle 0 pt ionsd*W hfl?Wif bflJfiFmi/flr Animal Classifying
18、 Expert Systen*/ database xp4sitiue(s ynbo I, s y mho 1) xneffdtive(synbo1,synbo1) pdedicates於unan iiiial_is (symbo 1) it_rs posit iue (wypibo 1, s ynbo 1 neyative ckBLrJacts rene iiber dsltC svnbo baynbol)FilesSetup Dialog itclaws?boalrun.clausesF2-Sauelias y hasitLtforwardyes?bl-ack.stiipes?Vour a
19、nimal may be a(n) tijepPlease 期ms the space b ar to Existurite(nour animal mav be a(n) X), nb nl, clear_facts.Fj-Load P6-Switch F?-CoiiipilEAlt-X-Exit貢 E:TIIRBO_*L.aTUKBOP*lileslongjieck?SetupDialo J .0PK0L0G,EXEI ditQptionsZ*An AninaL ClassifExpert Systen*/ datahasexpo sitiueCsmboIpSynhal xne gat i
20、vt Csynbo1,5ymb1 predicatespunaninal_isCsvnbo1 it_iE(piibol) pos it iue negat iue sifmbo 1 ,synbo 1) cle 2i*_ficts renenbersmbo1.synbo1,symbo1) Kk(G ypiho 1, spnbo 1)Xhas itndoes it chtu_ciJid.?nhas it black_sti*ipes? yYoup animal nay be a zebra-Jgioalclausesrun :-F2-Saueaninal_is, !, write*nYoup an
21、inal nay be a 3(, nl nl clear_fact&.F3-Load F6-S 制 itch PACoinpilePlease press the space ba.r to Exist_AIt-X-Exiti盘 E: TUKBO_1. OVimOFL 叭PROLOG.EXETditAninal ClAssifjing Expert S vs ten*/Compilept ionsSetupK出师抽鬲Lii灿别=PieJog ilesdatabasexpos it ive (sjmhob symbo 1) xnegat iwe tsjmhol, mbo 1) esPuri a
22、niiial_iEtE 1 it_isfsymbo positiveKsmbol,synba1) neyflt ive synbo1,ynbo1) clear_facts renenbep ftskpre di catndoes it sfiuejnilk?nhas it feathers?ndoes it fly?nUnable to detepnine uhat your anin-ftl is.OdlPlease pvess the space h ar to Existrun.Idusesruri-2SflueF3-Loadanimal_is, *, wpiteCSnVour anim
23、al ra期 be a(n Kh nl, nl, clearacts.Ft -SujJtch 刖-GompileAlt-H-Exit5.2书籍识别实验结果昜即勰邯人工瞥卷 rgzrVgzrA.TUFLBO, - L TU R&O P - 1.3PfiOLO 5 Eir.SetupddtdLciseMpoiiiliMeCsynhoU symbol J xntagdLiucaisvnhoL rsnbol J predied tesrunboak_is( i/nbol)positiMetsymbol,svvhn t) nega+iueCsviiboJ , svinho t) clear_fflctr
24、emertber?:ynibol ,3VBihol , symbol) flskfsynholsymhcl)gnnlpositive clear facts rcMcwbcr ask|F2-SaHG F3-LoaH F6-Switch F9-ConpilGQustion:- ?Quextioii:-bit chineyeit il poEn?VoUr favor11e book nfly b e tfiiigsh ss iha LshouPI巳flss press the space b nr to pKist16鼻 E漂件VAJE辛朋FEED/1 .TATl- RBDP1A?ROLDG EX
25、E匕回:?CompileOptionsSetupcJdldbdM 甘xptilii liye(当#rabol. sunbol 】 xneiatioe( snbol, snbol) nredicolesrunbook is(symbol) positivG(synbolsymboL) negative(synbol,symbol) cltidr factsrenewEer tsinbol,答ymboL , symbol) ask (snboX , wynbul J?nQiuesitiori:- is7VQuestion:- isyVour favorite, e taigerwtinjii I
26、eiigl ishit poen?book nay b18goalrun.Kleflse press the spoce b nr to Fxisiposit clear_facts reflttnberc)kIL?-品*E n I 聞d 口二血认ch 9 :Mpi 2nit X Exit騒 E;LUA I Wat网ZIMQzr vru R5O_- LOjLIfi&OF -LPROLO G.EXSdatabaseHPositiuclsymbol,svnbol) wnegatiuelsymboL synbol) pi-odtcdLy 答runbook_ist symbol)positivefsy
27、mbol,symbol) riegativcisvnbol “ symbol) clGar_factsrtnenber IsinLol, symbol, symbol J dsk gynljul , synbol)OptionsSetupi 1 r d fl J or to ExistQuestion:- is it chincso ?nOueilion:- h il eriglistiUnable to determine whai your book is.:站 orIrun.PleflSF: press the space h ar to Ewist卩osilive rIRflr_Kftrts renewher oskAlt-H-Exit六、问题思考思考:你所实现的基于产生式的专家系统所采用的推理算法是正向推理还 是反向推理?采用prolog语言编写专家系统有何优点与不足?解:(1)正向推理( 2)严格来讲,该专家系统程序中并无显式的推理机,而是利用了 PROLOG 语言本身的推理机制实现推理的。这就是说,用PROLOG 编写专家
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络安全技术发起人协议书
- 矿山开采土方施工协议
- 武汉市飞机租赁合同范本
- 康复设备租赁合同小区康复规定
- 国际度假村建设合同范本
- 商品房限价销售管理规定
- 供应链优化条例
- 珠宝首饰合同签订及执行管理办法
- 污水处理项目评审案例
- 古城墙遗址翻新改造合同
- 防水施工方案28433
- 磷石膏综合利用调查报告
- 防水工程施工报价表
- 生产条件未发生变化情况声明
- 二年级数学小故事(课堂PPT)
- 国家开放大学《生产与运作管理》形考作业1-4参考答案
- 《观沧海》说课(课堂PPT)
- SF305无卤阻燃型聚酰亚胺薄膜挠性覆铜板-PCBGlobal
- 政府采购会议领导讲话稿
- 交警大队协勤人员管理制度-规章制度文书
- 内部控制评价的内容内部控制评价制度
评论
0/150
提交评论