资源描述:
《实验一:产生式系统实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验一:产生式系统实验一、实验目的:熟悉和掌握产生式系统的运行机制,掌握基于规则推理的基本方法。二、实验原理产生式系统用来描述若干个不同的以一个基本概念为基础的系统,这个基本概念就是产生式规则或产生式条件和操作对。在产生式系统中,论域的知识分为两部分:用事实表示静态知识;用产生式规则表示推理过程和行为。产生式系统是由一组规则组成的、能够协同作用的推理系统。其模型是设计各种智能专家系统的基础.产生式系统主要由规则库、综合数据库和推理机-:大部分组成。本实验环境主要提供一个能够实现模拟产生式专家系统的验证、设计和开发的可视化操作平台。学生既能用本系统提
2、供的范例进行演示或验证性实验,也能够用它来设计并调试自己的实验模型。三、实验条件:1、产生式系统实验程序。2、IE6.0以上,可以_tInternet四、实验内容:1.对已有的产生式系统(默认的例子)进行演示,同时可以更改其规则库或(和)事实库,进行止反向推理,了解其推理过程和机制。1.自己建造产生式系统(包括规则库和事实库),然后进行推理,即可以自己输入任何的规则和事实,并基于这种规则和事实进行推理。这为学生亲手建造产生式系统并进行推理提供了一种有效的实验环境。五、实验步骤:1.定义变量,包括变量名和变量的值。2・建立规则库,其方法是,(a)输入
3、规则的条件:每条规则至少有一个条件和一个结论,选择变量名,输入条件(符号);选择变量值,按确定按钮就完成了一条条件的输入。重复操作,可输入多条条件;(b)输入规则的结论:输入完规则的条件后,就可以输入规则的结论了,每条规则必须也只能有一个结论。选择变量名,输入条件(符号),选择变量值,按确定按钮就完成了一个结论的输入。重复以上两步,完成整个规则库的建立。2.建立事实库(总数据库):建立过程同步骤2o重复操作,可输入多条事实。3.然后按“开始”或“单步”按钮即可。此外,利用实例演示,可以运行系统默认的产生式系统,并且可以进行正反向推理。其他的可参见其
4、帮助文件。六、实验流程图和结果:飞爪虻腿飞类1593371112色書两类羽犬刍脖白食肉0482261112纹条fe泳奶肉蹄里游类产吃有<■会鸟371159112'力蛋仍点飞类(-7毛下睛斑会贅?有会擘不哺选4入3260厶刖HD毛飞士口士口士口士口幺▼-幺十幺玄/:1111---一03物、选选选选了了这?入入入入用用夏蠻B霧运运鎏七、程序清单:#include#includeusingnamespacestd;char*animal[]={”企鹅T海燕丁鸵鸟;,斑马T长颈鹿丁虎T金钱豹n};char*featur
5、e[]={n有毛T产奶T有羽毛T会飞T会下蛋T吃肉T有犬齿T有爪丁眼睛盯前方T有蹄丁反刍T黄褐色T有斑点”,//0123456789101112”有黑色条纹丁长脖丁长腿丁不会飞丁会游泳丁黑白两色丁善飞T哺乳类丁鸟类T肉食类T蹄类”,//1314151617181920212223”企鹅丁海燕T鸵鸟”,“斑马:,"长颈鹿T虎T金钱豹”};//24252627282930typedefstruct〃存放规则的结构体{intrelation[5];intname;}Rule;Rulerule[15]={{{0,-1},20},//规则0{{1,-1},2
6、0},//规则1{{2,-1},21},//规则2{{3,4,-1},21},//规则3{{20,5,-1),22},//规则4{{6,7,8,-!},22},//规则5{{20,8,-1},23},//规则6{{20,9,-1},23},//规则7{{22,11,12,-1},30},//规则8{{22,11,13,-1),29},//规则9{{23,14,15,12,-1},28},//规则10{{23,13,-1),27},//规则11{{21,14,15,16厂1},26},//规则12{{21,19,-1},25},//规则13{{21,
7、17,18,16,-1},24}};//规则14intflag[23]={0};〃标记各个特征是否选择intIsAnimal(inta);intinference();voidinput();voidmenu();voidmenu(){inti=0;for(i=0;i<24;i++){if(i%4=0&&i!=0)cout«endl;printf(n%-3d.%-15sM,i,featured);voidinput(){intti=0;for(inti=0;i<24;i++){flag[i]=0;}while(ti!=-l){cout«n输入选
8、择(・1结束):”;cin»ti;if(ti>=0&&ti<=23)elseif(ti!=-l){cout«n输入错误!请