人工智能小型专家系统的设计与实现_第1页
人工智能小型专家系统的设计与实现_第2页
人工智能小型专家系统的设计与实现_第3页
人工智能小型专家系统的设计与实现_第4页
人工智能小型专家系统的设计与实现_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、WOIRD格式AI 97专业资料整理XoroNG 少指导老师:朱力 任课教师:张勇实验三小型专家系统设计与实现一、实验目的(1)增加学生对人工智能课程的兴趣;(2)使学生进一步理解并掌握人工智能prolog语言;(3)使学生加强对专家系统课程内容的理解和掌握,并培养学生综合运用所学知识开发智能系统的初步能力。二、实验要求(1)用产生式规则作为知识表示,用产生系统实现该专家系统。(2)可使用本实验指导书中给出的示例程序,此时只需理解该程序,并增加自己感兴趣的修改即可;也可以参考该程序,然后用PROLOG语言或其 他语言另行编写。(3)程序运行时,应能在屏幕上显示程序运行结果。三、实验环境在Tur

2、boPROLOG或VisualProlog集成环境下调试运行简单的PROLOG 程序。四、实验内容建造一个小型专家系统(如分类、诊断、预测等类型),具体应用领域由学生自选,具体系统名称由学生自定。五、实验步骤1、专家系统:1. 1建造一个完整的专家系统设计需完成的内容: 1.用户界而:可采用菜单方式或问答方式。2. 知识库(规则库):存放产生式规则,库中的规则可以增删。3. 数据库:用来存放用户回答的问题、已知事实、推理得到的中间事实。4. 推理机:如何运用知识库中的规则进行问题的推理控制,建议用正向推理。5. 知识库中的规则可以随意增减。12推理策略推理策略包括:正向(数据驱动),反向(目标

3、驱动),双向2、动物分类实验规则集若某动物有奶,则它是哺乳动物。(2)若某动物有毛发,则它是哺乳动物。若某动物有羽毛,则它是鸟。若某动物会飞且生蛋,则它是鸟。若某动物是哺乳动物且有爪且有犬齿且目盯前方,则它是食肉动物。若某动物是哺乳动物且吃肉,则它是食肉动物。若某动物是哺乳动物且有蹄,则它是有蹄动物。(8)若某动物是有蹄动物且反刍食物,则它是偶蹄动物。(9)若某动物是食肉动物且黄褐色且有黑色条纹,则它是老虎。(10)若某动物是食肉动物且黄褐色且有黑色斑点,则它是猎豹。(11)若某动物是有蹄动物且长腿且长脖子且黄褐色且有暗斑点,则它是长颈鹿。(12)若某动物是有蹄动物且白色且有黑色条纹,则它是斑

4、马。(13)若某动物是鸟且不会飞且长腿且长脖子且黑白色,则它是驼鸟。(14)若某动物是鸟且不会飞且会游泳且黑白色,则它是企鹅。(15)若某动物是鸟且善飞且不怕风浪,则它是海燕。3、实验具体步骤本实验用正向推理策略来完成,实现推理机的程序与知识库的具体内容无关,对知识库的修改不需要改动推理机。1、充分理解知识库现有知识,提出待解决问题2、建立规则库3、从规则库中获取可用规则集4、确定搜索控制策略(例如:估价函数策略)5、通过搜索控制策略,从规则集中选出最优规则6、执行最优规则,更新知识库7、反复多次以上步骤 8、获得解决方案或无解 4、编写程序及调试运行步骤 4. 1程序代码“小型动物分类专家系

5、统”/*AnAnimalClassifyingExpertSystem*/databasexpositive(symbol, symbol) xnegative(symbol, symbol)predicatesrun animal_is (symbol)it_is (symbol) positive(symbol, symbol) negative(symbol, symbol) clear facts remember(symbol, symbol, symbol) ask(symbol, symbol)goalrun.clausesrun:-animal_is(X), !, write

