人工智能课程设计报告动物识别系统_第1页
人工智能课程设计报告动物识别系统_第2页
人工智能课程设计报告动物识别系统_第3页
人工智能课程设计报告动物识别系统_第4页
人工智能课程设计报告动物识别系统_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

HUMlUNEVERSITVOFSCIENCEANDTECHNOLOGY计算机科学与技术学院《人工智能》课程设计报告设计题目:设计人员:动物识别系统学号:学号:学号:学号:学号:学号:指导教师:2015年7月目录TOC\o"1-5"\h\z\o"CurrentDocument"目录 1\o"CurrentDocument"摘要 3Abstract 4\o"CurrentDocument"一、 专家系统基本知识 51.1专家系统实际应用 51.2专家系统的开发 5\o"CurrentDocument"二、 设计基本思路 52.1知识库 52.2.1知识库作用 5\o"CurrentDocument"2.1.2知识库建立 6\o"CurrentDocument"2.1.3知识库获取 72.2数据库 72.2.1数据库作用 7\o"CurrentDocument"2.2.2数据库建立 7三、 推理机构 83.1推理机介绍 83.1.1推理机作用原理 8\o"CurrentDocument"3.1.2推理网络 83.2正向推理 93.2.1正向推理基本思想 93.2.2正向推理示意图 10\o"CurrentDocument"3.2.3正向推理机所要具有功能 103.3反向推理 113.3.1反向推理基本思想 113.3.2反向推理示意图 11\o"CurrentDocument"3.3.3反向推理机所要具有功能 11\o"CurrentDocument"四、 实例系统实现 124.1系统介绍 124.2基本思路 124.3程序主要代码 124.4系统执行结果 13\o"CurrentDocument"五、结论 13\o"CurrentDocument"参考文献: 14\o"CurrentDocument"附录一 15\o"CurrentDocument"附录二 24摘要动物识别专家系统是将人的思维过程转化为计算机语言的逻辑过程,其关键在于知识和信息的表示,智能推理或求解的基础一一知识库的创建和管理,以及基于某种知识和信息表示的智能推理或求解过程。使动物识别具有一定的智能性、良好的交互性和可视化效果。本论文也主要以识别七种动物的设计思路和程序为例所写的。动物识别专家系统是人工智能中一个比较基础的规则演绎系统,是人工智能领域里的一个大模块的专家系统的一个特定例子。是集知识表与推理为一体的,以规则为基础对用户提供的事实进行向前、逆向或双向的推理得出结论的一种产生式系统。如果通过良好的分析、精确地设计和细致的规划会创设出高度灵活和快速有效的识别系统,再加上良好的界面供用户添加新的事实和规则,反馈详细的错误或信息的话,那就是一个相当完整的识别系统了。关键词:人工智能; 专家系统; 动物识别Abstractanimalrecognitionexpertsystemisthehumanthinkingprocessistransformedintothelogicalprocessofcomputerlanguage,thekeyliesinknowledgeandinformation,saidintelligentreasoningorsolvingbasedknowledgebase--creatingandmanagement,andbasedonsomeinformationandknowledgerepresentationofintelligentreasoningandsolvingprocess.Sothattheanimalidentificationhasacertainintelligence,goodinteractionandvisualeffect.Thispaperalsomainlytoidentifysevenkindsofanimaldesignideasandproceduresforthecaseofthewritten.Animalidentificationexpertsystemisoneofthemorebasicrulesinartificialintelligence,andisaspecificexampleoftheexpertsysteminthefieldofartificialintelligence.Aproductionsystembasedonrulesisaproductionsystemwhichisbasedonthefactthattheuserisprovidedwiththefacts.Ifthegoodanalysisandaccuratedesignandmeticulousplanningcreatedahighlyflexible,efficientandrapidrecognitionsystem,plusagoodinterfaceforuserstoaddnewfactsandrules,withthewronginformationfeedback,thatisafairlycompleteknowledgesystem,the.Keywords:artificialintelligence;expertsystem;animalidentification一、专家系统基本知识1.1专家系统实际应用目前专家系统已经成功地渗透到生活的各个领域,并且还产生了巨大的社会效益和经济效益。例如,像车辆传感、药物、纺织服装等重工业和轻工业领域中都会应用到,特别是在计算机领域里,现在已经是一门非常重要的学科类了。1.2专家系统的开发专家系统设计与实现的一般过程选题与明确任务系统需求分析知识获取与概念化知识的形式化表示系统设计编程与调试测试与评价系统维护与完善选题与明确任务系统需求分析知识获取与概念化知识的形式化表示系统设计编程与调试测试与评价系统维护与完善图1⑶二、设计基本思路2.1知识库2.2.1知识库作用用产生式系统监别动物,需要一种演绎机制,利用己知事实的集合做出新的结论,一种方法是替动物园中的每个动物作一个产生式,使用者首先收集所有可利用的事实,然后在产生式的表中进行扫描,寻找一个状态部分能与之匹配的产生式。一般要经过多少步并生成和利用一些中间事实才能从基本事实推出结论,这样做所包含的产生式可以比较小,容易理解,容易使用和容易产生。动物识别专家系统中的知识库中的知识通常是用规则表示的。2.1.2知识库建立知识库所要遵循的规则【1】规则1:如果:动物有毛发则:该动物是哺乳动物规则2:如果:动物能产奶则:该单位是哺乳动物规则3:如果:该动物有羽毛则:该动物是鸟规则4:如果:动物会飞,且会下蛋则:该动物是鸟规则5:如果:动物吃肉则:该动物是肉食动物规则6:如果:动物有犬齿,且有爪,且眼盯前方则:该动物是食肉动物规则7:如果:动物是哺乳动物,且有蹄则:该动物是有蹄动物规则8:如果:动物是哺乳动物,且是反刍动物则:该动物是有蹄动物规则9:如果:动物是哺乳动物,且是食肉动物,且是黄褐色的,且有暗斑点则:该动物是豹规则10:如果:如果:动物是黄褐色的,且是哺乳动物,且是食肉,且有黑条纹则:该动物是虎规则11:如果:动物有暗斑点,且有长腿,且有长脖子,且是有蹄类则:该动物是长颈鹿规则12:如果:动物有黑条纹,且是有蹄类动物则:该动物是斑马规则13:如果:动物有长腿,且有长脖子,且是黑色的,且是鸟,且不会飞则:该动物是鸵鸟规则14:如果:动物是鸟,且不会飞,且会游泳,且是黑色的则:该动物是企鹅规则15:如果:动物是鸟,且善飞则:该动物是信天翁动物分类专家系统由15条规则组成可以识别七种动物.2.1.3知识库获取知识获取一般是指从某个活某些致使原中获取专家系统问题求解所需要的专门知识,并以某种形式在计算机中存储、传输与转移。专家系统的知识获取一般是由知识工程师与专家系统知识的获取机构共同完成的。知识获取的常用方法有以下几种⑶:手工知识获取;半自动获取;自动知识获取;人工神经网络知识获取;选用哪种知识获取方法需要根据当前的系统,以及用户的需求来决定。但在有些大型系统上还可能会用到不是仅仅一种方法的。2.2数据库2.2.1数据库作用数据库即为事实库⑵,在计算机中流出一些存储区间,以存放反应系统当前状态的事实,存放用户回答的事实、已知的事实和由推理而得的事实,即由已知事实推导出的假设成立时,也作为事实。其综合数据库的内容是不断变化的。2.2.2数据库建立"反刍动物"/*1*/,”蹄类动物”/*2*/,"哺乳动物"/*3*/,"目视前方"/*4*/,”有爪子”/*5*/,”有犬齿"/*6*/,"吃肉"/*7*/,"下蛋"/*8*/,"会飞"/*9*/,"有羽毛"/*10*/,"有蹄"/*11*/,”肉食动物”/*12*/,"鸟类"/*13*/,"产奶”/*14*/,"有毛发"/*15*/,

