ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:326.50KB ,
资源ID:10714969      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10714969.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(人工智能小型专家系统的设计与实现.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

人工智能小型专家系统的设计与实现.docx

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

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

5、分类专家系统”/*An Animal Classifying Expert System*/database xpositive(symbol,symbol) xnegative(symbol,symbol)predicates run animal_is(symbol) it_is(symbol) positive(symbol,symbol) negative(symbol,symbol) clear_facts remember(symbol,symbol,symbol) ask(symbol,symbol)goal run.clauses run:- animal_is(X), !,

6、write(nYour 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

7、,Y):- write(X, 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 press the space bar to Exis

8、t), readchar(_)./* 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),

9、 positive(has, long_legs), positive(has, 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_

10、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,feathers). it_is(bird):- pos

11、itive(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_is(ungulate):- it_is(mammal), p

12、ositive(does,chew_cud).4.2调试步骤1在TXT文本中编写规则代码,添加到状态图通用搜索程序中,修改程序。2打开Turbo prolog2.0文件,启动prolog.exe应用程序,并按空格键(SPACE)进入集成开发环境。3.选择Setup项,打开下拉菜单,选择Directories项,进行工作目录修改,按Esc键退出,选择Save Configuration项,保存修改。4.在相应的路径所在文件件夹中会生成work.Pro文件将其用文本打开,将要运行的程序写入,保存。5.选择Files项,选择Load项,选择要打开的示例程序6.编辑之后,可以选择Run项,执行程序,可

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

14、tive(symbol,symbol) xnegative(symbol,symbol)predicates run book_is(symbol) positive(symbol,symbol) negative(symbol,symbol) clear_facts remember(symbol,symbol,symbol) ask(symbol,symbol)goal run.clauses run:- book_is(X), !, write(nYour favorite book may be , X), nl, nl, clear_facts. run:- write(nUnabl

15、e 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). 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). re

16、member(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(nnPlease press the space bar to Exist), readchar(_)./* Knowledge Base*/ book_is(tangShiSaibaishou):- %唐诗三百首 posi

17、tive(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, english), positive(is, poem). book_is(huxiaoshanzhaung):- %呼啸山庄 positive(is,

18、english), positive(is, novel).五、实验结果5.1动物分类实验结果 图1图2图35.2书籍识别实验结果图4图5图6六、问题思考思考:你所实现的基于产生式的专家系统所采用的推理算法是正向推理还是反向推理?采用prolog语言编写专家系统有何优点与不足?解:(1)正向推理(2)严格来讲,该专家系统程序中并无显式的推理机,而是利用了PROLOG语言本身的推理机制实现推理的。这就是说,用PROLOG编写专家系统程序,可以省去推理机部分。如果用其他语言编程,推理机则是必不可少的。当然,用PROLOG编写专家系统程序,也可以不用它自身的推理机作为所实现的专家系统的推理机,而用户

19、自己重新编写一个显式的推理机,这可根据问题和需要而定。如果要重新编写推理机,一般说来,规则就要用PROLOG的事实来实现。知识库就要用PROLOG的动态数据库来实现。七、实验中出现的问题及解决方案实验中由于最开始对于专家系统了解不够深刻,对于理解小动物分类的程序是,遇到了很多问题,后来我仔细看了书,掌握了专家系统的整体架构,对于动态数据库有了一定的了解,加深了我对于程序的理解,同时有咨询老师和同学,理解了程序。在理解程序之后,我又尝试着自己改编了一段小程序,虽然遇到了一些语句上的小问题,但是翻书之后,问题可以解决,同时程序可以运行出来。八、实验总结通过本次实验,加深了我对人工智能课程的兴趣,进一步掌握了prolog语言,加深了我对于专家系统的理解和掌握,理解了专家系统的知识库,推理机,动态数据库。并且在这最后一次人工智能上机实验中,尝试着自己修改编写一段程序,相对于前两次实验,我对于prolog语言的运用更加熟悉。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2