ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:83.03KB ,
资源ID:22425524      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22425524.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(人工智能课程设计报告动物识别系统Word文档下载推荐.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

人工智能课程设计报告动物识别系统Word文档下载推荐.docx

1、该动物是哺乳动物规则2: 如果:动物能产奶 则 :该单位是哺乳动物规则3:该动物有羽毛该动物是鸟规则4:动物会飞,且会下蛋规则5:动物吃肉该动物是肉食动物规则6:动物有犬齿,且有爪,且眼盯前方该动物是食肉动物规则7:动物是哺乳动物,且有蹄该动物是有蹄动物规则8:动物是哺乳动物,且是反刍动物规则9:动物是哺乳动物,且是食肉动物,且是黄褐色的,且有暗斑点该动物是豹规则10:动物是黄褐色的,且是哺乳动物,且是食肉,且有黑条纹该动物是虎规则11: 动物有暗斑点,且有长腿,且有长脖子,且是有蹄类该动物是长颈鹿规则12:动物有黑条纹,且是有蹄类动物该动物是斑马规则13:动物有长腿,且有长脖子,且是黑色的,

2、且是鸟,且不会飞该动物是鸵鸟规则14:动物是鸟,且不会飞,且会游泳,且是黑色的该动物是企鹅规则15:动物是鸟,且善飞该动物是信天翁动物分类专家系统由15条规则组成 可以识别七种动物.2.1.3 知识库获取知识获取一般是指从某个活某些致使原中获取专家系统问题求解所需要的专门知识,并以某种形式在计算机中存储、传输与转移。专家系统的知识获取一般是由知识工程师与专家系统知识的获取机构共同完成的。知识获取的常用方法有以下几种【3】:1.手工知识获取;2.半自动获取;3.自动知识获取;4.人工神经网络知识获取;选用哪种知识获取方法需要根据当前的系统,以及用户的需求来决定。但在有些大型系统上还可能会用到不是

3、仅仅一种方法的。2.2 数据库数据库即为事实库【2】,在计算机中流出一些存储区间,以存放反应系统当前状态的事实,存放用户回答的事实、已知的事实和由推理而得的事实,即由已知事实推导出的假设成立时,也作为事实。其综合数据库的内容是不断变化的。char *str=, 反刍动物 /* 1 */, 蹄类动物 /* 2 */, 哺乳动物 /* 3 */,目视前方 /* 4 */, 有爪子 /* 5 */, 有犬齿 /* 6 */, 吃肉 /* 7 */, 下蛋 /* 8 */, 会飞 /* 9 */,有羽毛 /* 10 */, 有蹄 /* 11 */, 肉食动物 /* 12 */,鸟类 /* 13 */,

4、 产奶 /* 14 */, 有毛发 /* 15 */,善飞 /* 16 */, 黑白色 /* 17 */, 会游泳 /* 18 */,长腿 /* 19 */, 长脖子 /* 20 */, 有黑色条纹 /* 21 */,有暗斑点 /* 22 */, 黄褐色 /* 23 */, 信天翁 /* 24 */,企鹅 /* 25 */, 鸵鸟 /* 26 */, 斑马 /* 27 */,长颈鹿 /* 28 */, 老虎 /* 29 */, 猎豹 /* 30 */,0;int rulep6=22,23,12,3,0,0, 21,23,12,3,0,0, 22,19,20,11,0,0, 21,11,0,0,

5、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;int rulec= 30, 29, 28, 27, 26, 25, 24, 3, 3, 13, 13, 12, 12, 11, 11;三、推理机构3.1推理机介绍3.1.1 推理机作用原理推理机是一组函数【4】,本例既有正向推理机又有反向推理机,都是用精确推理。推理机是实施问题

6、求解的核心执行机构,它是对知识进行解释的程序,根据知识的语义,对按一定策略找到的知识进行解释执行,并把结果记录到动态库的适当空间中去。下图为识别本文中所举的识别七种动物时所规则形成的推理网络: 图 23.2 正向推理3.2.1 正向推理基本思想用户首先提供一批事实,存放到数据库中,然后推理机进行工作。方法是:1.推理机用这批事实与知识库中规则的前提进行匹配。2.把匹配成功的规则的结论部分作为新的事实加到数据库中去(这时,数据库中的事实增加了)。再用更新后的数据库中的所有事实,重复上述 二步,如此反复进行,直到得以结论(答案)或不再有新的事实加到数据库为止。例如,用户输入一批事实:动物有暗斑点、

7、长脖子、长腿、产奶、有蹄子(这批事实存放在数据库中),要求系统判断这是一个什么动物?推理机利用这批事实来匹配规则。3.2.2 正向推理示意图 图 33.2.3 正向推理机所要具有功能要设计一个正向推理机,就是设计一组程序,使其至少具有以下的功能【3】:1.能用数据库中的事实去匹配规则的前提,若匹配不成功,能自动地进行吓一跳规则的匹配。这里如何匹配最为合适,是设计专家系统者根据专业特点和 知识表示等情况,需要很好考虑的问题,也就是在匹配时到底用什么策略等问题都需要考虑周全;2.若某条规则匹配成功,系统能将此规则的结论部分自动加入数据库;3.能判断何时应结束推理;4.能将匹配成功的规则记录下来;3

8、.3反向推理由用户或系统首先提出一批假设,然后系统逐一验证这些假设的真假性,方法:1.看假设是含在数据库中,若在,则假设成立,推理结束或进行下一个假设的验证,否则进行下一步。2.判断这些假设是否是证据节点,若是,系统提问用户,否则进行下一步。3.找出结论部分包含此假设的那些规则,把这些规则的所有前提作为新的假设。4.重复、步。3.3.2 反向推理示意图 图 41. 能根据用户要求或情况提出假设;2. 能验证此假设是否是在数据库中;3. 能把知识库中将结论部分包含此假设的规则都找出来;4. 能将找出来地规则的前提部分取出,并作为新的假设逐条验证;5. 能判断假设是否是证据接点,若是,能向用户提出

9、相应的问题,并记录结果;6. 能将匹配成功的规则记录下来;7. 能判断何时应结束推理;四、实例系统实现4.1系统介绍此系统是实现了人工智能教程(的二版)专家系统实例里的动物识别系统。此系统是识别老虎、猎豹、斑马、长颈鹿、鸵鸟、企鹅、信天翁等七种动物。是严格遵循了知识库中的规则,并运用C语言在Visual C+ 6.0环境下实验编译同过的。因为各种原因没能设计实现出比较精美的界面,但还是体现出了很多专家系统所该具备的东西和功能。4.2基本思路根据产生式系统的原理,该系统一般由规则库、综合数据库、控制系统三部分构成。先定义规则库结构体,里面包括Condition620,result20和规则数Cn

10、um,再定义综合数据库即事实库,里面包括item2020,和事实数Fnum,主要用到的参数就是这些。然后初始化规则库和综合数据库,编辑规则库。之后就是主程序,也就是推理机的作用:先让用户输入事实,然后与规则库中的知识从第一条开始逐条匹配,当匹配成功时,将结论插入事实库并更新事实库,再逐条匹配,依次循环.最终如果能匹配成功就显示该动物是.,否则显示无法识别该动物,程序结束。4.3程序主要代码 见附录二4.4系统执行结果五、结论动物识别专家系统实现起来也许相对简单一些,但基本上也包括了专家系统的各个组成部分。动物识别具有一定的智能性,但是根据所采用的匹配方法的不同其智能性也有不小的差距。而知识库的

11、管理和数据库的设计是否完善对于动物识别专家系统是极为关键的,这也是很多此类专家系统的通病。参考文献:【1】王士同,陈慧萍,赵跃华,钱旭 .人工智能教程M(第二版)北京: 电子工业出版社,2006:188-206Wang Shi-tong, Chen Hui-ping, Zhao Yue-hua, Qian Xu. Artificial intelligence courseM Bei jing: Electronic Industry Press,2006:【2】马鸣远. 人工智能与专家系统导论M北京: 清华大学出版社,2006:232-238Ma Ming-yuan. Introductio

12、n of artificial intelligence and expert systemM Bei jing: Tsinghua University press,2006:【3】敖志刚. 人工智能与专家系统导论M合肥: 中国科学技术大学出版社,2002:165-197Ao Zhi-gang. Introduction of artificial intelligence and expert systemM He fei: Press of USTC,2002:【4】渠川路. 人工智能、专家系统及智能计算机M北京:航空航天大学出版社,1991:123-156Qu Chuan-lu. Ar

13、tificial intelligence,Expert system and intelligent computerM Bei jing:Universiti of Aeronautics and Astronautics Press,1991:附录一源程序如下:#include iostream.hstdio.hconio.hstring.htypedef struct Rule/定义规则库 char Condition620; char Result20; int Cnum; bool used;rule;typedef struct Fact/定义综合数据库 char item202

14、0; int Fnum;fact;rule r100;fact f;void Create_Rules();/初始化规则库void Create_Facts();/初始化综合数据库int Get_RulesNum();void Ratiocinate(int n);void main() int Rnum=0; Create_Rules(); Create_Facts(); Rnum=Get_RulesNum(); /coutRnumendl; Ratiocinate(Rnum);void Create_Rules() strcpy(r0.Condition0,); strcpy(r0.Res

15、ult, r0.Cnum=1; r0.used=false; strcpy(r1.Condition0,奶 strcpy(r1.Result, r1.Cnum=1; r1.used=false; strcpy(r2.Condition0, strcpy(r2.Result,鸟 r2.Cnum=1; r2.used=false; strcpy(r3.Condition0, strcpy(r3.Condition1,会下蛋 strcpy(r3.Result, r3.Cnum=2; r3.used=false; strcpy(r4.Condition0, strcpy(r4.Result,食肉动物

16、r4.Cnum=1; r4.used=false; strcpy(r5.Condition0, strcpy(r5.Condition1,有爪 strcpy(r5.Condition2,眼盯前方 strcpy(r5.Result, r5.Cnum=3; r5.used=false; strcpy(r6.Condition0, strcpy(r6.Condition1,蹄 strcpy(r6.Result,有蹄动物 r6.Cnum=2; r6.used=false; strcpy(r7.Condition0, strcpy(r7.Condition1,嚼反刍动物 strcpy(r7.Result

17、, r7.Cnum=2; r7.used=false; strcpy(r8.Condition0, strcpy(r8.Condition1, strcpy(r8.Condition2, strcpy(r8.Condition3,身上有暗斑点 strcpy(r8.Result,金钱豹 r8.Cnum=4; r8.used=false; strcpy(r9.Condition0, strcpy(r9.Condition1, strcpy(r9.Condition2, strcpy(r9.Condition3, strcpy(r9.Result,虎 r9.Cnum=4; r9.used=false

18、; strcpy(r10.Condition0, strcpy(r10.Condition1, strcpy(r10.Condition2, strcpy(r10.Condition3, strcpy(r10.Result, r10.Cnum=4; r10.used=false; strcpy(r11.Condition0,有蹄类动物 strcpy(r11.Condition1,身上有黑色条纹 strcpy(r11.Result, r11.Cnum=2; r11.used=false; strcpy(r12.Condition0, strcpy(r12.Condition1,有长脖子 strc

19、py(r12.Condition2, strcpy(r12.Condition3,不会飞 strcpy(r12.Condition4,有黑白两色 strcpy(r12.Result, r12.Cnum=5; r12.used=false; strcpy(r13.Condition0, strcpy(r13.Condition1, strcpy(r13.Condition2, strcpy(r13.Condition3, strcpy(r13.Result, r13.Cnum=4; r13.used=false; strcpy(r14.Condition0, strcpy(r14.Conditi

20、on1, strcpy(r14.Result,海燕 r14.Cnum=2; r14.used=false;void Create_Facts() printf(请输入该动物特性(中间加空格,Enter键结束)n scanf(%s%s%s%s%s,&f.item0,&f.item1,&f.item2,&f.item3,&f.item4); f.Fnum=5;int Get_RulesNum() int num=0; int i=0; while(1) if(ri.Condition00=0) break; i+; num+; return num;void Ratiocinate(int n) bool FindFact(char * str); void InsertIntoFact(char * str); int i=0,j;/ i用来控制查找的是第几条规则,j用来控制查找的规则中的第几条 if(ri.used=false) for(j=0;jri.Cnum;j+) if(FindFact(ri.Conditionj) continue; else cout规则i+1匹配失败

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1