人工智能实验报告.doc_第1页
人工智能实验报告.doc_第2页
人工智能实验报告.doc_第3页
人工智能实验报告.doc_第4页
人工智能实验报告.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

人工智能导论实验报告一、实验题目:识别型专家系统设计识别动物专家系统二、实验目的1、掌握专家系统的基本构成2、掌握用人工智能程序设计语言编制智能程序的方法三、实验内容1、 所选编程语言:C语言;2.拟订的规则:(1)若某动物有奶,则它是哺乳动物。(2)若某动物有毛发,则它是哺乳动物。(3)若某动物有羽毛,则它是鸟。 (4)若某动物会飞且生蛋,则它是鸟。(5) 若某动物是哺乳动物且有爪且有犬齿且目盯前方,则它是食肉动物。(6)若某动物是哺乳动物且吃肉,则它是食肉动物。 (7)若某动物是哺乳动物且有蹄,则它是有蹄动物。 (8)若某动物是哺乳动物且反刍食物,则它是有蹄动物。 (9)若某动物是食肉动物且黄褐色且有黑色条纹,则它是老虎。 (10)若某动物是食肉动物且黄褐色且有黑色斑点,则它是金钱豹。(11)若某动物是有蹄动物且长腿且长脖子且黄褐色且有暗斑点,则它是长颈鹿。 (12)若某动物是有蹄动物且白色且有黑色条纹,则它是斑马。(13)若某动物是鸟且不会飞且长腿且长脖子且黑白色,则它是驼鸟。 (14)若某动物是鸟且不会飞且会游泳且黑白色,则它是企鹅。(15)若某动物是鸟且善飞,则它是海燕。2、 设计思路:用户界面:采用问答形式;知识库(规则库):存放产生式规则,推理时用到的一般知识和领域知识,比如动物的特征,动物的分类标准,从哺乳动物、食肉动物来分,再具体地添加一些附加特征得到具体动物;建立知识库的同时也建立了事实库。事实库是一个动态链表,一个事实是链表的一个结点。知识库通过事实号与事实库发生联系。数据库:用来存放用户回答的问题,存放初始状态,中间推理结果,最终结果;推理机:采用正向推理,推理机是动物识别的逻辑控制器,它控制、协调系统的推理,并利用知识库中的规则对综合数据库中的数据进行逻辑操作。推理机担负两项基本任务:一是检查已有的事实和规则,并在可能的情况下增加新的事实;二是决定推理的方式和推理顺序。将推理机制同规则对象封装在一起,事实对象记录了当前的状态,规则对象首先拿出前提条件的断言(只有这些前提都有符合时才会做这条规则的结论),询问事实对象集,如事实对象集不知道,则询问用户,如所有前提条件都被证实为真则结论为真,否则系统不知道结论真假。 3、 程序流程图:程序运行如下:有暗斑点长脖子长腿有蹄有蹄动物长颈鹿有黑色斑点金钱豹目盯前方有犬齿有爪吃肉有奶有毛发哺乳动物食肉动物有黑色条纹黄褐色老虎以老虎,金钱豹,长颈鹿为例画出程序流程图如下:四、程序编制:程序包括知识库,数据库,推理机:#include Fact.h#include Rule.h#include fact *Fact;/事实集(概念集)char *str=, 反刍 /* 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;/规则之前件(条件)集,注意与下面对应int rulep6=22,23,12,3,0,0, /*金钱豹 30*/ 21,23,12,3,0,0, /*老虎 29*/ 22,19,20,11,0,0, /*长颈鹿 28*/ 21,17,0,0,0,0, /*斑马 27*/ 17,19,20,13,-9,0, /*鸵鸟 26*/ 17,18,13,-9,0,0, /*企鹅 25*/13,16,0,0,0,0, /* 海燕24*/ 15,0,0,0,0,0, /*哺乳类 3*/ 14,0,0,0,0,0, /*哺乳类 3*/10,0,0,0,0,0, /*鸟类 13*/ 8,9,0,0,0,0, /*鸟类 13*/ 3,7,0,0,0,0, /*食肉类 12*/3,4,5,6,0,0, /*食肉类12*/ 3,2,0,0,0,0, /*有蹄类 11*/ 3,1,0,0,0,0 /*有蹄类 11*/;/规则之后件(结论)集,注意与上面对应int rulec= 30, 29, 28, 27, 26, 25, 24, 3, 3, 13, 13, 12, 12, 11, 11; /前7个是要识别的动物int main() fact *F,*T; rule *Rule,*R; char ch8; int i=1; Fact=NULL; /事实链表初始为空while(strcmp(stri, 0)!=0) /在事实链表中填入事实,注意:前插入 F=new fact(i,stri+); F-Next=Fact; Fact=F; F=Fact; Fact=NULL; while(F) /倒转上面前插入的事实链表。inverted the upper linkT=F; F=F-Next; T-Next=Fact; Fact=T; ch0=R;ch1=U;ch2=L;ch3=E;ch4=_;ch5=a;ch6=0; Rule=NULL; /规则链表初始为空for (i=0;iNext=Rule; Rule=R; ch5+; R=Rule; for (;) /开始询问用户。Query i=R-Query(Fact); if(i=1) break; /如果返回“真”,则推理成功,并可以给出最后专家答案!R=R-Next; if(!R) break; /所有规则都扫描完,R为空,则退出! if(!R) coutendlI dont know; /所有规则都扫描完的退出,表明无法得到答案,coutendlPress any bar to exit!; getchar(); return True; 五、实验总结本次识别型专家系统可以采用多种语言编程,如vc,vb,prolog等等,我通过认真阅读了实验指导书后,选用c语言设计成动物识别型专家系统;通过本次专家系统的设计,使我懂得了专家系统的组成,一个简单的专家系统由用户界面,知识库,数据库,推理机,解释机构,知识获取机构;懂得了专家系统的类别,分为解释型,预测型,诊断型,

温馨提示

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

评论

0/150

提交评论