6、("AnYouranimalmaybea (n)"、X), nl, nl, clear_factsrun:-write CAnUnabletodeterminewhatO, write ("youranimalis* 'n'rT), clear_factspositive(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 (xpos

7、itive (X, Y), ask (X, Y) ask(X, Y):-write (X, "it", Y, V'rT) readln(Reply),remember(X, YReply)remember(X, Yy):-asserts(xpositive(X, Y) remember(X, Yn):-asserta(xnegative(X, Y), faiL clear_facts:-retract(xpositive(_, _), fail.clear_facts:-retract(xnegative(_, _), fail.clear_facts:-write

8、 CA nnPleasepressthespacebartoExist"),readchar(_) /*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(ung

9、ulate), positive(has, long_neck), positive(has, long_legs), positive(has, dark_spots) animal_is (zebra) :一斑马it_is(ungulate),FOIRD格式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_c

10、olor).animal_is (penguin) :-企鹅it_is(bird), negative (does, fly), positive(does, swim), positive(has, black_and_white_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

11、, feathers)it is (bird):-positive(does, fly),专业资料整理positive(does, lay_eggs).it_is (carnivore) :-肉食动物positive(does, eat_meat).it is(carnivore):-it_is(mammal), positive(has, pointed_teeth), positive(has, claws), positive(has, forward_eyes).it_is (ungulate):-有蹄类动物it_is (mammal), positive(has,hooves).it

12、_is(ungulate):-it_is(mammal), positive(does, chew_cud).4. 2调试步骤 1.在TXT文本中编写规则代码,添加到状态图通用搜索程序中,修改程序。2 打开Turboprolog20文件,启动prolog, exe应用程序,并按空格键(SPACE)进入集成开发环境。3选择Setup项,打开下拉菜单,选择Directories项,进行工作目录修改,按Esc键退出,选择SaveConfiguration项,保存修改。4.在相应的路径所在文件件夹中会生成work. Pro文件将其用文本打开,将要运行的程序写入,保存。5选择F订es项,选择Load项,

13、选择要打开的示例程序 6编辑之后,可以选择Run项,执行程序,可以在Dialog窗口进行询问,并回答y/n,依次回答问题,即可找到解7退出,选择Quit项,可以退出TurboProlog程序。4. 3书籍识别系统根据所给示例程序,我修改岀一个简单的书籍识别系统4. 3. 1系统简介这是一个简单的书籍识别系统,有:唐诗三百首、鲁迅散文集、红楼梦、泰戈尔诗词、呼啸山庄。使用我们这个系统,只需根据窗口提供的 内容回答y/n,系统将会帮你选择你可能中意的书籍。该专家系统设计书籍的特性是:中文,英文,诗集,散文,小说各种书籍特性如下:书籍特性唐诗三百首中文诗词红楼梦中文小说泰戈尔诗词英文诗词鲁迅散文集中

