常熟理工学院《人工智能》实验指导与报告书 2016 — 2017 学年第1 学期专业计算机科学与技术班级计科 142 学号 Z09314214 姓名张磊实验地点 N6-110 指导教师汤力计算机科学与工程学院 1 实验目录实验 1 产生式系统.......................................................................................................................... 2 实验 2 图像分割算法...................................................................................................................... 4 2 实验 1 实验目的 1. 理解产生式系统的结构原理与实际应用。 2. 掌握产生式规则表示及规则库组建的实现方法。 3. 理解推理机的算法原理并掌握其编程实现方法。预****内容产生式系统实验内容运用所学知识,设计并编程实现一个简单的产生式系统 1. 简单产生式系统的名称及概述(包括所做系统的背景介绍) 答:通过理解并体会知识库与控制系统相互独立的智能产生式系统与一般程序的区别, 为以后设计并实现复杂的专家系统奠定基础。知识表示为产生式知识表示方法, 设计并实现具有 15 条规则能自动识别 7 种动物的产生式系统。知识库与控制系统相互独立, 系统完成后除了能识别已有的 7 种动物外, 按产生式知识表示方法向知识库中添加、修改新的知识后, 系统能在不修改控制系统程序的情况下仍然能正确识别。 2. 简单产生式系统的总体设计(系统组成模块及功能说明,包括人机交互模块、规则库存储及管理模块、综合数据库管理模块以及推理机制模块等)。答: 产生式系统由三部分组成, 即总数据库、产生式规则和控制策略。总数据库用于存放求解过程中各种当前信息的数据结构。产生式规则中某条规则的前提与总数据库中的某些事实相匹配时, 该规则就被激活, 并把其结论作为新的事实存入总数据库。产生式规则是一个规则库,在本系统中为 文本文件,用于存放于求解问题有关的某个领域知识的规则集合及其交换规则。控制策略为一个推理机构,由一组程序组成,用来控制产生式系统的运行,决定问题求解过程的推理路线,实现对问题的求解。 3. 简单产生式系统的详细设计答: 根据产生式系统的原理, 该系统一般由规则库、综合数据库、控制系统三部分构成。先定义规则库结构体,里面包括 Condition[6][20] , result[20] um ,再定义综合数据库即事实库,里面包括 item[20][20] ,和事实数 Fnum ,主要用到的参数就是这些。然后初始化规则库和综合数据库, 编辑规则库。之后就是主程序, 也就是推理机的作用: 先让用户输入事实, 然后与规则库中的知识从第一条开始逐条匹配, 当匹配成功时, 将结论插入事实库并更新事实库, 再逐条匹配, 依次循环.. 最终如果能匹配成功就显示‘该动物是..’,否则显示‘无法识别该动物’,程序结束。 3 4. 系统流程 5. 系统运行演示过程实验结果(可续页) 4 #include "" #include<> #include<> #include<iostream> using namespace std; int _tmain() { int rule[40]; int data[100]={17,21,22,13,3}; int n=5; int i; for( i=1;i<32;i++) { rule[i]=i; } for(i=0;i<n;i++) { if(rule[1]==data[i]) { data[n]=rule[2]; n++; cout<<"check1"; } else if(rule[3]==data[i]) { data[n]=rule[2]; n++; cout<<"check3"<<endl; } else if(rule[4]==data[i]) { data[n]=rule[5]; n++; cout<<"check4"; } else if(rule[6]==data[i]) { for(i=0;i<n;i++) if(rule[7]==data[i]) { data[n]=rule[5]; 5 n++; cout<<"check6"; }} else if(rule[2]==data[i]) { for(i=0;i<n;i++) if(rule[8]==data[i]) { data[n]=rule[9];
《人工智能》实验指导与报告书 来自淘豆网www.taodocs.com转载请标明出处.