![人工智能与专家系统试验报告_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-6/9/2b6a3131-e34f-4d76-8efa-e6734751824c/2b6a3131-e34f-4d76-8efa-e6734751824c1.gif)
![人工智能与专家系统试验报告_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-6/9/2b6a3131-e34f-4d76-8efa-e6734751824c/2b6a3131-e34f-4d76-8efa-e6734751824c2.gif)
![人工智能与专家系统试验报告_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-6/9/2b6a3131-e34f-4d76-8efa-e6734751824c/2b6a3131-e34f-4d76-8efa-e6734751824c3.gif)
![人工智能与专家系统试验报告_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-6/9/2b6a3131-e34f-4d76-8efa-e6734751824c/2b6a3131-e34f-4d76-8efa-e6734751824c4.gif)
![人工智能与专家系统试验报告_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-6/9/2b6a3131-e34f-4d76-8efa-e6734751824c/2b6a3131-e34f-4d76-8efa-e6734751824c5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.专业整理.暨南大学本科实验报告专用纸课程名称人工智能与专家系统成绩评定0实验项目名称 动物识别系统设计指导教师0实验项目编号实验项目类型 综合型0实验地点 南校区 学生姓名学号0学院 信息科学技术学院 系 计算机科学系 专业0实验时间2017年12月日- 年_月日 温度湿度(一)实验目的通过建立动物识别产生式系统,理解并体会知识库与控制系统相互独立的智 能产生式系统与一般程序的区别。(二)实验要求1. 系统的设计和完成可以使用各种编程语言和实用工具,不采用人工智能语 言和工具,这样能够使你更加了解专家系统。2. 推荐使用语言:C、java、php、javascript 、delphi。也可以
2、使用其他语 言。3如果使用数据库做后台,要求使用最简单的 Access o4.系统可以使用图形界面,简单的也可以使用字符界面,不要求。(三)设计并完成知识库本课程设计的主旨是设计并实现具有 15条规则能自动识别7种动物的产生 式系统。知识库与控制系统相互独立,系统完成后除了能识别已有的7种动物外, 按产生式知识表示方法向知识库中添加、修改新的知识后,系统能在不修改控制 系统程序的情况下仍然能正确识别。1.综合数据库中数据结构说明;产生式通过满足前件,得到后件的结论或者执行后件的相应动作, 即后 件由前件来触发。同时,一个产生式生成的结论可以作为另一个产生式的前提或语言变量使用,进一步可构成产生
3、式系统。因此在通过有关特征识别动物的特征中规定:识别动物的前件(即动物的特征):0:有毛发1:有奶2:有羽毛3:会飞4:会生蛋5:吃肉6:有锋利牙齿7:有爪8:眼向前方9:有蹄10:反刍11:黄褐色皮毛12:有暗斑点13:有黑色条纹 14:长脖子15:长腿16:不会飞17:会游泳18:黑白二色19:善飞产生的中间结果(即动物的类别)20:哺乳动物 最终结论:|21.鸟22.食肉动物23.有蹄类动物24.虎 25.豹26.斑马27.长颈鹿28.企鹅29.鸵鸟30.信天翁于是在综合数据库中,将设定int型数组facts30,数组的编号对应 着以上事实的编号,数组的值为1时,意味着对应编号的事实为真
4、,否则为假。2. 规则的格式的数据结构说明;每条规则都拥有前件与后件,建立规则的数据结构时将前件与后件定义 即可。前件往往有一个或多个,而后件只有一个。为了方便采用序号代替前后件, 因此定义前件为数组int condition6;定义后件int outcome;规则的数据结构也随之敲定。typedef struct /存放规则的结构体,由条件和结果构成皆用序号int型表示int condition6;/ 条件int outcome; / 结论Rule;将15条规则转化为符号:0,20,有毛发一哺乳动物1,20,有奶一哺乳动物2,21,有羽毛一鸟3,4,21,会飞&会生蛋一鸟5,22,吃肉一食肉
5、动物6,7,8,22,有锋利牙齿&有爪別眼向前方一食肉动物20,8,23,哺乳动物&有蹄一有蹄类动物20,9,23,哺乳动物&反刍一有蹄类动物20,22,11,12,25,哺乳动物&食肉动物&有黄褐色皮毛&有暗斑点一豹20,22,11,13,24,哺乳动物&食肉动物&有黄褐色皮毛&有黑色条纹-虎23,14,15,12,27,有蹄类动物&长脖子&长腿&有暗斑点一长颈鹿23,13,26,有蹄类动物&有黑色条纹一斑马21,16,14,15,18,29,鸟&不会飞&长脖子&长腿&黑白两色一鸵鸟21,16,17,18,28,鸟&不会飞&会游泳&黑白两色一企鹅21,19,24;鸟&善飞一信天翁3. 推理机
6、(包括正向和反向推理)过程。在上述规则的基础上,可以利用推理机对给出条件进行推理:(1)正向推理:从下向上进行推理。在建立规则库时需要使子规则在父规则前。在进行正向推理是只要将规则库从前到后遍历下来看是否能由给定规则推出 相应结果即可。通过判断每次与规则匹配得到的结果,如果结果不是动物, 则更新事实库,将此次结果作为前件匹配下一个规则。若有多条规则可用, 则使用冲突消解策略,选取一条规则执行。直到最终结果是动物时,视为 推理成功。具体步骤如下:a. 输入得到当前事实facts,针对15条rules轮流筛查可用规 贝U。b. 将rules所需的前件提取出来与facts中的事实进行比对。若有 多条
7、规则可用时,冲突消解的方法是:选取规则表rules中顺序最前的规 贝U。找到可用规则。扩充facts,重复b步骤。c. 在无可扩充时,检查facts ,若其中没有结果是动物,则推理失.学习帮手.专业整理.败;若其中推理出超过两个动物时,仍记为推理失败。在只有一个结果是 动物时,则推理成功。(2)反向推理:反向推理的思路是从事实库的动物开始从前向后进行匹配,如果所 有动物都不能推出为识别失败,若能推出其中一个,则识别成功。若有多 条规则可用,则从中选出一条规则,将规则的前件添加到综合数据库。具体步骤如下:a. 假设有动物m若其已经在facts中,则假设成立搜索终止。b. 若该假设动物不在fact
8、s中,则从rules中所有后件中含有该动 物m的规则组成表。若该表为空,贝U询问用户 fact的真假,若为真,则 将fact添加到facts,搜索中止。c. 若该表不为空,则逐个判断表内规则是否有规则的全部前件都包 含在facts中,如果有,则证明假设可以直接被推出。识别成功。d. 如果不能直接推出,则重新进行步骤b,直至满足步骤c。这时, 我们认为假设可以被间接推出,识别成功。否则若没有可用规则,则识别 失败。(四)开发环境1. 工具:C-free 5.02. 语言:C+3.OS平台说明:win10(五)综合数据库与推理机1.综合数据库char *a nimalBase = 0.有毛发,1.
9、有奶,2.有羽毛,3.会飞,4.会生蛋,5 .吃肉,6.有锋利牙齿,7.有爪,8.眼向前方,9.有蹄, 10.反刍, 11.有黄褐色皮毛,12.有暗斑点,13.有黑色条纹, 14.长脖子, 15.长腿, 16.不会飞,17.会游泳, 18.黑白二色, 19.善飞I!20.哺乳动物,21.鸟,22.食肉动物,23.有蹄类动物,24.虎,25.豹, 26.斑马,27.长颈鹿,28.企鹅,29.鸵鸟,30.信天翁;5.学习帮手.专业整理.对应以上特征,设定整型数组存储求解过程中产生的各种信息,包括初始 事实、推理得到的中间结论,以及最终结论。int facts30 = 0 ;/记录被选择的事实,初始
10、化都为0,被选择后赋值为1对三种不同的信息进行区分的方法是利用序号区间进行区分。0-19序号部分是存放原始信息,20-23存放的是中间结论,24-30存放了最后的结论。2.推理机推理部分主要使用了两个函数,分别是 deduce函数和animal函数。Deduce函数是用于根据原始信息,进行规则的遍历,不断正向推理的函 数;animal函数是利用deduce函数推理得出的facts数组,即综合数据库,进 行结果的判断,如果推理得出的结果唯一,则返回推理成功的信息,输出最终的 结果,否则判定为推理失败。for (i = 0;i15;i+)/依次对15条规则进行检测j = 0;f = rulei.c
11、on diti on j;while (f != -1)/推理是否满足第i条规则if (factsf = 0)/第i条规则有一个条件不满足,即为不满足该条规则break;/从此次i规则检验循环中跳岀j+;f = rulei.conditionj;/取岀i规则中所需的条件序号if (f = -1)/若经过上一个循环有f=-1 ,则代表满足第i条规则out1 = rulei.outcome;factsout1 = 1;/将得岀的结论加入已知事实printf(运用了规则(%d) :, i);/并输岀所用规则,以便查看j = 0;while (rulei.conditionj != -1)cout a
12、nimalBaserulei.conditionj ; / 输岀规则所用先决条件j+;cout animalBaseout1 endl; / 输岀规则所用结果上述就是Deduce函数的主要内容,取出每一条规则的全部前件与事实库facts中进行比对,若满足该规则,则该规则的后件将会被扩充到facts数组中, 同时也文字输出,以便使用者确认运行过程中使用的规则。遍历完15条规则后,facts数组中就存放了推理得出的全部事实。接下来就将facts数组传入animal函数,从综合数据库中遴选最终结论:int animal( int facts ) /判断知识库中是否有符合描述的动物int i = 24
13、, a = 0, b = 0;/判断有多少结果满足特定动物区间while (i 2,说明有多个动物满足描述条件,仍然不能确定最终结果。 只有当a=1时,有唯一的动物符合描述,这时推理成功,返回该动物的编号并输 出。(六) 实验结果1.输入0 5 11 12 -1(这里末尾输入-1代表结束输入)3会飞7 一有爪1L有黄褐色皮毛15.往阴la H飞21看蹄类动物即输入有毛发、吃肉、有黄褐色皮毛、有暗斑点这四个特点,让系统进行 推理。可得到唯一的结果:豹0一有毛发L有奶2有羽毛4一会生蛋匚有锋利牙憐艮眼向前方9.10,反刍12.有時斑点 有黑色条紅14,栈脖子 応不会飞17.fr游泳13.白二色加哺
14、乳功物21鸟22食离动初请输入动物特征蕭号(-1): 0 0 11 1 1RULE(O): 0.有毛发 20.哺乳勃物25. ftRULE 眾一債肉动物RULE:ZOL哺乳劫物ZZ.-fr肉劫物1L有黄趨色皮毛12-Wffi斑点慨终推理虫您所描述的动物为:跆是否堇新推理:(Y/M2.输入0 2 3 14 17 -1即输入有毛发、有羽毛、会飞、长脖子、会游泳这五个特点交由程序进行推理。由于不存在这样的动物,因此结果是:1.WW2-有羽毛3一会飞4.余牛慣5吃肉6.有镭利牙齿7 WMS.眼向前方d有玮10.反刍1L有黄褐色皮毛吐有暗斑点13.有黑邑黑纹14.栓脖子15.區腿不会飞17.会游泳18.
15、黑自二色19,善飞20.哺乳劲物21.fi22合肉功轲23.有蹄类动物声输人动皈特征辭导结東);0 2 3 14 17 -1klE(O):反有W发 Z0,哺乳动物KITE(2): 有期毛 21.鸟推理失败!没有芫全符合条件的动物.是習重新推理,:Y/N)3.输入20 22 11 12 13 -1即输入哺乳动物、食肉动物、有黄褐色皮毛、有暗斑点、有黑色条纹,根据这五个特点可以推导出两种动物:豹和虎。因此也无法推理出正确的结果卩有毛喪1 一克奶2-有羽毛3一盘飞5.吃肉6.有粋耗牙齿7.WM8.眼向前方9.右蹄10.反刍1L有黄福色皮毛有昂丟点1生有黑隹条纹2一长畔子is 屉BB16.玮会飞1会游
16、沬1圧黑白二色19.善飞面-哺乳幼柳21.522.肉动物23有眸类动物声输入动物特征絢号卜1轴束):20 器 11 1Z 13-1Rllt -lB) : 20. 25.fiRL1E(9)! 20. 乳砂物 盟-您肉动物11.有黄福色皮毛1工有詈色条纹- 24.虎推理失败!没有完全符合爭件的动物口辱否篁新推理:(V/N)(七)实验体会通过本次实验我对于人工智能的产生式系统有了进一步的认识,对于正向推理、反向推理两种基本方式的原理和步骤都加深了理解。尤其是通过设计正向推理机,深切体会到了专家系统是根据知识和推理来求解问题的,这种模式与普通程序完全不同,就像我平日里处理问题时,是收集信息,而后根据常
17、识与知识 得出自己的结论这样的模式,在写这次实验的过程中带来了很新奇的编程体验, 让我受益匪浅。(八)源代码#include #inelude using n amespace std;char *results = 虎,豹,斑马,长颈鹿,”企鹅,鸵鸟,信天翁;char *animalBase = 0.有毛发,1.有奶,2.有羽毛,3.会飞,4.会生蛋,5.吃肉,”6.有锋利牙齿,7.有爪,”8.眼向前方,”9.有蹄, 10.反刍,11.有黄褐色皮毛 ,12.有暗斑点”,13.有黑色条纹,”14.长脖子”,15.长腿”,16.不会飞”,17.会游泳 ,18.黑白二色, 19.善飞,20.哺乳动
18、物,21.鸟, 22.食肉动物,23.有蹄类动物,24.虎 ”,25.豹 ”,”26.斑马 ”,27.长颈鹿,28.企鹅 ”,”29.鸵鸟 ”,”30.信天翁 ” ;typedef struct /存放规则的结构体,由条件和结果构成皆用序号int型表示int condition6;/条件,末尾用-1表示结束int outcome; / 结论 Rule;/有毛发t哺乳动物/有奶t哺乳动物/有羽毛t鸟/会飞&会生蛋t鸟Rule rule15 = / 定义 15 个规则 0,-1 ,20 , 1,-1 ,20 , 2,-1 ,21 , 3,4,-1 ,21 , 5,-1 ,22 , II吃肉t食肉动
19、物 6,7,8,-1 ,22 ,II有锋利牙齿&有爪&眼向前方t食肉动物 20,8,-1 ,23 , 20,9,-1 ,23 ,II哺乳动物&有蹄t有蹄类动物II哺乳动物&反刍t有蹄类动物 20,22,11,12,-1 ,25 , 20,22,11,13,-1 ,24 , 23,14,15,12,-1 ,27 ,II哺乳动物&食肉动物&有黄褐色皮毛&有暗斑点t豹II哺乳动物&食肉动物&有黄褐色皮毛&有黑色条纹t虎II有蹄类动物&长脖子&长腿&有暗斑点T长颈鹿 23,13,-1 ,26 ,II有蹄类动物&有黑色条纹t斑马 21,16,14,15,18,-1 ,29 ,II鸟&不会飞&长脖子&长腿
20、&黑白两色t鸵鸟 21,16,17,18,-1 ,28 ,II鸟&不会飞&会游泳&黑白两色t企鹅 21,19,-1 ,24 ;II鸟&善飞T信天翁int facts30 = 0 ;II记录被选择的事实,初始化都为0,被选择后赋值为1 void list(); II列出事实可供描述者选择void input(); II描述者输入特征事实int deduce(); II推理机根据既得事实推理int animal( int facts ); II判断知识库中是否有符合描述的动物 void list() II列出事实可供描述者选择int i;for (i = 0;i = 30;i+)factsi =
21、0;for (i = 0;i24;i+)if (i % 4 = 0 & i != 0) cout endl; / 每列出 4 个事实换行printf( %-15s , animalBasei); / 列出前 24 个事实void input() II描述者输入特征事实int f = 0; I/f用于接收描述者输入的特征编号cout f;if (f = 0 & f = 23)factsf = 1; II接收描述者输入的事实,并在flag数组将其赋值为1II其余未接收的事实仍为0else if (f != -1)cout error!请输入023之间的数字! endl; II因为这里接收的事实仅限0-23区间内cin. clear();int deduce()cin.syn c();II推理机根据既得事实推理int f;int i, j;int out1;cout endl;for (i = 0;i15;i+) II依次对15条规则进行检测j = 0;f = rulei.c on diti on j;while (f != -1) II推理是否满足第i条规则if (factsf = 0)/第i条规则有一个条件不满足,即为不满足该条规则break;/从此次i规则检验循环中跳出j+;f = rulei.conditionj;/取出i规则中所需的条件序号if (f =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度智能家居系统集成工程承包合同范本
- 2025年度建筑园林景观工程零星合同标准
- 衢州浙江衢州江山市交投人力资源有限公司劳务派遣人员招聘笔试历年参考题库附带答案详解
- 葫芦岛2024年辽宁葫芦岛市绥中县教育局赴高等院校招聘教师92人笔试历年参考题库附带答案详解
- 秦皇岛2025年天津市肿瘤医院秦皇岛医院招聘人事代理人员15人笔试历年参考题库附带答案详解
- 甘肃2025年甘肃煤田地质局一四九队招聘笔试历年参考题库附带答案详解
- 珠海广东珠海高新技术产业开发区创新创业服务中心招聘4名合同制职员笔试历年参考题库附带答案详解
- 河南2025年河南科技大学第一附属医院招聘笔试历年参考题库附带答案详解
- 枣庄2025年山东枣庄市疾病预防控制中心高层次急需紧缺人才招聘笔试历年参考题库附带答案详解
- 杭州浙江杭州市明远未来幼儿园编外教师招聘笔试历年参考题库附带答案详解
- 上海美食介绍
- 《轨道交通工程盾构施工技术》 课件 项目1 盾构发展历史认知
- 2025年低压电工作业证理论全国考试题库(含答案)
- 新人教版三年级下册《道德与法治》教案
- 中国慢性阻塞性肺疾病基层诊疗指南(2024年)解读
- 2024年11月时事政治试题及答案
- 2023年高考真题-化学(福建卷) 含解析
- 天津市-2024年-社区工作者-上半年笔试真题卷
- 红色中国风2025灵蛇贺岁
- 教师校园食品安全培训
- 烈士褒扬课件教学课件
评论
0/150
提交评论