1、2.自己建造产生式系统(包括规则库和事实库),然后进行推理,即可以自己输入任何的规则和事实,并基于这种规则和事实进行推理。这为学生亲手建造产生式系统并进行推理提供了一种有效的实验环境。五、实验步骤:1.定义变量,包括变量名和变量的值。2.建立规则库,其方法是,(a) 输入规则的条件:每条规则至少有一个条件和一个结论,选择变量名,输入条件(符号);选择变量值,按确定按钮就完成了一条条件的输入。重复操作,可输入多条条件;(b) 输入规则的结论:输入完规则的条件后,就可以输入规则的结论了,每条规则必须也只能有一个结论。选择变量名,输入条件(符号),选择变量值,按确定按钮就完成了一个结论的输入。重复以
2、上两步,完成整个规则库的建立。3.建立事实库(总数据库):建立过程同步骤2。重复操作,可输入多条事实。4.然后按“开始”或“单步”按钮即可。此外,利用实例演示,可以运行系统默认的产生式系统,并且可以进行正反向推理。其他的可参见其帮助文件。六、实验流程图和结果:七、程序清单:#includeiomanipusing namespace std;char *animal=企鹅,海燕鸵鸟斑马长颈鹿虎金钱豹;char *feature=有毛产奶有羽毛会飞会下蛋吃肉有犬齿有爪眼睛盯前方有蹄反刍黄褐色有斑点, / 0 1 2 3 4 5 6 7 8 9 10 11 12有黑色条纹长脖长腿不会飞会游泳黑白两
3、色善飞哺乳类鸟类肉食类蹄类 / 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,/规则0 1,-1,20,/规则1 2,-1,21,/规则2 3,4,-1,21,/规则3 20,5,-1,22,/规则4 6,7,8,-1,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,
4、14,15,12,-1,28,/规则10 23,13,-1,27,/规则11 21,14,15,16,-1,26,/规则12 21,19,-1,25,/规则13 21,17,18,16,-1,24;/规则14int 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) cout ti; if(ti=0&ti=24&a=30) return 1; return 0;int inferen
5、ce()/正向推理 int ti; int i,j; int tres;15; j=0; ti=rulei.relationj;=-1) /-1作为结束 if(flagti=0) break; j+; ti=rulei.relationj; if(ti=-1)/ti=-1代表规则满足 tres=rulei.name; flagtres=1;运用了规则%d :,i); while(rulei.relationj!featurerulei.relationjfeaturetres if(IsAnimal(tres) if(i=15) cout没有这种动物 return -1;char q;void main() while(q!=n) menu(); input(); inference();n继续?(Y/N)q; system(cls);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1