您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > 长安大学人工智能实验产生式系统
学生实验报告实验课名称:人工智能实验实验项目名称:产生式系统实验专业名称:计算机科学与技术班级:学号:学生姓名:教师姓名:2014年12月9日一.实验名称:产生式系统实验二.实验目的与要求:1、确定推理方法(正向还是反向),并根据问题设计实现一个简单的不通用推理机(匹配、冲突消解)2、规则库要求至少包含15条规则3、初始事实可以任意给定,输入初始事实后能够得到推理结果4、设计人机界面,解释模块提供查询规则的功能5、可以不考虑知识库管理模块6、提交实验报告7、报告中要有推理树三.实验内容:做一个动物识别系统的规则库:1、对已有的产生式系统(默认的例子)进行演示,同时可以更改其规则库(和)事实库,进行正反向推理,了解其推理过程和机制。2.自己建造产生式系统(包括规则库和事实库),然后进行推理,即可以自己输入任何的规则和事实,并基于这种规则和事实进行推理。这为学生亲手建造产生式系统并进行推理提供了一种有效的实验环境。四.算法描述:在输入框内输入条件abc,根据输入的条件在规则库中进行判断。将判断后的结果加入条件,再进行寻找。流程图如下:String^s1=textBox1-Text;stringss;intflag=0;intflag2=0;MarshalString(s1,ss);for(inti=0;i!=s1-Length;i++){for(intj=48;j!=79;j++){if(ss[i]==j){五.源程序:if(j58){pd[j-48]=1;}if(j58){pd[j-55]=1;}}}}if(flag==0){if(pd[0]==1)pd[9]=1;if(pd[1]==1)pd[9]=1;if(pd[2]==1)pd[10]=1;if(pd[3]==1&&pd[4]==1)pd[10]=1;if(pd[5]==1){pd[14]=1;textBox2-AppendText(该动物是食肉动物\n);}if(pd[6]==1&&pd[7]==1&&pd[8]==1){pd[14]=1;textBox2-AppendText(该动物是食肉动物\n);}if(pd[9]==1&&pd[12]==1)pd[11]=1;if(pd[9]==1&&pd[13]==1)pd[11]=1;}if(flag==0){if(pd[9]==1&&pd[10]==0){textBox2-AppendText(该动物是哺乳动物\n);if(pd[12]==1&&pd[5]==0)textBox2-AppendText(该动物是蹄类动物\n);if(pd[13]==1&&pd[5]==0)textBox2-AppendText(该动物是蹄类动物\n);}if(pd[10]==1&&pd[9]==0){textBox2-AppendText(该动物是鸟类动物\n);}}if(flag==0){if(pd[9]==1&&pd[10]==0&&pd[14]==1&&pd[15]==1&&pd[16]==1&&pd[11]==0&&pd[17]==0){textBox2-AppendText(是黄褐色\n);textBox2-AppendText(身上有暗斑点\n);textBox2-AppendText(是金钱豹\n);flag2=1;}if(pd[9]==1&&pd[10]==0&&pd[14]==1&&pd[15]==1&&pd[16]==0&&pd[11]==0&&pd[17]==1){textBox2-AppendText(是黄褐色\n);textBox2-AppendText(身上有黑色条纹\n);textBox2-AppendText(是老虎\n);flag2=1;}if(pd[9]==1&&pd[10]==0&&pd[14]==0&&pd[11]==1){if(pd[18]==1&&pd[19]==1&&pd[16]==1&&pd[17]==0){textBox2-AppendText(有长脖子\n);textBox2-AppendText(有长腿\n);textBox2-AppendText(身上有暗斑点\n);textBox2-AppendText(该动物是长颈鹿\n);flag2=1;}if(pd[18]==0&&pd[19]==0&&pd[16]==0&&pd[17]==1){textBox2-AppendText(身上有黑色条纹\n);textBox2-AppendText(该动物是斑马\n);flag2=1;}}if(pd[9]==0&&pd[10]==1){if(pd[18]==1&&pd[19]==1&&pd[20]==1&&pd[21]==1&&pd[22]==0&&pd[23]==0){textBox2-AppendText(有长脖子\n);textBox2-AppendText(有长腿\n);textBox2-AppendText(不会飞\n);textBox2-AppendText(有黑白二色\n);textBox2-AppendText(该动物是鸵鸟\n);flag2=1;}if(pd[22]==1&&pd[20]==1&&pd[21]==1&&pd[18]==0&&pd[19]==0&&pd[23]==0){textBox2-AppendText(会游泳\n);textBox2-AppendText(不会飞\n);textBox2-AppendText(是黑白二色\n);textBox2-AppendText(该动物是企鹅\n);flag2=1;}if(pd[23]==1&&pd[18]==0&&pd[19]==0&&pd[20]==0&&pd[21]==0&&pd[22]==0){textBox2-AppendText(善飞\n);textBox2-AppendText(该动物是信天翁\n);flag2=1;}}if(flag2==0){textBox2-AppendText(对不起,没有这种动物\n);}}}六.运行结果与分析:七.实验中遇到的问题、解决方法及体会:在实验过程中遇到了一些问题。我在进行ASCII码判断的时候发现总是最后一个条件设置为true,每次都判断不正确。经过好久发现我在设计判断算法的时候,想节省时间进行判断,结果把23号判断条件默认设置为true。通过这次实验,我感觉到自己的基础知识不太扎实。但是在通过实验以后,我进行了复习和巩固之后就比以前理解的更加深刻了。
本文标题:长安大学人工智能实验产生式系统
链接地址:https://www.777doc.com/doc-1976249 .html