"善飞"/*16*/,"黑白色" /*17*/,"会游泳" /*18*/,"长腿"/*19*/,"长脖子" /*20*/,"有黑色条纹"/*21*/,"有暗斑点" /*22*/,"黄褐色" /*23*/,"信天翁" /*24*/,"企鹅"/*25*/,"鸵鸟" /*26*/,"斑马" /*27*/,"长颈鹿"/*28*/,"老虎" /*29*/,"猎豹" /*30*/,"\0"};intrulep[][6]={{22,23,12,3,0,0},{21,23,12,3,0,0},{22,19,20,11,0,0},intrulec[]={{21,11,0,0,0,0}, {17,19,20,13,-9,0},{17,18,13,-9,0,0},{16,13,0,0,0,0}, {15,0,0,0,0,0}, {14,0,0,0,0,0},{10,0,0,0,0,0}, {8,7,0,0,0,0}, {7,0,0,0,0,0},{4,5,6,0,0,0}, {2,3,0,0,0,0}, {1,3,0,0,0,0}};30, 29, 28,27, 26,24, 3,13, 13,12, 11,三、推理机构25,3,12,11};3.1推理机介绍3.1.1推理机作用原理推理机是一组函数【4】,本例既有正向推理机又有反向推理机,都是用精确推理。推理机是实施问题求解的核心执行机构,它是对知识进行解释的程序,根据知识的语义,对按一定策略找到的知识进行解释执行,并把结果记录到动态库的适当空间中去。3.1.2推理网络下图为识别本文中所举的识别七种动物时所规则形成的推理网络:

