人工智能专家系统实验_第1页
人工智能专家系统实验_第2页
人工智能专家系统实验_第3页
人工智能专家系统实验_第4页
人工智能专家系统实验_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵋嵋intrelation[5];的河南城建学院M«人工智能》实验报告肇I!实验名称: 实验四名称实现一个基于产生式系统的小型专家系统(动物识别)膈成绩:专业班级: 0814112蚂学号: 081411202姓名:xxxxxxxxxxxx胭实验日期:2014年5月20日菜实验器材:VC6.0软件,多媒体计算机。英一、实验目的蔓掌握产生式系统的运行机制和基于规则推理的基本方法。通过一个实例了解小型专家系统的结构、设计和实现过程,初步掌握专家系统的设计和实现方法。芾二、实验要求祎设计并实现一个某领域的小型专家系统(动物识别),该系统能对输入的询问回答分类或预测的结果,并根据推理过程回答“为什么”或“怎样得出该结论”的问题。黄三、实验步骤芳(1)定义变量,包括变量名和变量的值。勘⑵建立规则库,其方法是:舞(a)输入规则的条件:每条规则至少有一个条件和一个结论,选择变量名,输入条件(符号);选择变量值,按确定按钮就完成了一条条件的输入。重复操作,可输入多条条件;腿(b)输入规则的结论:输入完规则的条件后,就可以输入规则的结论了,每条规则必须也只能有一个结论。选择变量名,输入条件(符号) ,选择变量值,按确定按钮就完成了一个结论的输入。重复以上两步,完成整个规则库的建立。肇(3)建立事实库(总数据库):建立过程同步骤2。重复操作,可输入多条事实。荽该动物识别专家系统由15条规则组成,可以识别七种动物,在15条规则中,共出现30个概念(也称作事实),共30个事实,每个事实给一个编号,从编号从1到30,在规则对象中我们不存储事实概念,只有该事实的编号,同样规则的结论也是事实概念的编号,事实与规则的数据以常量表示,其结构如下:英char*feature口={" 有毛","产奶","有羽毛","会飞","会下蛋","吃肉","有犬齿","有爪","眼睛盯前方","有蹄","反刍","黄褐色","有斑点”,”有黑色条纹","长脖","长腿","不会飞","会游泳","黑白两色","善飞","哺乳类","鸟类","肉食类","蹄类","企鹅","海燕","鸵鸟","斑马","长颈鹿","虎","金钱豹}募存放规则的结构体:犀typedefstruct«{intname;未勺}Rule;菱存放产生式规则推理过程的数组:滕Rulerule[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,斑马”如果动物是蹄类,且有黑色条纹,则该动物对应事实数组的第二十七个斑马”肆⑷按“开始”或“单步”按钮即可。噩此外,利用实例演示,可以运行系统默认的产生式系统,并且可以进行正反向推理。其他的可参见其帮助文件。二、四、妨源代码羁#include<iostream>瞧#include<iomanip>肃usingnamespacestd;膂char*animal[]={"企鹅","海燕","鸵鸟","斑马","长颈鹿","虎","金钱豹}蛰char*feature[]={"有毛","产奶","有羽毛","会飞","会下蛋","吃肉","有犬齿","有爪","眼睛盯前方","有蹄","反刍","黄褐色","有斑点”,TOC\o"1-5"\h\z瞧 〃0 1 2 3 4 56 7 8 9 10 11 12蔻 ”有黑色条纹"「长脖","长腿","不会飞","会防^泳","黑白两色","善飞","哺乳类","鸟类","肉食类","蹄类",袄 //13 14 15 16 17 1819 20 21 22 23盾 "企鹅","海燕","鸵鸟","斑马","长颈鹿","虎","金钱豹"};修 //24 25 26 27 28 29 30袅typedefstruct//存放规贝^的结构体节{蔽intrelation[5];蚕intname;黄}Rule;肄Rulerule[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}};蒂intflag[23]={0};〃标记各个特征是否选择蚀intIsAnimal(inta);聿intinference。;噩voidinput();袁voidmenu();>voidmenu()膈 inti=0;蒲for(i=0;i<24;i++)TOC\o"1-5"\h\z膈 {芈 if(i%4==0&&i!=0)薄 {羁 cout<<endl;范 }芨 printf("%-3d.%-15s”,i,feature[i]);箍}辑voidinput()曹{莆 intti=0;膀 for(inti=0;i<24;i++)TOC\o"1-5"\h\z蝇 {曹 flag[i]=0;帔 }袂 while(ti!=-1)腿 {> cout<<"\n输入选择(-1结束):"裂 cin>>ti;基基 inttres;基基 inttres;薄 if(ti>=0&&ti<=23)薄 flag[ti]=1;妍 elseif(ti!=-1)充 {建 cout<<"输入错误!请输入0~23之间的数字!"<<endl;〃notanimal=25箴 cin.clear();//清除流错误错误标蟆 cin.sync();////////////清空输入缓冲区蛔 }螭}肇}wintIsAnimal(inta)肆{节if(a>=24&&a<=30)赚 return1;赣else荒 return0;肄}»intinference。//正向推理肇{妨 int ti;前 inti,j;« inference« inference。;腿菜奠蔓腿菜奠蔓芾祎荒芳勘肇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代表规则满足TOC\o"1-5"\h\z蠢 {腿 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)){return1;}}}if(i==15){cout<<"没有这种动物";}return-1;祎voidmain()月n{薄 charq;腿 while(q!='n')噩 {薄 menu();辐 input();

肆cout<<"\n继续?(Y/N)"<<endl;* cin>>q;亵 system("cls");膀 }六、节结果分析筮1、若已知:动物是蹄类(23),且有黑色条纹(13),则结果:该动物对应事实数组的第27个“斑马”。使用了推理规则12,即:{{23,13,-1},27},使用规则运行结果如图1所示:色飞爪褐腿飞类会有黄长善蹄15933色飞爪褐腿飞类会有黄长善蹄159337111,2色毛齿两类>犬刍脖白食有有反长黑肉BK・+4W04820^--6-1A111±纹条吉泳1奶肉蹄黑游类一产吃有有会鸟19371211±-Lo1±).束方结1蛋牛点飞类L毛下睛斑会乳择有会眼有不哺选048121620输输入选择(-1结束):输入选择(-1结束)・运用了规则:鸟类善飞==>海燕继续?(Y/N)英图1蜜2、若已知:动物是鸟类(21),且是肉食类(19),则结果该动物对应事实数组的第25个“海燕”。使用了推理规则14,即:{{21,19,-1},25},使用规则运行结果如图2所示:色飞爪褐腿飞类会有黄长善蹄・«■■«1593色飞爪褐腿飞类会有黄长善蹄・«■■«1593371112-三一毛齿两类羽犬刍脖白食有背反长黑肉n«■■♦・0482261112纹条缶泳1奶肉蹄黑游类一产吃有有会鸟13XJ,束方结前-1蛋盯点飞类L毛下睛斑会乳择有会眼有不哺选**•*”,入26O俞048112辎输入选择(-1结束):输入选择(-1结束):,用了规则11:蹄类有黑色条纹二—>斑马继续?(Y/N)斯图2七、八、蜩心得体会肄本实验环境主要提供一个能够实现模拟产生式专家系统的验证、设计和开发的可视化操作平台。使用户既能用本系统提供的范例进行演示或验证性实验, 也能够用它来设计并调试自己的实验模型。蔓通过这次实验,我对产生式系统有了更深刻的认识。产生式系统是由一组规则组成的、能够协同作用的推理系统。具模型是设计各种智能专家系统的基础.产

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论