14、文散文呼啸山庄英文小说4. 3. 2系统程序 databasexpositive(symbol, symbol) xnegative(symbol, symbol)predicatesrun book_is(symbol) positive(symbol, symbol) negative(symbol, symbol) clear facts remember(symbol, symbol, symbol) ask(symbol, symbol)goalrun.clausesrun:-book_is (X),!, write ("nYourfavoritebookmaybe&quo

15、t; X), nl, nl, clear_facts11WOIRD格式run:-write ("nUnabletodeterminewhat"9, write("yourbookis. nn),clear_factspositive(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):-w

16、rite("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:-retract(xnegative_)、 fail.clear_facts:-write("nnPledsepressthespacebar

17、toExist"),readchar(_) /*KnowledgeBase*/book_is (tangShiSaibaishou):-%唐诗三百首positive(is,Chinese), positive(is, poem) book_is (luxunwenji):-鲁迅文集positive(is, Chinese), positive (is,prose)book_is (hongloumeng) :-红楼梦positive(is,Chinese), positive (is,novel)book_is(taigerwenji) :-泰戈尔文集positive(is, eng

18、lish), positive(is, poem) book_is (huxiaoshanzhaung) :-呼啸山庄positive(is, english), positive (is,novel)五、实验结果5. 1动物分类实验结果#专业资料整理賢 E:IIIRBO_"1.0TURBOP"1.0PKOLOG.EZE卜dit°ompile; pt ions/*flr Aninal Classifying Expert Systen*/ database xpositiveCsynboLsvnbol) xnegative(synbo1 synbo1) predi

19、catesrun an iPkd l_is < s ynbo 1 > itis<synbol> positive<synbol.symbol negatiue<symbol,symbo1> clear Jf acts renenberKsyRboLsynbol*&y nbol) ask<s vmbo l,s ymbo 1)yoalclausesF2-SavcFilesrun.aniRAl_is(X>> !> writeC'XnVour aninal nay be a<n> : X nL nl, clc

20、aractsetup DialogV hasy hasV hasyitititclaws?forwd?d_eyes?blAck_stripcs?Vour aninal nay be a<n> tigerPlease press the space b ar to ExistAlt-X-Exit图1图2aoalpun.clausesrun :-X儿T2-SaueAlt-X-ExitYour aninal nay be A<n> webraPlease press the space b ar to Exist.I: rompileQptionsetup酬口伽 M 岔EYj

21、feWfm: - DialogE:TDRBO_*1.0TDRBOP*1. 0PROLOC. EXEI.ilesditani«al_is<X>, wpite<*nVouH animal may be a<n> nl> nl> clcar_factsF3-Load 片6-S&itc h F9-Compile/«fln Aninial Classifying Expert System*/ databasexp 0 s it iuo (symbol, symbol xnegat ive <synbol.s ymbo1 prc

22、dicatespun an inal_is (symbol) lt_ls(synbol> p 0 s i t iv e < s «/nbo 1 s y nbo 1 > negatiuesymbol.symbol clearfacts reiMnber<synbol8ynbolsvrtbol> Ask<syinbol. symbol)yhas it longjeck? n does it chew_cud?nhas it black_sti*ipe2? y17盘 E:TORBO_"1.OMITRBOP"!. OXPROLOG.EX

23、E/*<ln Animal Classifjfing Expert System*/ databasexposit iuesynbo symbo 1) xnegAtiue(synbol.symbol predicatesrun anipial.is<s umbol> it_is<synbol) positiue<svvibo LsymboD n e g A t i V e « ynbo 1 s vvnbo 1 clcar_facts reineRber<syiiboLsyinbol,synbol> ask(s9nbol,sypibolOpti

24、onsSetup Dialogndoes it n has it feathers? ndoes it fly?ngivcjnilk?goalrun.clausesrun:- raninal may be a<n>F2-Saucan inal_is(X), writeC'XnVour nl. nl clearjfacts.P3-Load F6-Switch F9-CowpileIIX>,52书籍识别实验结果9 E'amXAHS給fS、ryxnVrURBO.lOTUR&OPUnable to detemine uhat your anInal is.Pl

25、case prcss the spacc b ap to Exist.Alt-X-ExitOptionsSetup Dl-log 扳】awhlUj小 ffPPTB ff Question:- is I ddtdbd'e xposi I ive (synbol, ypibol) xnegd I ive ss/nbol»symbol)predied lesrun book_is( symbol) positive(svnbol,svMbol) negrtt ive( wbo I. svbo I) cleflr_fncts remember(symbol.svMbol,svbol)

26、 osk(5VMhal.synbolJ7Question:- isI Chinesei I |joe«?book nnv bVour favorite e tcngshisflibcishouPlege press the spoce h nr to Fxistgoolrun.-MessageTracepositive clear facts rccbor askF2-SdVG F3Load F6Switch F9-CowpilcAlt-XExit审 ma件Sl%arg2n、fg2nVrURfiO.“0TURBOP7.8PROLOG EXfOMpiloOptionsctu pr&qu

27、ot; Did丄og (Jctldbdsexposi I ive(ss/nbol,symbol ) xnegative(ss/nbol .synbol) predicatesrun book is(symbol) pos itive( sviol, svmbo L1 negative(synbol,synbo L) cledr_facts renenber(snljol,symbol ,svMbol) ask(snbol.symbol).?m Question:- is i t engl isli 7VQuestion:- is it poen?VYour favorite book nav

28、b e Idigerwenjigoalrun.Plerjse press the space b or to Fxisitracepositivc clear facts renemBer askI ?*Snve rOI ond 6 Switch 9 CowpileAI+-X-Exitsrc2n>roznTUKBO -LO'TURBOP-1FROLOGEX£File、EditMB1 di tnrCompiledatabaseHpositiuG(symbo1,synboL) xnegatiue(symbol,synboL) predlcdtesriNib(x)k_is(sv«bol)DOSLtive(symbol.svnbol) negativc(suMbolsybol) clcar_facts renenber(symbol,svnbol.synLol) dd< (svnbol,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论