3.2正向推理3.2.1正向推理基本思想用户首先提供一批事实,存放到数据库中,然后推理机进行工作。方法是:推理机用这批事实与知识库中规则的前提进行匹配。把匹配成功的规则的结论部分作为新的事实加到数据库中去(这时,数据库中的事实增加了)。再用更新后的数据库中的所有事实,重复上述①②二步,如此反复进行,直到得以结论(答案)或不再有新的事实加到数据库为止。例如,用户输入一批事实:动物有暗斑点、长脖子、长腿、产奶、有蹄子(这批事实存放在数据库中),要求系统判断这是一个什么动物?推理机利用这批事实来匹配规则。3.2.2正向推理示意图A令1=1+1*A令1=1+1*取出规则1的结论部分/这蛀结论是新、还能产牛新\事实吗?/一"的事实吗?恍「 ~T^-将送些结论加入数据库, 、、、并记卜规则I (结束]「〔 3.2.3正向推理机所要具有功能要设计一个正向推理机,就是设计一组程序,使其至少具有以下的功能【3】:能用数据库中的事实去匹配规则的前提,若匹配不成功,能自动地进行吓一跳规则的匹配。这里如何匹配最为合适,是设计专家系统者根据专业特点和知识表示等情况,需要很好考虑的问题,也就是在匹配时到底用什么策略等问题都需要考虑周全;若某条规则匹配成功,系统能将此规则的结论部分自动加入数据库;能判断何时应结束推理;能将匹配成功的规则记录下来;

