人工智能专家系统实验.doc

上传人:夏** 文档编号:544100476 上传时间:2022-10-20 格式:DOC 页数:7 大小:105.51KB
返回 下载 相关 举报
人工智能专家系统实验.doc_第1页
第1页 / 共7页
人工智能专家系统实验.doc_第2页
第2页 / 共7页
人工智能专家系统实验.doc_第3页
第3页 / 共7页
人工智能专家系统实验.doc_第4页
第4页 / 共7页
人工智能专家系统实验.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《人工智能专家系统实验.doc》由会员分享,可在线阅读,更多相关《人工智能专家系统实验.doc(7页珍藏版)》请在金锄头文库上搜索。

1、河南城建学院 人工智能 实验报告实验名称:_实验四 名称实现一个基于产生式系统的小型专家系统(动物识别) 成绩: 专业班级: 0814112 学号: 081411202 姓名: xxxxxxxxxxxx 实验日期 :2014 年 5 月 20 日实验器材:VC6.0软件,多媒体计算机。一、实验目的掌握产生式系统的运行机制和基于规则推理的基本方法。通过一个实例了解小型专家系统的结构、设计和实现过程,初步掌握专家系统的设计和实现方法。二、实验要求设计并实现一个某领域的小型专家系统(动物识别),该系统能对输入的询问回答分类或预测的结果,并根据推理过程回答“为什么”或“怎样得出该结论”的问题。三、实验

2、步骤(1)定义变量,包括变量名和变量的值。(2)建立规则库,其方法是:(a) 输入规则的条件:每条规则至少有一个条件和一个结论,选择变量名,输入条件(符号);选择变量值,按确定按钮就完成了一条条件的输入。重复操作,可输入多条条件;(b) 输入规则的结论:输入完规则的条件后,就可以输入规则的结论了,每条规则必须也只能有一个结论。选择变量名,输入条件(符号),选择变量值,按确定按钮就完成了一个结论的输入。重复以上两步,完成整个规则库的建立。(3)建立事实库(总数据库):建立过程同步骤2。重复操作,可输入多条事实。该动物识别专家系统由15条规则组成,可以识别七种动物,在15条规则中,共出现 30个概

3、念(也称作事实),共30个事实,每个事实给一个编号,从编号从1到30,在规则对象中我们不存储事实概念,只有该事实的编号,同样规则的结论也是事实概念的编号,事实与规则的数据以常量表示,其结构如下:char *feature=有毛,产奶,有羽毛,会飞,会下蛋,吃肉,有犬齿,有爪,眼睛盯前方,有蹄,反刍,黄褐色,有斑点,有黑色条纹,长脖,长腿,不会飞,会游泳,黑白两色,善飞,哺乳类,鸟类,肉食类,蹄类,企鹅,海燕,鸵鸟,斑马,长颈鹿,虎,金钱豹;存放规则的结构体:typedef struct int relation5; int name;Rule;存放产生式规则推理过程的数组:Rule rule1

4、5=0,-1,20,1,-1,20,2,-1,21,3,4,-1,21,20,5,-1,22,6,7,8,-1,22,20,8,-1,23,20,9,-1,23,22,11,12,-1,30,22,11,13,-1,29,23,14,15,12,-1,28,23,13,-1,27,/如果动物是蹄类(23),且有黑色条纹(13),则该动物对应事实数组的第27个“斑马”21,14,15,16,-1,26,21,19,-1,25,/如果动物是鸟类(21),且是肉食类(19),则该动物对应事实数组的第25个“海燕”。21,17,18,16,-1,24;程序用编号序列的方式表达了产生式规则,如资料中规则

5、14,如果动物是鸟,且是肉食类,则该动物对应事实数组的第二十五个“海燕”。如资料中规则12,如果动物是蹄类,且有黑色条纹,则该动物对应事实数组的第二十七个“斑马”。(4)按“开始”或“单步”按钮即可。此外,利用实例演示,可以运行系统默认的产生式系统,并且可以进行正反向推理。其他的可参见其帮助文件。三、 源代码#include#includeusing namespace std;char *animal=企鹅,海燕,鸵鸟,斑马,长颈鹿,虎,金钱豹;char *feature=有毛,产奶,有羽毛,会飞,会下蛋,吃肉,有犬齿,有爪,眼睛盯前方,有蹄,反刍,黄褐色,有斑点, /0 1 2 3 4 5

6、 6 7 8 9 10 11 12 有黑色条纹,长脖,长腿,不会飞,会游泳,黑白两色,善飞,哺乳类,鸟类,肉食类,蹄类, /13 14 15 16 17 18 19 20 21 22 23 企鹅,海燕,鸵鸟,斑马,长颈鹿,虎,金钱豹; /24 25 26 27 28 29 30typedef struct /存放规则的结构体int relation5; int name;Rule;Rule rule15=0,-1,20,1,-1,20,2,-1,21,3,4,-1,21,20,5,-1,22,6,7,8,-1,22,20,8,-1,23,20,9,-1,23,22,11,12,-1,30,22

7、,11,13,-1,29,23,14,15,12,-1,28,23,13,-1,27,21,14,15,16,-1,26,21,19,-1,25,21,17,18,16,-1,24;int flag23=0;/标记各个特征是否选择int IsAnimal(int a);int inference();void input();void menu();void menu()int i=0; for(i=0;i24;i+)if(i%4=0&i!=0)coutendl;printf(%-3d.%-15s,i,featurei); void input()int ti=0;for(int i=0;i2

8、4;i+)flagi=0;while(ti!=-1)cout ti;if(ti=0&ti=23)flagti=1;else if(ti!=-1) cout输入错误!请输入023之间的数字!=24&a=30)return 1; else return 0;int inference()/正向推理 int ti; int i,j; int tres; coutendl; for(i=0;i15;i+) j=0; ti=rulei.relationj; while(ti!=-1) /-1作为结束 if(flagti=0) break; j+; ti=rulei.relationj; if(ti=-1

9、)/ti=-1代表规则满足 tres=rulei.name; flagtres=1; printf(运用了规则%d : ,i); j=0; while(rulei.relationj!=-1) coutfeaturerulei.relationj ; j+; cout featuretresendl; if(IsAnimal(tres) return 1; if(i=15) cout没有这种动物; return -1; void main() char q; while(q!=n) menu(); input(); inference(); coutn继续?(Y/N)q; system(cls

10、); 四、 结果分析1、若已知:动物是蹄类(23),且有黑色条纹(13),则结果:该动物对应事实数组的第27个“斑马”。使用了推理规则12,即:23,13,-1,27,使用规则运行结果如图1所示:图12、若已知:动物是鸟类(21),且是肉食类(19),则结果该动物对应事实数组的第25个“海燕”。使用了推理规则14,即:21,19,-1,25,使用规则运行结果如图2所示:图2五、 心得体会本实验环境主要提供一个能够实现模拟产生式专家系统的验证、设计和开发的可视化操作平台。使用户既能用本系统提供的范例进行演示或验证性实验,也能够用它来设计并调试自己的实验模型 。通过这次实验,我对产生式系统有了更深刻的认识。产生式系统是由一组规则组成的、能够协同作用的推理系统。其模型是设计各种智能专家系统的基础 .产生式系统主要由规则库、综合数据库和推理机三大部分组成。产生式系统用来描述若干个不同的以一个基本概念为基础的系统,这个基本概念就是产生式规则或产生式条件和操作对。在产生式系统中,论域的知识分为两部分:用事实表示静态知识;用产生式规则表示推理过程和行为。专家系统的规则是由专家定的,在该实验中,是由本人制定的。教师

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号