您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 动物识别专家系统设计文档
动物识别专家系统设计文档一、设计目的1.理解并掌握基于规则系统的表示与推理2.学会编写小型的生产式系统,理解正向推理和反向推理的过程以及两者的区别二、系统描述这是一个用来识别老虎(tiger)、金钱豹(cheetah)、斑马(zebra)、长颈鹿(giraffe)、企鹅(penguin)、鸵鸟(ostrich)和信天翁(albatross)等七种动物的产生式ES。共15条规则、可以识别七种动物,这些规则既少又简单,可以改造他们,也可以加进新的规则,还可以用来识别其他东西的新规则来取代这些规则。三、运行环境PC机、Visualprolog四、系统分析由上述规则可看出,虽然该系统是用来识别七种动物的,但在规则库中并没有简单地只设计七条规则,而是设计了15条,其基本方法是,首先根据一些比较简单的条件,如“有毛发”、“有羽毛”、“会飞”等条件将动物粗略分成哺乳动物、鸟、食肉动物三大类,然后随着条件的增加,逐步缩小分类范围,最后给出分别识别七种动物的规则。用此规则可形成各种动物的推理网络。图1为有关“长颈鹿”的规则形成的正向推理网络,同理可画出其它动物的推理网络。长颈鹿有蹄类长腿有暗斑点哺乳动物有蹄嚼反刍有毛发有奶r11r7长脖子图1有关“长颈鹿”的规则形成的(正向)推理网络在推理网络中,最高节点如“长颈鹿”为结论(正向推理)或假设(反向推理)节点。在正向推理情况下,该节点没有输出线,当推理到本节点时,推理就结束;中间节点既有输入线,又有输出线,如节点“哺乳动物”,当推理到中间节点时,系统会自动将此中间结果存入综合数据库;终端节点也称为事实节点,如节点“长脖子”、“有毛发”等,这些节点没有输入线,该事实是否为真可通过人机接口询问用户,然后加入综合数据库中。图2动物识别系统的推理链结构五、系统结构图3专家系统原理图豹子老虎斑马企鹅海鸥长颈鹿鸵鸟黄褐色暗斑点长腿黑条纹有蹄类长脖子不飞鸟黑白色会游泳善飞有毛发有奶吃肉有犬齿有爪子眼盯前方哺乳动物食肉动物有蹄嚼反刍动物有羽毛会飞下蛋R9R10R11R12R13R14R15R7R8R3R4R1R2R5R6本系统采用产生式结构,它包含三个主要部分:知识库、综合数据库和推理机。⑴知识库。在本系统当中,知识库中的知识用产生式规则来表示。本系统能够识别7种动物,知识库中共有以下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有长腿AND有黑白色THEN该动物是鸵鸟r14:IF该动物是鸟AND不会飞AND会游泳AND有黑白色THEN该动物是企鹅r15:IF该动物是鸟AND善飞THEN该动物是信天翁⑵综合数据库。综合数据库用来存放问题求解过程中各种当前信息,例如问题的原始事实、中间结论及最终结论,它的内容是动态和不断变化的。⑶推理机。在本系统中,我们采用正向推理,并且是精确推理。推理过程如图3所示。图4正向推理流程图六、PROLOG源程序七、C++源程序及运行结果C++代码详见Animalidentification.cpp运行结果:八、总结从专家系统的原理框图出发,简单阐述了专家系统的基本工作原理。并在此基础上,采用精确推理的方法,运用PROLOG语言实现了一个简单的动物识别专家系统。
本文标题:动物识别专家系统设计文档
链接地址:https://www.777doc.com/doc-2616094 .html