3.3反向推理3.3.1反向推理基本思想由用户或系统首先提出一批假设,然后系统逐一验证这些假设的真假性,方法:看假设是含在数据库中,若在,则假设成立,推理结束或进行下一个假设的验证,否则进行下一步。判断这些假设是否是证据节点,若是,系统提问用户,否则进行下一步。找出结论部分包含此假设的那些规则,把这些规则的所有前提作为新的假设。重复①、②、③步。3.3.2反向推理示意图g/此假设还在数、“X、据库中吗?/[gg/此假设还在数、“X、据库中吗?/[g告//此假设是各是、证抓七点? /恼一找出结论部分包含此假设的那些规则或f此假设成立-M结束提问用户找出规则之-的1个前一

提作为新的f假设/有此手\无\实由?/将此事实记入数据* 「 …或r~ (结束)3.3.3反向推理机所要具有功能能根据用户要求或情况提出假设;能验证此假设是否是在数据库中;能把知识库中将结论部分包含此假设的规则都找出来;能将找出来地规则的前提部分取出,并作为新的假设逐条验证;能判断假设是否是证据接点,若是,能向用户提出相应的问题,并记录结果;能将匹配成功的规则记录下来;能判断何时应结束推理;四、实例系统实现4.1系统介绍此系统是实现了《人工智能教程(的二版)》专家系统实例里的动物识别系统。此系统是识别一一老虎、猎豹、斑马、长颈鹿、鸵鸟、企鹅、信天翁等七种动物。是严格遵循了知识库中的规则,并运用C语言在VisualC++6.0环境下实验编译同过的。因为各种原因没能设计实现出比较精美的界面,但还是体现出了很多专家系统所该具备的东西和功能。4.2基本思路根据产生式系统的原理,该系统一般由规则库、综合数据库、控制系统三部分构成。先定义规则库结构体,里面包括Condition[6][20],result[20]和规则数Cnum,再定义综合数据库即事实库,里面包括item[20][20],和事实数Fnum,主要用到的参数就是这些。然后初始化规则库和综合数据库,编辑规则库。之后就是主程序,也就是推理机的作用:先让用户输入事实,然后与规则库中的知识从第一条开始逐条匹配,当匹配成功时,将结论插入事实库并更新事实库,再逐条匹配,依次循环.最终如果能匹配成功就显示‘该动物是..’,否则显示'无法识别该动物’,程序结束。4.3程序主要代码见附录二

五、结论动物识别专家系统实现起来也许相对简单一些,但基本上也包括了专家系统的各个组成部分。动物识别具有一定的智能性,但是根据所采用的匹配方法的不同其智能性也有不小的差距。而知识库的管理和数据库的设计是否完善对于动物识别专家系统是极为关键的,这也是很多此类专家系统的通病。参考文献:【1】王士同,陈慧萍,赵跃华,钱旭.人工智能教程[M](第二版)北京:电子工业出版社,2006:188-206WangShi-tong,ChenHui-ping,ZhaoYue-hua,QianXu.Artificialintelligencecourse[M]Beijing:ElectronicIndustryPress,2006:188-206【2】马鸣远.人工智能与专家系统导论[M]北京:清华大学出版社,2006:232-238MaMing-yuan.Introductionofartificialintelligenceandexpertsystem[M]Beijing:TsinghuaUniversitypress,2006:232-238【3】敖志刚.人工智能与专家系统导论[M]合肥:中国科学技术大学出版社,2002:165-197AoZhi-gang.Introductionofartificialintelligenceandexpertsystem[M]Hefei:PressofUSTC,2002:165-197【4】渠川路.人工智能、专家系统及智能计算机[M]北京:航空航天大学出版社,1991:123-156QuChuan-lu.Artificialintelligence,Expertsystemandintelligentcomputer[M]Beijing:UniversitiofAeronauticsandAstronauticsPress,1991:165-197附录一源程序如下:#include"iostream.h"#include"stdio.h"#include"conio.h"#include"string.h"typedefstructRule//定义规则库{charCondition[6][20];charResult[20];intCnum;boolused;}rule;typedefstructFact//定义综合数据库{charitem[20][20];intFnum;}fact;ruler[100];factf;voidCreate_Rules();//初始化规则库voidCreate_Facts();//初始化综合数据库intGet_RulesNum();voidRatiocinate(intn);voidmain(){intRnum=0;Create_Rules();Create_Facts();Rnum=Get_RulesNum();//cout<<Rnum<<endl;Ratiocinate(Rnum);}voidCreate_Rules(){strcpy(r[0].Condition[0],”有毛发”);strcpy(r[0].Result,”哺乳动物”);r[0].Cnum=1;r[0].used=false;strcpy(r[1].Condition[0],"奶”);strcpy(r[1].Result,”哺乳动物”);r[1].Cnum=1;r[1].used=false;strcpy(r[2].Condition[0],”有羽毛”);strcpy(r[2].Result,"鸟”);r[2].Cnum=1;r[2].used=false;sirepy(rs.CondEonoL=*^=Jsirepy(rs.CondEonE、=*TM=Jsirepy(rs.Resu-L->=)umn2;rs.usednfa-se;sirepy(rE.CondEonoL-S3-Wsirepy(rE.Resu-L-#3理曹--)JumnLrE.usednfa-se;sirepy(rs.CondEonoL-4片S--Lsirepy(rs.CondEonE、-4^=Jsirepy(rs.CondEonE、括冲写tju-wsircpy(rs.Resu<#3理umn3;rs.usednfa-se;acpy(rs.CondEonoL-a凿理wwsirepy(rs.CondEonE、=BWS1rcpy(rs.Resu-L-4>理umn2;rs.usednfa-se;s1Tcpy(r3.condEonoL-4>理营=Jstrcpy(r3.condEonE、-矗河>理wwS1rcpy(r3.Resu-L-4>理umn2JW17斗r3.usednfa-se;sirepy(rg•CondEonoL-MML理曹=Jsirepy(rg•CondEonE、-#3理曹=Jsirepy(rg•CondEonE、-M^i^-Ws1rcpy(rooJ.condEons、-wk^®®lnr=JS1rcpy(rg•Resu-L--命席潜三rooJ.cnumgroorsednfa-se;sirepy(rs.CondEonoL-MML理曹=Jsirepy(rs.CondEonE、-#3理曹=Jsirepy(rs.CondEonE、-M^i^-Wstrcpy(rs.condEons、-4!w^*涔=Jsirepy(rs.Resu-L-M=Jumgrs.usednfa-se;sirepy(二10J•CondEonoL-4>理曹-Wsirepy(二10J•CondEonE、--木涛三sirepy(二10J•CondEonE、=^W-H=Jacpy(二10J•CondEons、-wk^®®lnr=Jaepy(二10J.Resu-<木sww二一。J.cnumg二一。J.usednfa-seJsirepy(二11J•CondEonoL-4WB理曹-Waepy(二llhcondEonELwk^!®^*涔=JM18斗sirepy(二11J•Resu-L-®<l?w二一一J.cnum&二一一rsednfa-se;sirepy(二12J•CondEonoL->=)aepy(二12J.condEonE、-4木W-H-Wsirepy(二12J•CondEonE、--木涛三sirepy(二12J•CondEons、=m*^waepy(二ID.COndEo三4L-4!wm3^waepy(二12J.Resu<s>w二ID.Cnumny1二12rsednfa-se;sirepy(二13J•CondEonoL->=)sirepy(二13J•CondEonE、=*靠其三sirepy(二13J•CondEonE、=m*^waepy(二13J.C0ndE0ns、-4!wm3^=;aepy(二13J•Resu-<号«三二13J.cnumn4J二13rsednfa-se;sirepy(二14J•CondEonoL->=)sirepy(二14J•CondEonE、--nB^-wsirepy(二14J•Resu-L-a^-w二14J.cnum&二14husednfa-se;voidCrea£—Facis()printf("请输入该动物特性(中间加空格,Enter键结束)\n");scanf("%s%s%s%s%s”,&f.item[0],&f.item[1],&f.item[2],&f.item[3],&f.item⑷);f.Fnum=5;}intGet_RulesNum(){intnum=0;inti=0;while(1){if(r[i].Condition[0][0]=='\0'){brea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论