




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实用文档基于web的动物识别系统一、实验目的理解和掌握产生式知识表示方法及产生式系统的基本过程,能够利用Web编程技术建立一个基于产生式知识表示的简单的智能系统。二、实验环境(1)硬件环境:网络环境中的微型计算机。(2)软件环境:Windows操作系统,MicrosoftVisualStudioC#语言。三、实验原理该系统用到的表示方法是产生式表示方法,是陈述性知识表示方法的一种。3.1产生式表示的基本方法(1)事实的表示在产生式表示方法中,事实通常是用三元组或四元组来表示的。对确定性知识,一个事实可用一个三元组(对象,属性,值)或(关系,对象1,对象2)来表示。这种表示方式,在机器内部可用一个表来实现。(2)规则的表示规则描述的事物间的因果关系。规则的产生式表示形式常称为产生式规则,简称为产生式,或规则。其基本形式为P→Q或者IFPTHENQ其中,P是产生式的前提,也称为产生式的前件,它给出了该产生式可否使用的先决条件,用事实的逻辑组合来构成;Q是一组结论或操作,也成为产生式的后件,它指出当前提P满足时应该推出的结论或应该执行的操作。产生式的含义是:如果前提P满足,则可推出结论Q或执行Q所规定的操作。 2.产生式系统的基本结构及过程 通常,把用产生式知识表示方法构造的智能系统统称为产生式系统。一个产生式系统的基本结构包括综合数据库、规则库和控制系统这三个主要部分。2.1综合数据库 综合数据库也称为事实库,是一个用来存放与求解问题有关的各种当前信息的数据结构。在推理过程中,当规则库中某条规则的前提可以和综合数据库中的已知事实相匹配时,该规则被激活,由它推出的结论将被作为新的事实放入综合数据库,成为后面推理的已知事实。 2.2规则库规则库是一个用来存放与求解问题有关的所有规则的集合。它包含了将问题从初始状态转换成目标状态所需要的所有变换规则。2.3控制系统控制系统也成为推理机,它由一组程序组成,用来控制整个产生式系统的运行,决定问题求解过程的推理路线,实现对问题的求解。其主要工作如下: (1)按一定策略从规则库中选择规则与综合数据库的已知事实进行匹配。 (2)当匹配成功的规则多于一条时,推理机构应该能够按照某种策略从中选出一条规则去执行。 (3)对要执行的规则,如果该规则的后件不是问题的目标,则当其为一个或多个结论时,把这些结论加入到综合数据库中;当其为一个或多个操作时,执行这些操作。(4)对要执行的规则,如果该规则的后件满足问题的结束条件,则停止推理。 (5)在问题求解过程中,记住应用过的规则序列,以便最终能够给出问题的解路径。3.产生式系统的基本过程产生式系统问题求解的基本过程:(1)初始化综合数据库,把欲解决问题的已知事实送入综合数据库。(2)检查规则库中是否存在尚未使用过的规则,若有,则执行(3);否则,转(7)。(3)检查规则库中的未使用规则中是否有其前提可与综合数据库中已知事实相匹配的规则,若有,则从中选择一个;否则,转(6)。(4)执行当前选种规则,并对该规则加上标记,把执行该规则后所得到的结论作为新的事实放入综合数据库。如果该规则的结论是一些操作,则执行这些操作。(5)检查综合数据库中是否包含了该问题的解,若已包含,则说明求出解,问题求解过程结束;否则,转(2)。(6)当规则库中还有未使用的规则,但均不能与综合数据库中的已有事实相匹配时,要求用户进一步提供关于该问题的已知事实,若能提供,则转(2);否则,说明该问题无解,终止求解过程。(7)若知识库中不再有未使用规则,也说明该问题无解,终止问题求解过程。需要说明的是,这个过程是不确定的。原因是第(3)步没有明确指出当有多余规则可用时,如何从中选择一条作为当前可执行规则。另外,从第(3)步到第(5)步的循环过程实际上就是一个搜索过程。当采用的控制策略不同时,所得到的搜索过程也不同。四、实验内容4.1基本功能简介本动物识别系统可以识别老虎、金钱豹、斑马、长颈鹿、企鹅、信天翁这6种动物。其规则库包含如下15条规则:r1:IF 该动物有毛发 THEN 该动物是哺乳动物r2:IF该动物有奶 THEN 该动物是哺乳动物r3:IF该动物有羽毛 THEN 该动物是鸟r4:IF该动物会飞 AND 会下蛋 THEN 该动物是鸟r5:IF该动物吃肉 THEN 该动物是肉食动物r6:IF该动物有犬齿 AND 有爪 AND 眼盯前方THEN 该动物是肉食动物r7:IF该动物哺乳动物 AND 有蹄 THEN 该动物是蹄类动物r8:IF该动物哺乳动物 AND 是嚼反刍动物 THEN 该动物是蹄类动物r9:IF该动物哺乳动物 AND 是肉食动物 AND是黄褐色AND 身上有暗斑点 THEN 该动物是金钱豹r10:IF该动物哺乳动物 AND 是肉食动物 AND是黄褐色AND 身上有黑色条纹 THEN 该动物是虎r11:IF该动物是蹄类动物AND 有长脖子 AND 有长腿AND 身上有暗斑点 THEN 该动物是长颈鹿r12:IF该动物是蹄类动物AND 身上有黑色条纹 THEN 该动物是斑马r13:IF该动物是鸟 AND 有长脖子 AND 有长腿 AND 不会飞THEN该动物是鸵鸟r14:IF该动物是鸟 AND 会游泳 AND 不会飞 AND 有黑白二色THEN该动物是企鹅r15:IF该动物是鸟 AND 善飞 THEN 该动物是信天翁注:在这里,必须前件都满足,结果才会成立。比如,r1和r2,必须既有毛发又有奶,才能判定是哺乳动物。4.2识别算法说明4.2.1算法的文字说明本识别算法为仿产生式识别算法,其思想基于产生式算法,但根据实际情况作了稍许改进。算法步骤如下:1)获得出入参数:事实集infors和规则集rules;初始化参数match=false和changed=false,这两个参数分别表示是否成功匹配(历次)和本次循环是否找到匹配。2)判断match==false||changed==ture,是转第三步;否则转7;3)对rules中的每一个规则,对其结果进行搜寻,找到相同结果的规则项,组成一个集合cur_rules;4)对cur_rules中的每一个前件,在infor中寻找匹配。若均能找到匹配则转5,否则转6;5)changed=true;match=true;根据cur_rules中的规则,对infors进行更新,将参与产生规则的事实删去,得到的新结果作为事实加入。转步骤2。6)changed=false。若changed==false||match==false,则无能匹配的规则,转7);否则转2。7)若match==false转8;否则转9。8)将res置空,temp_res置“匹配失败”,返回。9)返回所以能够匹配的结果res,temp_res置“匹配结果为:”。注:本算法将所有前件能够匹配的规则的结果均作为最终结果输出4.2.2流程图4.2.3核心代码及注释如下: boolmatch=false;inti=0;stringres="";stringtemp_res="";boolchanged=false;while(match==false||changed==true){DataStructtemp_infor=newDataStruct();//infor是事实库,为规则前件;DataStructtemp_result=newDataStruct();//result是结果库,为规则后件;changed=false;for(i=0;i<rule_dt.Rows.Count;)//对于规则库中的每一条规则{res=rule_dt.Rows[i]["Result"].ToString();//当前规则的结果//与当前规则相同的规则的集合DataRow[]rows=rule_dt.Select(@"Result='"+res+"'andRuleID='"+rule_dt.Rows[i]["RuleID"].ToString()+"'");for(intj=0;j<rows.Length;j++)//对于当前集合中的每一个规则{if(infor_data.Search(rows[j]["Infor"].ToString())!=-1)//如果可以在已知事实库中找到该规则的前件{if(j==rows.Length-1)//当集合中规则的全部前件均能找到{for(intk=0;k<=j;k++){If(temp_infor.Search(rows[k]["Infor"].ToString())==-1){temp_infor.Insert(rows[k]["Infor"].ToString());}}if(temp_result.Search(res)==-1){temp_res=temp_res+res+".";temp_result.Insert(res);}changed=true;match=true;break;}}else{break;}}i+=rows.Length;if(match==true){}}//当无匹配结果时的处理if(match==false&&changed==false){temp_res+="根据选择信息无法识别出结果!";res="";break;}//把已经用过的infor从事实库中删除for(intk=0;k<temp_infor.NumOfElements;k++){infor_data.Delete(temp_infor.Array[k]);}//把新得到的结果加入事实库for(intk=0;k<temp_result.NumOfElements;k++){infor_data.Insert(temp_result.Array[k]);}}
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业企业出纳试题及答案
- 职场沟通中的职务变化应对试题及答案
- 社交媒体在2025年文化传播中的民族品牌塑造与舆论引导策略报告
- 天然气水合物(可燃冰)开采技术国际合作政策与机遇预研报告
- 制造业2025年数据治理与产业协同创新策略研究报告
- 江苏省苏州市常熟市2024-2025学年高三下学期第一次质检英语试题含解析
- 如何提升家具设计中的用户满意度试题及答案
- 春晚小品测试题及答案
- 电商直播领域主播与品牌合作新趋势2025年风险控制报告
- 四川省德阳市2025年第二学期期初测试高三化学试题含解析
- 不分手协议书合同书
- 2025年护士执业资格考试题库基础护理学专项:新生儿护理操作要点试题
- 2025届高三语文4月名校联考作文汇编(审题+立意+范文)
- GB/T 5453-2025纺织品织物透气性的测定
- 国企人事专员笔试试题及答案
- 2025年甘肃兰州建设投资(控股)集团有限公司招聘笔试参考题库附带答案详解
- IIT临床研究培训
- 污水处理厂设备运行的管理及维护措施
- 1-江苏省冶金等工贸企业安全生产标准化运行质量审计评分表-
- 弘扬航天精神拥抱星辰大海!课件高一上学期载人航天主题班会
- 《excel数据分析》课件
评论
0/150
提交评论