收藏 分销(赏)

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

上传人:xrp****65 文档编号:7451679 上传时间:2025-01-05 格式:DOC 页数:7 大小:105.50KB
下载 相关 举报
人工智能专家系统实验.doc_第1页
第1页 / 共7页
人工智能专家系统实验.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述
河南城建学院 《 人工智能 》实验报告 实验名称:__实验四 名称实现一个基于产生式系统的小型专家系统(动物识别) 成绩: 专业班级:  0814112 学号:  081411202   姓名:  xxxxxxxxxxxx   实 验 日 期 :  2014 年  5 月  20   日  实验器材:VC6.0软件,多媒体计算机。 一、实验目的 掌握产生式系统的运行机制和基于规则推理的基本方法。通过一个实例了解小型专家系统的结构、设计和实现过程,初步掌握专家系统的设计和实现方法。 二、实验要求 设计并实现一个某领域的小型专家系统(动物识别),该系统能对输入的询问回答分类或预测的结果,并根据推理过程回答“为什么”或“怎样得出该结论”的问题。 三、实验步骤 (1)定义变量,包括变量名和变量的值。 (2)建立规则库,其方法是: (a) 输入规则的条件:每条规则至少有一个条件和一个结论,选择变量名,输入条件(符号);选择变量值,按确定按钮就完成了一条条件的输入。重复操作,可输入多条条件; (b) 输入规则的结论:输入完规则的条件后,就可以输入规则的结论了,每条规则必须也只能有一个结论。选择变量名,输入条件(符号),选择变量值,按确定按钮就完成了一个结论的输入。重复以上两步,完成整个规则库的建立。 (3)建立事实库(总数据库):建立过程同步骤2。重复操作,可输入多条事实。 该动物识别专家系统由15条规则组成,可以识别七种动物,在15条规则中,共出现 30个概念(也称作事实),共30个事实,每个事实给一个编号,从编号从1到30,在规则对象中我们不存储事实概念,只有该事实的编号,同样规则的结论也是事实概念的编号,事实与规则的数据以常量表示,其结构如下: char *feature[]={"有毛","产奶","有羽毛","会飞","会下蛋","吃肉","有犬齿","有爪","眼睛盯前方","有蹄","反刍","黄褐色","有斑点","有黑色条纹","长脖","长腿","不会飞","会游泳","黑白两色","善飞","哺乳类","鸟类","肉食类","蹄类","企鹅","海燕","鸵鸟","斑马","长颈鹿","虎","金钱豹"}; 存放规则的结构体: typedef struct { int relation[5]; int name; }Rule; 存放产生式规则推理过程的数组: Rule rule[15]={ {{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} }; 程序用编号序列的方式表达了产生式规则,如资料中规则14,如果动物是鸟,且是肉食类,则该动物对应事实数组的第二十五个“海燕”。如资料中规则12,如果动物是蹄类,且有黑色条纹,则该动物对应事实数组的第二十七个“斑马”。 (4)按“开始”或“单步”按钮即可。 此外,利用实例演示,可以运行系统默认的产生式系统,并且可以进行正反向推理。其他的可参见其帮助文件。 三、 源代码 #include<iostream> #include<iomanip> using namespace std; char *animal[]={"企鹅","海燕","鸵鸟","斑马","长颈鹿","虎","金钱豹"}; char *feature[]={"有毛","产奶","有羽毛","会飞","会下蛋","吃肉","有犬齿","有爪","眼睛盯前方","有蹄","反刍","黄褐色","有斑点", //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 typedef struct //存放规则的结构体 { int relation[5]; int name; }Rule; Rule rule[15]={ {{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}, {{21,14,15,16,-1},26}, {{21,19,-1},25}, {{21,17,18,16,-1},24}}; int flag[23]={0};//标记各个特征是否选择 int IsAnimal(int a); int inference(); void input(); void menu(); void menu() { int i=0; for(i=0;i<24;i++) { if(i%4==0&&i!=0) { cout<<endl; } printf("%-3d.%-15s",i,feature[i]); } } void input() { int ti=0; for(int i=0;i<24;i++) { flag[i]=0; } while(ti!=-1) { cout<<"\n输入选择(-1结束):"; cin>> ti; if(ti>=0&&ti<=23) flag[ti]=1; else if(ti!=-1) { cout<<"输入错误!请输入0~23之间的数字!"<< endl; //notanimal=25 cin.clear();//清除流错误错误标 cin.sync(); ////////////清空输入缓冲区 } } } int IsAnimal(int a) { if(a>=24&&a<=30) return 1; else return 0; } int inference()//正向推理 { int ti; int i,j; int tres; cout<<endl; for(i=0;i<15;i++) { j=0; ti=rule[i].relation[j]; while(ti!=-1) //-1作为结束 { if(flag[ti]==0) break; j++; ti=rule[i].relation[j]; } if(ti==-1)//ti==-1代表规则满足 { tres=rule[i].name; flag[tres]=1; printf("运用了规则%d : ",i); j=0; while(rule[i].relation[j]!=-1) { cout<<feature[rule[i].relation[j]]<<" "; j++; } cout<<"====> "<<feature[tres]<<endl; if(IsAnimal(tres)) { return 1; } } } if(i==15) { cout<<"没有这种动物"; } return -1; } void main() { char q; while(q!='n') { menu(); input(); inference(); cout<<"\n继续?(Y/N)"<<endl; cin>>q; system("cls"); } } 四、 结果分析 1、若已知:动物是蹄类(23),且有黑色条纹(13),则结果:该动物对应事实数组的第27个“斑马”。使用了推理规则12,即:{{23,13,-1},27},使用规则运行结果如图1所示: 图1 2、若已知:动物是鸟类(21),且是肉食类(19),则结果该动物对应事实数组的第25个“海燕”。使用了推理规则14,即:{{21,19,-1},25},使用规则运行结果如图2所示: 图2 五、 心得体会 本实验环境主要提供一个能够实现模拟产生式专家系统的验证、设计和开发的可视化操作平台。使用户既能用本系统提供的范例进行演示或验证性实验,也能够用它来设计并调试自己的实验模型 。 通过这次实验,我对产生式系统有了更深刻的认识。产生式系统是由一组规则组成的、能够协同作用的推理系统。其模型是设计各种智能专家系统的基础 .产生式系统主要由规则库、综合数据库和推理机三大部分组成。产生式系统用来描述若干个不同的以一个基本概念为基础的系统,这个基本概念就是产生式规则或产生式条件和操作对。在产生式系统中,论域的知识分为两部分:用事实表示静态知识;用产生式规则表示推理过程和行为。专家系统的规则是由专家定的,在该实验中,是由本人制定的。 教师评语: 教师签名: 7
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服