动物识别专家系统上机报告含源代码-报告.docVIP

动物识别专家系统上机报告含源代码-报告.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
动物识别专家系统上机报告含源代码-报告

动物识别专家系统上机报告含源代码-报告 一、试验题目 动物识别专家系统 二、试验内容 动物识别专家系统是流行的专家系统实验模型,它用来产生式规则表示知识,共15条规则、可以识别七种动物,这些规则既少又简单,可以改造他们,也可以加进新的规则,还可以用来识别其他东西的新规则来取代这些规则。动物识别15条规则的中文表示是: 规则1: 如果:动物有毛发 则? :该动物是哺乳动物 规则2: ??? 如果:动物有奶 ??? 则? :该单位是哺乳动物 规则3: ??? 如果:该动物有羽毛 ??? 则? :该动物是鸟 规则4: ??? 如果:动物会飞,且会下蛋 ??? 则? :该动物是鸟 规则5: ??? 如果:动物吃肉 ??? 则? :该动物是肉食动物 规则6: ??? 如果:动物有犬齿,且有爪,且眼盯前方 ??? 则? :该动物是食肉动物 规则7: ??? 如果:动物是哺乳动物,且有蹄 ??? 则? :该动物是有蹄动物 规则8: ??? 如果:动物是哺乳动物,且是反刍动物 ??? 则? :该动物是有蹄动物 规则9: ??? 如果:动物是哺乳动物,且是食肉动物,且是黄褐色的,且有暗斑点 ??? 则? :该动物是豹 规则10: ??? 如果:如果:动物是黄褐色的,且是哺乳动物,且是食肉,且有黑条纹 ??? 则? :该动物是虎 规则11: ??? 如果:动物有暗斑点,且有长腿,且有长脖子,且是有蹄类 ??? 则? :该动物是长颈鹿 规则12: ??? 如果:动物有黑条纹,且是有蹄类动物 ??? 则? :该动物是斑马 规则13: ??? 如果:动物有长腿,且有长脖子,且是黑色的,且是鸟,且不会飞 ??? 则? :该动物是鸵鸟 规则14: ??? 如果:动物是鸟,且不会飞,且会游泳,且是黑色的 ??? 则? :该动物是企鹅 规则15: ??? 如果:动物是鸟,且善飞 ??? 则? :该动物是信天翁 ? 动物分类专家系统由15条规则组成,可以识别七种动物,在15条规则中,共出现 ?30个概念(也称作事实),共30个事实,每个事实给一个编号,从编号从1到30,在规则对象中我们不存储事实概念,只有该事实的编号,同样规则的结论也是事实概念的编号,事实与规则的数据以常量表示,其结构如下: Char *str{}={chew_cud,hooves,mammal,forward_eyes,claws, ?????? pointed_teeth,eat_meat,lay_eggs,fly,feathers,ungulate, ?????? carnivore,bird,give_milk,has_hair,fly_well, ?????? blackwhite_color,can_swim,long_legs,long_neck, ?????? black_stripes,dark_spots,tawny_color,albatross, ?????? penguin,ostrich,zebra,giraffe,tiger,cheetah,\0} 程序有编号序列的方式表达了产生式规则,如资料中规则15,如果动物是鸟,且善飞,则该动物是信天翁。相应的规则数组第七条是{16,13,0,0,0,0},第十三个是“bird”(鸟),如果事实成立,询问使用者下一个事实,第十六个“fly_weil”(善飞),如果也成立,则查找结论断言编号数组{30,29,28,27,26,25,24,3,3,13,12,12,11,11,0}中第七个“24”,这里24对应事实数组中的“albatross”(信天翁)。 上述就是程序的推理过程,也是程序中的重点,该部分是由规则类(类rule)中的Query方法实现。 ? 三、流程图及分析?????? 找站长要流程图 主程序的流程主要是:1、实例化各个类 2、初始化事实集 3、初始化规则集 4、使用规则对事实进行推导 ?? 规则类: 规则名只是用来表示规则的一个名称,前提链由前提类生成的单链表,结论则是存放结论断言编号,表示由该规则的到的结论在事实数组中的编号。 ? 事件类: 事实号和规则数据和结论断言数据的数字相对应。激活标志表示这个时候有没有被处理过。断言这保存推理后的结论,在重复查询这个事实条件时不用反复询问用户。 ? 四、代码1194 int rule::Query() ?????? { ????????????? int i; ????????????? char c; ????????????? int Tag=0; ????????????? list *L; ????????????? fact *F; ????????????? F=Fact; ????????????? L=Pre; ????????????? if(L=

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档