欢迎来到天天文库
浏览记录
ID:33573117
大小:567.00 KB
页数:23页
时间:2019-02-27
《人工智能 卢童》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、人工智能与专家系统教学实习设计题目:一个关于植物分类的专家型系统系名:计算机科学与信息工程系专业:信息管理与信息系统班级:信息一班姓名:卢童学号:0808044127指导老师:郭鹏-23-目录1.设计任务1.1设计题目………………………………………………………………………31.2设计要求………………………………………………………………………31.3设计任务………………………………………………………………………32.方案设计2.1原理……………………………………………………………………………32.2具体设计方法…………………………………
2、………………………………33.系统实施3.1系统开发环境…………………………………………………………………53.2系统主要功能介绍……………………………………………………………53.3处理流程图……………………………………………………………………53.4核心源程序……………………………………………………………………63.5系统运行结果…………………………………………………………………64.开发心得4.1设计存在的问题………………………………………………………………74.2经验和体会……………………………………………………………………8
3、5.参考文献……………………………………………………………………91.设计任务1.1设计题目利用Prolog设计一个关于植物分类的专家型系统1.2设计要求利用Prolog语言实现基于产生式规则的正向推理和反向推理,通过设计一个关于植物分类的专家型系统进一步熟悉和了解Prolog语言。并对人工智能技术有更加深入的了解。1.3设计任务一个关于植物分类的小型专家系统,在植物分类系统中,要区分各种植物,可以对每种植物构造一条识别规则,其中规则右部为识别出的植物名,左部为该植物的特征。2.方案设计-23-2.1原理本次实验采用的推理方法为正向推
4、理,正向推理是从已知事实出发,通过规则库求的结论。这种推理方式是正向使用规则,即问题的初始状态作为初始数据库,仅当数据库中的事实满足某条规则的前提时,该规则才能被使用。正向推理的推理基础是逻辑演绎的推理链。从一组事实出发,使用一组规则,来证明目标的成立。正向推理的步骤步1将初始事实置入动态数据库;步2用动态数据库中的事实,匹配目标条件,若目标条件满足,则推理成功,结束。步3用规则库中各规则的前件匹配动态数据库中的事实,将匹配成功的规则组成冲突集;步4若冲突集为空,则运行失败,退出。步5对冲突集做冲突消解,对选择执行的各规则,将其结论加
5、入动态数据库,或执行其动作,转步2。2.2具体设计方法/*比较两个字符串*/boolequals(chara[255],charb[255]){inti;if(strlen(a)==strlen(b)){for(i=0;i<(int)strlen(a);i++){if(a[i]!=b[i])returnfalse;}returntrue;}return0;}/*显示事实*/voidshowfact(){intn;-23-n=sizeof(fact)/4;cout<<"事实:{";for(inti=0;i6、ct[i]<<",";}cout<<"}"<>m;cout<<"输入条件n:";cin>>n;intk;k=7、sizeof(fact)/4;intsuccessCount=0;charc1[255],c2[255],c3[255],c4[255];memcpy(c1,fact2[0],strlen(fact2[0])+1);memcpy(c2,fact2[1],strlen(fact2[1])+1);-23-memcpy(c3,fact2[2],strlen(fact2[2])+1);memcpy(c4,fact2[3],strlen(fact2[3])+1);if((equals(m,c1)==1)8、9、(equals(m,c2)==1)10、11、12、(equals(m,c3)==1)13、14、(equals(m,c4)==1)){for(intj=0;j
6、ct[i]<<",";}cout<<"}"<>m;cout<<"输入条件n:";cin>>n;intk;k=
7、sizeof(fact)/4;intsuccessCount=0;charc1[255],c2[255],c3[255],c4[255];memcpy(c1,fact2[0],strlen(fact2[0])+1);memcpy(c2,fact2[1],strlen(fact2[1])+1);-23-memcpy(c3,fact2[2],strlen(fact2[2])+1);memcpy(c4,fact2[3],strlen(fact2[3])+1);if((equals(m,c1)==1)
8、
9、(equals(m,c2)==1)
10、
11、
12、(equals(m,c3)==1)
13、
14、(equals(m,c4)==1)){for(intj=0;j
此文档下载收益归作者所有