




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. . I . . r . . 人工智能技术根底实验报告指导教师:朱力任课教师:勇实验三小型专家系统设计与实现一、实验目的1增加学生对人工智能课程的兴趣;2使学生进一步理解并掌握人工智能prolog语言;3使学生加强对专家系统课程容的理解和掌握,并培养学生综合运用所学知识开发智能系统的初步能力。二、实验要求1用产生式规则作为知识表示,用产生系统实现该专家系统。2可使用本实验指导书中给出的例如程序,此时只需理解该程序,并增加自己感兴趣的修改即可;也可以参考该程序,然后用PROLOG语言或其他语言另行编写。3程序运行时,应能在屏幕上显示程序运行结果。三、实验环境在Turbo PROLOG或Visu
2、al Prolog集成环境下调试运行简单的PROLOG程序。四、实验容建造一个小型专家系统如分类、诊断、预测等类型,具体应用领域由学生自选,具体系统名称由学生自定。五、实验步骤1、专家系统:1.1建造一个完整的专家系统设计需完成的容:1用户界面:可采用菜单方式或问答方式。2知识库规则库:存放产生式规则,库中的规则可以增删。3数据库:用来存放用户答复的问题、事实、推理得到的中间事实。4推理机:如何运用知识库中的规则进展问题的推理控制,建议用正向推理。5知识库中的规则可以随意增减。1.2推理策略推理策略包括:正向数据驱动,反向目标驱动,双向2、动物分类实验规则集1假设*动物有奶,则它是哺乳动物。2
3、假设*动物有毛发,则它是哺乳动物。3假设*动物有羽毛,则它是鸟。4假设*动物会飞且生蛋,则它是鸟。5假设*动物是哺乳动物且有爪且有犬齿且目盯前方,则它是食肉动物。6假设*动物是哺乳动物且吃肉,则它是食肉动物。7假设*动物是哺乳动物且有蹄,则它是有蹄动物。8假设*动物是有蹄动物且反刍食物,则它是偶蹄动物。9假设*动物是食肉动物且黄褐色且有黑色条纹,则它是老虎。10假设*动物是食肉动物且黄褐色且有黑色斑点,则它是猎豹。11假设*动物是有蹄动物且长腿且长脖子且黄褐色且有暗斑点,则它是长颈鹿。12假设*动物是有蹄动物且白色且有黑色条纹,则它是斑马。13假设*动物是鸟且不会飞且长腿且长脖子且黑白色,则它
4、是驼鸟。14假设*动物是鸟且不会飞且会游泳且黑白色,则它是企鹅。15假设*动物是鸟且善飞且不怕风浪,则它是海燕。3、实验具体步骤本实验用正向推理策略来完成,实现推理机的程序与知识库的具体容无关,对知识库的修改不需要改动推理机。1、充分理解知识库现有知识,提出待解决问题2、建立规则库3、从规则库中获取可用规则集4、确定搜索控制策略例如:估价函数策略5、通过搜索控制策略,从规则集中选出最优规则6、执行最优规则,更新知识库7、反复屡次以上步骤8、获得解决方案或无解4、编写程序及调试运行步骤4.1程序代码小型动物分类专家系统/*An Animal Classifying E*pert System*/
5、database*positive(symbol,symbol)*negative(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(*), !,write(nYour animal may be a(n) , *),nl, nl, clear_facts.run:
6、-write(nUnable to determine what),write(your animal is.nn), clear_facts.positive(*,Y):-*positive(*, Y),!.positive(*,Y):-not(*negative(*,Y), ask(*,Y).negative(*,Y):-*negative(*,Y), !.negative(*,Y):-not(*positive(*,Y), ask(*,Y).ask(*,Y):-write(*, it , Y, n),readln(Reply),remember(*, Y, Reply).remember
7、(*, Y, y):-asserta(*positive(*, Y).remember(*, Y, n):-asserta(*negative(*, Y),fail.clear_facts:-retract(*positive(_, _),fail.clear_facts:-retract(*negative(_, _),fail.clear_facts:-write(nnPlease press the space bar to E*ist),readchar(_)./* Knowledge Base*/animal_is(cheetah):-%猎豹it_is(carnivore),posi
8、tive(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):-%斑马it_is(ungulate),posit
9、ive(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_color).animal_is(albatross):-
10、%信天翁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(carnivore):-it_is(mammal),positiv
11、e(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在T*T文本中编写规则代码,添加到状态图通用搜索程序中,修改程序。2翻开Turbo prolog2.0文件,启动prolog.e*e应用程序,并按空格键(SPACE)进入集成开发环境。3.选择Setup项,翻开下拉菜单,选
12、择Directories项,进展工作目录修改,按Esc键退出,选择Save Configuration项,保存修改。4.在相应的路径所在文件件夹中会生成work.Pro文件将其用文本翻开,将要运行的程序写入,保存。5.选择Files项,选择Load项,选择要翻开的例如程序6.编辑之后,可以选择Run项,执行程序,可以在Dialog窗口进展询问,并答复y/n,依次答复下列问题,即可找到解7.退出,选择Quit项,可以退出Turbo Prolog程序。4.3书籍识别系统根据所给例如程序,我修改出一个简单的书籍识别系统系统简介这是一个简单的书籍识别系统,有:唐诗三百首、鲁迅散文集、红楼梦、泰戈尔诗词
13、、吼叫山庄。使用我们这个系统,只需根据窗口提供的容答复y/n,系统将会帮你选择你可能中意的书籍。该专家系统设计书籍的特性是:中文,英文,诗集,散文,小说各种书籍特性如下:书籍特性唐诗三百首中文诗词红楼梦中文小说泰戈尔诗词英文诗词鲁迅散文集中文散文吼叫山庄英文小说系统程序database*positive(symbol,symbol)*negative(symbol,symbol)predicatesrunbook_is(symbol)positive(symbol,symbol)negative(symbol,symbol)clear_factsremember(symbol,symbol,s
14、ymbol)ask(symbol,symbol)goalrun.clausesrun:-book_is(*), !,write(nYour favorite book may be , *),nl, nl, clear_facts.run:-write(nUnable to determine what),write(your book is.nn), clear_facts.positive(*,Y):-*positive(*,Y),!.positive(*,Y):-not(*negative(*,Y), ask(*,Y).negative(*,Y):-*negative(*,Y), !.n
15、egative(*,Y):-not(*positive(*,Y), ask(*,Y).ask(*,Y):-write(Question:- ,*, it , Y, n),readln(Reply),remember(*,Y, Reply).remember(*,Y, y):-asserta(*positive(Y).remember(*,Y, n):-asserta(*negative(Y),fail.clear_facts:-retract(*positive(_, _),fail.clear_facts:-retract(*negative(_, _),fail.clear_facts:-
16、write(nnPlease press the space bar to E*ist),readchar(_)./* Knowledge Base*/book_is(tangShiSaibaishou):-%唐诗三百首positive(is,chinese),positive(is,poem).book_is(lu*unwenji):-%鲁迅文集positive(is,chinese),positive(is, prose).book_is(hongloumeng):-%红楼梦positive(is, chinese),positive(is, novel).book_is(taigerwe
17、nji):-%泰戈尔文集positive(is, english),positive(is, poem).book_is(hu*iaoshanzhaung):-%吼叫山庄positive(is, english),positive(is, novel).五、实验结果5.1动物分类实验结果图1图2图35.2书籍识别实验结果图4图5图6六、问题思考思考:你所实现的基于产生式的专家系统所采用的推理算法是正向推理还是反向推理?采用prolog语言编写专家系统有何优点与缺乏?解:1正向推理2严格来讲,该专家系统程序中并无显式的推理机,而是利用了PROLOG语言本身的推理机制实现推理的。这就是说,用PROLOG编写专家系统程序,可以省去推理机局部。如果用其他语言编程,推理机则是必不可少的。当然,用PROLOG编写专家系统程序,也可以不用它自身的推理机作为所实现的专家系统的推理机,而用户自己重新编写一个显式的推理机,这可根据问题和需要而定。如果要重新编写推理机,一般说来,规则就要用PROLOG的事实来实现。知识库就要用PROLOG的动态数据库来实现。七、实验中出现的问题及解决方案实验中由于最开场对于专家系统了解不够深刻,对于理解小动物分类的程序是,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加盟保洁公司合同范本
- 2024年盐城市滨海县招聘教师考试真题
- 农村房屋共建合同范例
- 2024年梧州市龙圩区招录公益性岗位人员考试真题
- 公司之间供货合同范本
- 动产转让合同范本
- 2024年普洱市墨江县教体系统所属事业单位紧缺招聘考试真题
- 2024年绵阳市投资控股有限公司招聘笔试真题
- 第12课 宋元时期的都市和文化(教学设计)七年级历史下册同步备课系列(部编版)
- 做代理合同范本
- 《ABO血型鉴定》课件
- 李四光《看看我们的地球》原文阅读
- 读书分享-于永正-我怎样教语文
- 高中语文(统编版)选必中册-第二单元教材分析解读课件
- 六年级语文下册第五单元教材解析
- 2024年湖南高速铁路职业技术学院单招职业技能测试题库及答案解析
- 《大学生安全教育》课件-第一课 国家安全
- 食品经营单位经营场所和设备布局、操作流程示意图模板
- 如何写数学新授课教学设计
- (精选)检察院政治部副主任述职报告
- 人教版初三历史九年级全册思维导图
评论
0/150
提交评论