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

下载本文档

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

文档简介

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

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

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

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

5、动物分类专家系统 ”/*An Animal Classifying 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(n

6、Your animal may be a(n) , X), 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

7、, it , Y, n), readln(Reply), 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(nnPlease pressthe space bar to Exist), readchar(_)./*

8、 Knowledge Base*/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),po

9、sitive(has, dark_spots).animal_is(zebra):- %斑马 it_is(ungulate), positive(has,black_stripes).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

10、(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,feathers).it_is(bird):-positive(does,fly), positive(does,lay_eggs).it_is(carnivore):- %肉食动物 p

11、ositive(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_is(ungulate):- it_is(mammal), positive(does,chew_cud).调试步骤animal_is(ostrich):-%鸵鸟1. 在 TXT 文本中编写规则代码,添加到状

12、态图通用搜索程序中,修改程序2. 打开 Turbo 文件,启动应用程序,并按空格键(SPACE 进入集成开发环境。3. 选择 Setup 项,打开下拉菜单,选择 Directories 项,进行工作目录修改, 按Esc 键退出,选择 Save Con figuration 项,保存修改。4. 在相应的路径所在文件件夹中会生成文件将其用文本打开,将要运行的 程序写入,保存。5选择 Files 项,选择 Load 项,选择要打开的示例程序6.编辑之后,可以选择 Run 项,执行程序,可以在 Dialog 窗口进行询问, 并回答 y/n,依次回答问题,即可找到解xpositive(symbol,sy

13、mbol)7.退出,选择 Quit 项,可以退出 Turbo Prolog 程序。书籍识别系统根据所给示例程序,我修改出一个简单的书籍识别系统系统简介这是一个简单的书籍识别系统,有:唐诗三百首、鲁迅散文集、红楼梦、泰戈尔诗词、呼啸山庄。使用我们这个系统,只需根据窗口提供的 内容回答 y/n,系统将会帮你选择你可能中意的书籍。该专家系统设计书籍的特性是:中文,英文,诗集,散文,小说各种书籍特性如下:书籍特性唐诗三百首中文诗词红楼梦中文小说泰戈尔诗词英文诗词鲁迅散文集中文散文呼啸山庄英文小说系统程序databasexpositive(symbol,symbol)xn egative(symbol,

14、symbol)positive(X,Y):-xpositive(X,Y),!.predicatesrunbook_is(symbol)positive(symbol,symbol) negative(symbol,symbol) 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

15、what), write(your book is.nn),clear_facts.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):-positive(is,chinese),write(Question:- ,X, it , Y, n), readln(Reply), remember(X,Y,Reply).remember(X,Y, y):-asserta(xpositive(Y

16、).remember(X,Y, n):-asserta(xnegative(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*/book_is(tangShiSaibaishou):- %唐诗三百首 positive(is,chinese),positive(is,poem).book_

17、is(luxunwenji):- %鲁迅文集positive(is, prose).book_is(hongloumeng):-%红楼梦positive(is, chinese), positive(is, novel).book_is(taigerwenji):- %泰戈尔文集 positive(is, english), positive(is,poem).book_is(huxiaoshanzhaung):- %呼啸山庄 positive(is, english), positive(is,novel).五、实验结果 动物分类实验结果图2匸匸E:TURBO_LOTUEEOPl.叭PROL

18、OG.EEEptionsSetup/*fln Animal Classifying Expert Systere*/-Dialog -ydtahasehas it claws?xpositivcCsRbQlsnbQl)yxnegativehd$ it forwardjeyes?predicatesyrunhas it black.stpipEs?an imal_isit _is Csrnbol)posit iuefsmho 1rsi/mhD 1)uur aninal na be annegatiue(symbol,synbo1)tiqeiclear_factsrehenbertsymbol.

19、s ymho 1, s yntho 1)鯛k&ynbol,石卵bol)Please press tlie space bgoalap to ExistF ll 111 cluesanimal_is, t write(SnYour aninal nay be a(n nl, nl, clearjacts.F2Saue F3-Load F6-SwitcJi F9Conpilefilt-X -Exit图1图2图4和E:TURBO_1.OXTUEBOP!.叭PROLOG.EXEXLine 1Fil昵EditLiffi川III川丨怖IH右4皿曲血onpileOptionsII,= Di税loge

20、tup/*fin Animal Classifying Expert Systen*/ databasexpos it ive (snbo 1, mJbo 1) jinegatiue (siinbo 1, symbol) predicatEsrunaninal_is(symbol) it_is(synbo X) pos itiueKynbo 1fs:ymbo 1neatiue&ynbo 1 ,&ymboD cleflr_factsremcinber c:lear_factsvF3-Load F6_S viitch F9-ConnileAlt-K-Exit书籍识别实验结果图5图6六、问

温馨提示

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

评论

0/150

提交评论