您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > 人工智能动物识别系统实验报告
人工智能导论实验报告题目动物识别专家系统学院信息科学与工程学院专业计算机科学与技术姓名侯立军学号20131222036班级计信1301二O一五年十一月二十六日11设计内容题目:动物识别专家系统内容:动物识别专家系统是流行的专家系统实验模型,他用产生是规则来表示知识可以识别不同的动物。这些规则既少又简单,可以改造他们,也可以加入新的规则,还可以用来识别其他新规则来取代这些规则。2基本原理2.1产生式系统的问题求解基本过程:(1)初始化综合数据库,即把欲解决问题的已知事实送入综合数据库中;(2)检查规则库中是否有未使用过的规则,若无转(7);(3)检查规则库的未使用规则中是否有其前提可与综合数据库中已知事实相匹配的规则,若有,形成当前可用规则集;否则转(6);(4)按照冲突消解策略,从当前可用规则集中选择一个规则执行,并对该规则作上标记。把执行该规则后所得到的结论作为新的事实放入综合数据库;如果该规则的结论是一些操作,则执行这些操作;(5)检查综合数据库中是否包含了该问题的解,若已包含,说明解已求出,问题求解过程结束;否则,转(2);(6)当规则库中还有未使用规则,但均不能与综合数据库中的已有事实相匹配时,要求用户进一步提供关于该问题的已知事实,若能提供,则转(2);否则,执行下一步;(7)若知识库中不再有未使用规则,也说明该问题无解,终止问题求解过程。2.2正向推理正向推理是以已知事实作为出发点的一种推理,又称数据驱动推理、前向链推理及前件推理等。2.2.1正向推理的基本思想:从用户提供的初始已知事实出发,在知识库KB中找出当前可适用的知识,构成可适用知识集KS,然后按某种冲突消解策略从KS中选出一条知识进行推理,并将推出的新事实加入到数据库中作为下一步推理的已知事实,在此之后再在知识库中选取可适用的知识进行推理,如此重复,直到求得了所要求的解,或者知识库中再2无可适用的知识为止。2.3反向推理逆向推理是以某个假设目标作为出发点的一种推理,又称为目标驱动推理、逆向链推理及后件推理等。2.2.1反向推理的基本思想:首先选定一个假设目标,然后寻找支持该假设的证据,若所需的证据都能找到,则说明原假设成立;若无论如何都找不到所需证据,说明原假设不成立,此时需要另作新的假设。3系统模块structcause_type{char*cause;/*事实字符串指针*/structcause_type*next;/*指向下一个节点*/};structrule_type{char*result;/*结论字符串指针*/intlastflag;/*结论规则标志*/structcause_type*cause_chain;/*事实链表指针*/structrule_type*next;/*指向下一个节点出*/};voidfreeKB(structrule_type*);/*释放规则链表子程序*/voidfreeDB(structcause_type*);/*释放事实链表子程序*/intFindCause(char*);/*查证事实是否已知子程序*/voidmarkKB();/*标记结论性规则子程序*/voidcreatKB();/*创建知识库的子程序*/voidinputDB();/*输入已知事实的子程序*/voidthink();/*推理机子程序*/voidexplain();/*解释子程序*/主函数:voidmain(){3structrule_type*rpp;structcause_type*cpp;creatKB();markKB();getchar();inputDB();rpp=KnowledgeBase;think();while(rpp){printf(result:%s\t,rpp-result);printf(lastflag:%d\t,rpp-lastflag);cpp=rpp-cause_chain;while(cpp){printf(cause:%s\t,cpp-cause);cpp=cpp-next;printf(\n);}rpp=rpp-next;}explain();}4主要框图是否判断是否存在知识库输入已知条件输入规则创建知识库查找规则成功查找查找失败添加规则输出结果分析结果45各模块的设计思路5.1创建知识库creatKB():首先判断是否存在知识库,若存在继续执行,若不存在则提示输入规则,创建知识库,将建立的知识库以文件的形式保存在d:\\rule.dat中。5.2输入已知事实inputDB():用户按顺序输入已知的事实,判断是否充分,进行标记。5.3推理think():对输入的已知事实进行推理,从已知事实出发,通过规则库求得结论。5.4解释explain():对推理结果进行解释,显示解释的过程。6界面设计输入规则:567调试与分析8小结这次实验让我对专业课有了更深的理解,特别是对正向推理和反向推理的理解,同时也加强了自己阅读程序和编程的能力。优点:逻辑清晰,结构简单。缺点:推理过程指针发生变化,查询次数多了以后会出现差错。
本文标题:人工智能动物识别系统实验报告
链接地址:https://www.777doc.com/doc-2704016 .html