- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
动物识别专家系统研的究与设计
动物识别专家系统研究
摘要:动物识别专家系统是将人的思维过程转化为计算机语言的逻辑过程,其关键在于知识和信息的表示,智能推理或求解的基础——知识库的创建和管理,以及基于某种知识和信息表示的智能推理或求解过程。识别七种动物设计思路所写的。
专家系统基本知识
1.1动物识别专家系统介绍
动物识别专家系统是人工智能中一个比较基础的规则演绎系统,是人工智能领域里的一个大模块的专家系统的一个特定例子。是集知识表与推理为一体的,以规则为基础对用户提供的事实进行向前、逆向或双向的推理得出结论的一种产生式系统。如果通过良好的分析、精确地设计和细致的规划会创设出高度灵活和快速有效的识别系统,再加上良好的界面供用户添加新的事实和规则,反馈详细的错误或信息的话,那就是一个相当完整的识别系统了。
1.2专家系统实际应用
目前专家系统已经成功地渗透到生活的各个领域,并且还产生了巨大的社会效益和经济效益。例如,像车辆传感、药物、纺织服装等重工业和轻工业领域中都会应用到,特别是在计算机领域里,现在已经是一门非常重要的学科类了。
1.3专家系统的开发
专家系统设计与实现的一般过程
图 1
设计基本思路
2.1知识库
2.2.1知识库作用
用产生式系统动物,需要一种演绎机制,利用己知事实的集合做出新的结论,一种方法是替动物园中的每个动物作一个产生式,使用者首先收集所有可利用的事实,然后在产生式的表中进行扫描,寻找一个状态部分能与之匹配的产生式。一般要经过多少步并生成和利用一些中间事实才能从基本事实推出结论,这样做所包含的产生式可以比较小,容易理解,容易使用和容易产生。动物识别专家系统中的知识库中的知识通常是用规则表示的。
2.1.2 知识库建立
知识库所要遵循的规则
规则1:
如果:动物有毛发
则 :该动物是哺乳动物
规则2:
如果:动物能产奶
则 :该单位是哺乳动物
规则3:
如果:该动物有羽毛
则 :该动物是鸟
规则4:
如果:动物会飞,且会下蛋
则 :该动物是鸟
规则5:
如果:动物吃肉
则 :该动物是肉食动物
规则6:
如果:动物有犬齿,且有爪,且眼盯前方
则 :该动物是食肉动物
规则7:
如果:动物是哺乳动物,且有蹄
则 :该动物是有蹄动物
规则8:
如果:动物是哺乳动物,且是反刍动物
则 :该动物是有蹄动物
规则9:
如果:动物是哺乳动物,且是食肉动物,且是黄褐色的,且有暗斑点
则 :该动物是豹
规则10:
如果:如果:动物是黄褐色的,且是哺乳动物,且是食肉,且有黑条纹
则 :该动物是虎
规则11:
如果:动物有暗斑点,且有长腿,且有长脖子,且是有蹄类
则 :该动物是长颈鹿
规则12:
如果:动物有黑条纹,且是有蹄类动物
则 :该动物是斑马
规则13:
如果:动物有长腿,且有长脖子,且是黑色的,且是鸟,且不会飞
则 :该动物是鸵鸟
规则14:
如果:动物是鸟,且不会飞,且会游泳,且是黑色的
则 :该动物是企鹅
规则15:
如果:动物是鸟,且善飞
则 :该动物是信天翁
15条规则可以识别七种动物
图2 规则的结构
规则类定义:
class rule
{
char *Name;
list *Pre;
int Conc;
public:
rule *Next;
rule(char *N,int P[],int C);
~rule();
int Query();
void GetName()
{
coutName;
}
};
规则由规则类的构造函数建立,规则动态节点的存储单元由析构函数释放。一条规则是一个知识实体,它本身具有咨询推理功能,这由规则类的函数Query实现。在本系统中,除了知识库外,还有一个事实库,记录用户与系统对话的结果及推理的中间结果。
事实库的结构下:
图3 事实的结构
事实的定义如下:
class fact
{ private:
int Number;
char Name[21];
int Active;
int Succ;
public:
fact *Next;
fact(int Num,char *L)
{
strcpy(Name,L);
Number=Num;
Active=False;
//-1 是已经推理,不符合。1 是已经推理,符合。
Succ=DontKnow; //0 是无,-1 是不知道,1 是有。
Next=NULL;
}
char *GetName()
{
char *L;
L=new char[21];
strcpy(L,Name);
ret
您可能关注的文档
最近下载
- (高清版)B 15982-2012 医院消毒卫生标准.pdf VIP
- 医院护理人员绩效考核评价制度.doc VIP
- JTG E 20-2011公路工程沥青及沥青混合料试验规程释义手册_(高清-无水印).pdf
- 初中英语新外研版七年级上册Unit 1 A new start课文讲解(2024秋).doc
- 可爱的四川 主题一:自然之美 第1课 享誉世界的超级明星-国宝大熊猫 教案.doc
- 机械安全培训PPT课件.ppt
- 昌吉市新联煤矿煤矿施工组织设计修改版.doc VIP
- 【精品课件】 苏科版信息技术五年级全一册 第3课 火柴人跳舞.ppt VIP
- ASME-B1.3-2007-个人中文翻译(仅供参考).docx VIP
- 《全面质量管理》习题集.docx VIP
文档评论(0)