实验一产生式系统实验
- 格式:doc
- 大小:270.50 KB
- 文档页数:5
报告_基于产⽣式系统的动物识别系统实验基于产⽣式系统的动物识别系统知识表⽰与推理专题魏江200620108203 计算机系统结构专业(1班)正向推理是产⽣式系统的⼀种推理⽅法,它是从⼀组表⽰事实的谓词或命题出发,使⽤⼀组产⽣式规则,⽤以证明该谓词公式或命题是否成⽴.本实验⽤两种⽅法实现了⼀个简单的动物识别系统.⼀、实验⽬的1.熟悉和掌握产⽣式系统的运⾏机制,2.掌握基于产⽣式系统的正向推理的基本⽅法。
3.简要⽐较两种实现⽅式的异同⼆、实验内容1. 能根据输⼊的动物特征判断是那种动物或给出相应的回答. (第⼀种⽅法)2. 如果根据初始输⼊的动物特征不能判断,则可以动态增加新事实(即动物特征)来判断属于那种动物. (第⼀种⽅法)3. 可根据提⽰选择所要识别的动物是否具有该特征.(第⼆种⽅法)三、算法设计编程语⾔与编程环境: C++,VC6.0下⾯⽤第⼀种⽅法简要说明算法的设计过程.⾸先建⽴了⼀个animal_identifier的类.该类包含的属性有:f和r. f指针指向事实集,r指向规则集.包括的关键成员函数有:Creat_Rules(),Creat_Fact(), reason().1 建⽴静态规则库.即建⽴产⽣式规则.本算法采⽤了产⽣中间事实的⽅法,这样做的优点是涉及到的规则少,容易理解,便于建⽴和使⽤规则.为了便于设计,我们把要识别的动物限于7种,这样所需要的产⽣式规则就⽐较少.本算法总共有16种规则,部分规则如下:R1:如果某动物有⽑发则该动物是哺乳动物R2:如果某动物有奶则该动物是哺乳动物R3:如果某动物有⽻⽑则该动物是鸟R4:如果某动物会飞,且下蛋则该动物是鸟R5:如果某动物吃⾁则该动物是⾷⾁动物R6:如果某动物有锋利的⽛齿,且有⽖,且眼睛盯着前⽅则该动物是⾷⾁动物R7:如果某动物是哺乳动物,且有蹄则该动物是有蹄类哺乳动物……………..R16: 如果反刍则哺乳动物上述规则库由类animal_identifierd的⽅法Creat_rules()静态实现.2 建⽴事实库建⽴事实库是由⽅法Creat_Fact()实现的.该⽅法要求⽤户动态输⼊事实,即要求⽤户先输⼊特征个数,然后输⼊动物的特征,如果未识别出来,⽤户可以增加输⼊,或者退出.3 正向推理过程.正向推理是从已知事实出发,通过规则库求得结论,或称数据驱动⽅式。
目录人工智能及其应用........................................................................................... 错误!未定义书签。
实验报告................................................................................................... 错误!未定义书签。
实验一产生式系统实验群. (2)一、实验目的: (2)二、实验原理: (2)三、实验条件: (3)四、实验内容: (3)五、实验步骤: (3)实验二搜索策略实验群搜索策略: (6)一、实验目的: (6)二、实验原理: (6)三、实验条件: (6)四、实验内容: (6)五、实验步骤: (7)六:实验过程: (7)七、A*算法流程图: (18)八、实验结论: (19)实验三神经网络实验群 (20)一、实验目的: (20)二、实验原理: (20)三、实验条件: (20)四、实验内容: (20)五、实验步骤: (21)六、实验结论: (21)实验四自动规划实验群 (25)一、实验目的: (25)二、实验原理: (25)三、实验条件: (25)四、实验内容: (26)五、实验步骤: (26)实验一产生式系统实验群产生式系统: 是由一组规则组成的、能够协同作用的推理系统。
其模型是设计各种智能专家系统的基础 .产生式系统主要由规则库、综合数据库和推理机三大部分组成。
本实验环境主要提供一个能够实现模拟产生式专家系统的验证、设计和开发的可视化操作平台。
学生既能用本系统提供的范例进行演示或验证性实验,也能够用它来设计并调试自己的实验模型。
一、实验目的:熟悉和掌握产生式系统的运行机制,掌握基于规则推理的基本方法。
二、实验原理:生式系统用来描述若干个不同的以一个基本概念为基础的系统,这个基本概念就是产生式规则或产生式条件和操作对。
简单动物识别系统的知识表示实验报告一、实验目的:1、理解和掌握产生式知识表示方法。
2、能够用选定的编程语言实现产生式系统的规则库。
二、实验内容和要求:1、以动物识别系统的产生式规则为例。
2、用选定的编程语言建造规则库和综合数据库,并能对它们进行增加、删除和修改操作。
三、实验步骤:1、确定需要识别的动物及其属性:本次实验的简单动物识别系统总共能识别7种动物,即:老虎、金钱豹、斑马、长颈鹿、企鹅、鸵鸟、信天翁。
2、建立识别七种动物识别系统的规则:由于实验要求系统的规则库和综合数据库能够进行增加、删除和修改操作,因此可以采取逐步添加条件,压缩范围的方法进行识别,即:先跟据一些动物的共性进行大致分类,然后在添加约束条件,将范围缩小,直到能够识别出每一种不同的动物为止。
这样,我们在需要添加识别其他动物的功能时,只需要添加那些动物的个性方面的信息即可,这样也可以简化系统的结构和内容。
识别老虎、金钱豹、斑马、长颈鹿、企鹅、鸵鸟、信天翁这7种动物的简单动物识别系统规则一共可以写成以下15条:Rule1:IF 该动物有毛发 THEN 该动物是哺乳动物Rule2:IF 该动物有奶 THEN 该动物是哺乳动物Rule3:IF 该动物有羽毛 THEN 该动物是鸟Rule4:IF 该动物会飞 AND 会下蛋 THEN该动物是鸟Rule5:IF 该动物吃肉 THEN 该动物是肉食动物Rule6:IF 该动物有犬齿 AND 有爪 AND 眼盯前方 THEN该动物是肉食动物Rule7:IF 该动物是哺乳动物 AND 有蹄 THEN 该动物是有蹄类动物Rule8:IF 该动物是哺乳动物 AND 是嚼反刍动物 THEN 该动物是有蹄类动物Rule9:IF 该动物是哺乳动物 AND 是肉食动物 AND 是黄褐色AND 身上有暗斑点THEN该动物是金钱豹Rule10:IF 该动物是哺乳动物 AND 是肉食动物 AND 是黄褐色AND 身上有黑色条纹 THEN 该动物是老虎Rule11:IF 该动物是有蹄类动物 AND 有长脖子 AND 有长腿 AND 身上有暗斑点 THEN 该动物是有长颈鹿Rule12:IF 该动物是有蹄类动物 AND 身上有黑色条纹 THEN 该动物是斑马Rule13:IF 该动物是鸟 AND 有长脖子 AND 有长腿 AND不会飞 THEN 该动物是鸵鸟Rule14:IF 该动物是鸟 AND 会游泳 AND 有黑白二色 AND不会飞THEN 该动物是企鹅Rule15:IF 该动物是鸟 AND 善飞 THEN 该动物是信天翁三、选定编程语言并确定综合数据库和规则库结构:(1)选用C语言作为编程语言(2)综合数据库的建立:用C程序写出综合数据库的代码:char*str{"有毛发","有奶","有羽毛","有犬齿","有暗斑点","有黑色条纹","有蹄","有长脖子","有长腿","有爪","有黑白两色","是黄褐色"," 会游泳","会下蛋","会飞","善飞","不会飞","眼盯前方","吃肉","哺乳动物","嚼反刍动物","肉食动物","有蹄类动物","鸟","老虎","金钱豹","斑马","长颈鹿","企鹅","鸵鸟","信天翁",0}(3)规则库的建立:为了简化数据结构,将综合数据库中的事实全部用序号来表示,共有31个事实,编号依次为1到31。
实验报告【实验名称】______________产生式系统_______________________ 【实验目的】1. 理解产生式系统的结构原理与实际应用。
2. 掌握产生式规则表示及规则库组建的实现方法。
3. 熟悉和掌握产生式系统的运行机制,掌握基于规则推理的基本方法。
【实验原理】产生式系统用来描述若干个不同的以一个基本概念为基础的系统,这个基本概念就是产生式规则或产生式条件和操作对。
在产生式系统中,论域的知识分为两部分:用事实表示静态知识;用产生式规则表示推理过程和行为。
【实验内容】1.自己建造产生式系统(包括规则库和事实库),然后进行推理,即可以自己输入任何的事实,并基于原有的规则和输入的事实进行推理。
2.建造动物识别系统,能根据输入的动物特征判断是那种动物或给出相应的回答。
3.算法设计①首先建立事实库事实库是在程序的开始直接输入的,用户根据需要选择,即要求用户先输入特征个数,然后输入动物的特征,进行识别。
如果未识别出来,则可以重新选择,或者退出。
动物的特征如下: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老虎31金钱豹32长颈鹿33斑马34鸵鸟35企鹅②建立静态规则库即建立产生式规则,本算法采用了产生中间事实的方法,便于建立和使用规则。
为了便于设计,我们把要识别的动物限于7种,这样所需要的产生式规则就比较少。
本算法共有15种规则,如下:R1: 如果动物有奶,则它是哺乳动物R2: 如果动物有毛发,则它是哺乳动物R3: 如果动物有羽毛,则它是鸟R4: 如果动物会飞且生蛋,则它是鸟R5: 吃肉的哺乳动物是食肉动物R6: 有爪有犬齿木钉前方的哺乳动物是食肉动物R7: 有蹄的哺乳动物是有蹄动物R8: 反刍食物的有蹄动物是偶蹄动物R9: 黄褐色有黑条纹的食肉动物是老虎R10:黄褐色有黑色斑点的食肉动物是金钱豹R11:长腿长脖子有黄褐色暗斑点的有蹄动物是长颈鹿R12:有黑白条纹的有蹄动物是斑马R13:不会飞长腿长脖的鸟是鸵鸟R14:不会飞会游泳黑白色的鸟是企鹅R15:善飞不怕风浪的鸟是海燕具体表示如下:R1: 1->24R2: 2->24R3: 3->25R4: 4*5->25R5: 6*7*8*24->26R6: 9*24->26R7: 10*24->27R8: 11*27->28R9: 12*13*24->30R10: 12*14*24->31R11: 12*15*16*17*27->32R12: 13*18*27->33R13: 15*16*19*25->34R14: 19*20*21*25->35R15: 22*23*25->29③正向推理过程从已知事实出发,通过规则库求得结论,或称数据驱动方式。
山西财经大学信息管理学院王保忠编《人工智能实验指导书》适用专业:计算机科学与技术信息管理与系统信息科学与计算一、学时与学分总学时:48;总学分:4;实验学时:16;实验学分:1二、实验课的任务、性质与目的本实验课程是计算机专业、信息管理与系统学生的一门专业课程,通过实验软件环境提供的大量演示性、验证性和开发设计性实验,帮助学生更好地熟悉和掌握人工智能的基本原理和方法;通过实验提高学生编写实验报告、总结实验结果的能力;使学生对人工智能的相关理论有更深刻的认识。
三、基本原理本实验涉及人工智能的经典理论和方法,以及计算智能的部分分支和实现方法,主要包括以下内容:1. 产生式系统实验2. 搜索策略实验3. 神经网络实验4. 自动规划实验四、实验方式与基本要求本实验目的是使学生进一步加深对人工智能的基本原理和方法的认识,通过实践了解人工智能的实现手段。
实验方式:1. 实验共16学时;2. 由指导教师讲解实验的基本要求,提示算法的基本思想;3. 实验一人一组,独立完成实验的演示、验证和开发设计;4. 学生在完成预习报告后才能进入实验室进行实验。
五、实验项目的设置与内容提要《人工智能实验指导书》实验名称实验目的内容简介1 产生式系统实验熟悉和掌握产生式系统的运行机制,掌握基于规则推理的基本方法主要包括产生式系统的正、反向推理、基于逻辑的搜索等10余个相关演示性、验证性和开发性设计实验。
2 搜索策略实验熟悉和掌握启发式搜索的定义、估价函数和算法过程,并利用A*算法求解N数码难题,理解求解流程和搜索顺序。
主要包括盲目式、启发式搜索类的10余个相关演示性、验证性和开发性设计实验。
3 神经网络实验理解反向传播网络的结构和原理,掌握反向传播算法对神经元的训练过程,了解反向传播公式。
通过构建BP网络实例,熟悉前馈网络的原理及结构。
主要包括以BP网为代表的ANN的验证性实验及设计性实验。
并包括用BP网解决一些非线性问题的典型设计实验(如异或问题、布尔代数及非线性函数模拟等)4 自动规划实验理解自动规划的基本原理,掌握为活动实体(人、组织、机器)设计合理的行为、按时间顺序的活动序列等基本技术。
《人工智能》课程教学大纲课程代码:H0404X课程名称:人工智能适用专业:计算机科学与技术专业及有关专业课程性质:本科生专业基础课(学位课)主讲教师:中南大学信息科学与工程学院智能系统与智能软件研究所蔡自兴教授总学时:40学时(课堂讲授36学时,实验教学4学时)课程学分:2学分预修课程:离散数学,数据结构一. 教学目的和要求:通过本课程学习,使学生对人工智能的发展概况、基本原理和应用领域有初步了解,对主要技术及应用有一定掌握,启发学生对人工智能的兴趣,培养知识创新和技术创新能力。
人工智能涉及自主智能系统的设计和分析,与软件系统、物理机器、传感器和驱动器有关,常以机器人或自主飞行器作为例子加以介绍。
一个智能系统必须感知它的环境,与其它Agent和人类交互作用,并作用于环境,以完成指定的任务。
人工智能的研究论题包括计算机视觉、规划与行动、多Agent系统、语音识别、自动语言理解、专家系统和机器学习等。
这些研究论题的基础是通用和专用的知识表示和推理机制、问题求解和搜索算法,以及计算智能技术等。
此外,人工智能还提供一套工具以解决那些用其它方法难以解决甚至无法解决的问题。
这些工具包括启发式搜索和规划算法,知识表示和推理形式,机器学习技术,语音和语言理解方法,计算机视觉和机器人学等。
通过学习,学生能够知道什么时候需要某种合适的人工智能方法用于给定的问题,并能够选择适当的实现方法。
二. 课程内容简介人工智能的主要讲授内容如下:1.叙述人工智能和智能系统的概况,列举出人工智能的研究与应用领域。
2.研究传统人工智能的知识表示方法和搜索推理技术,包括状态空间法、问题归约法谓词逻辑法、语义网络法、盲目搜索、启发式搜索、规则演绎算法和产生式系统等。
3.讨论高级知识推理,涉及非单调推理、时序推理、和各种不确定推理方法。
4.探讨人工智能的新研究领域,初步阐述计算智能的基本知识,包含神经计算、模糊计算、进化计算和人工生命诸内容。
产生式实验报告一、引言产生式(Production)是一种用于表示语法规则的形式化工具,它在人工智能领域具有广泛的应用。
本实验报告旨在介绍产生式的基本概念、产生式的应用领域以及在实验中如何使用产生式来实现推理和搜索。
二、产生式的基本概念1. 产生式的定义产生式是一种形式化的表示语法规则的工具。
它由一个左部(Left-hand side)和一个右部(Right-hand side)组成,左部表示一个非终结符号,右部则表示一串终结符号和非终结符号的序列。
2. 产生式的形式产生式的形式通常为:左部 -> 右部,其中右部由终结符和非终结符组成,可以为空。
3. 产生式的应用产生式在人工智能领域有广泛的应用,例如在自然语言处理中,可以使用产生式来表示句子的语法结构;在专家系统中,可以使用产生式来表示知识库中的规则;在编译原理中,可以使用产生式来描述语言的语法规则等。
三、产生式的应用领域1. 自然语言处理在自然语言处理中,产生式被广泛应用于句子的语法分析、语义分析以及机器翻译等任务。
通过定义一系列产生式规则,可以构建一个语法分析器,用于自动识别和分析句子的结构和意义。
2. 专家系统专家系统是一种基于知识库的智能系统,其中的知识被表示为一组产生式规则。
通过使用产生式来表示知识和推理规则,专家系统可以根据用户提供的问题和条件进行推理和决策,给出相应的解答和建议。
3. 编译原理编译原理是计算机科学中的一个重要领域,其中的产生式被广泛应用于编译器的前端处理,用于描述语言的语法规则和语义规则。
通过使用产生式和对应的语法分析算法,可以将源代码转化为中间代码或目标代码。
四、产生式在实验中的应用在实验中,我们可以使用产生式来实现推理和搜索。
以人工智能领域的经典问题“图搜索”为例,我们可以使用产生式规则来描述搜索的过程。
1. 初始状态假设我们需要解决一个迷宫问题,迷宫可以表示为一个二维矩阵,其中的元素可以是墙壁、路径或终点。
生化系统综合实验报告1. 引言生化系统是一个复杂的系统,由多个生化反应和生物分子组成。
了解和研究生化系统对于理解生物体的功能和疾病发生机制具有重要意义。
本实验旨在通过实验操作和数据分析,加深对生化系统的认识和理解。
2. 实验目的1. 掌握生化实验操作技能;2. 了解常用的生化实验仪器和试剂的使用方法;3. 学习采集和处理实验数据;4. 加深对生化反应和生物分子的理解。
3. 实验材料与方法3.1 材料- 实验仪器:分光光度计、离心机、PCR仪、电泳仪;- 实验试剂:DNA提取试剂盒、PCR试剂盒、琼脂糖、DNA分子量标记物。
3.2 方法1. DNA提取:从植物叶片样品中提取DNA,按照DNA提取试剂盒的说明书进行操作;2. PCR扩增:通过PCR扩增特定基因片段,使用PCR试剂盒和PCR仪进行反应,优化PCR反应条件,包括温度和时间;3. 准备琼脂糖凝胶:按照说明书将琼脂糖溶解于TAE缓冲液中,并将其倒入电泳仪模型中固化;4. 准备DNA样品:将PCR扩增产物与DNA分子量标记物混合,加载到琼脂糖凝胶槽中;5. DNA电泳:将琼脂糖凝胶放入电泳仪中,设定合适的电流和时间进行电泳,观察DNA迁移结果。
4. 实验结果与讨论在本实验中,我们成功提取了植物叶片样品的DNA,并通过PCR扩增得到了特定基因片段。
下图展示了PCR电泳结果:通过结果观察,我们发现所有样品都成功扩增出了目标基因片段,并且具有相似的大小。
这说明我们的PCR反应条件是合适的,并且得到了高质量的PCR产物。
通过DNA电泳结果,我们可以看到样品之间的DNA迁移距离存在差异。
这是因为DNA分子的大小不同,在电场力下会以不同的速度迁移。
另外,我们还看到了DNA分子量标记物,在琼脂糖凝胶上形成了明显的条带。
通过与标准品的比较,我们可以估计出PCR产物的大小。
5. 结论通过本实验,我们成功地进行了DNA提取、PCR扩增和DNA电泳等生化实验操作。
产生式系统实验报告一、实验目的说到产生式系统,大家可能会觉得这是一项很抽象、深奥的技术。
其实它就是一种模拟人类思维的方式,基本上就是通过一系列的规则来进行推理和决策。
像什么自动驾驶、语音识别、智能客服等等,背后都少不了类似产生式系统的“身影”。
这次实验的目标就是让我们更好地理解这个概念,掌握它的基本原理和应用,体验一下它是怎么在实际中发挥作用的。
通过这个实验,大家应该能够明白怎么通过一些简单的规则去做出复杂的推理,进而得到想要的结论。
二、实验内容与方法1.定义规则要做这个实验,首先得理解什么是产生式系统的“规则”。
在这个系统里,我们通常有一堆条件和行动,每条规则基本上都长得像“如果…那么…”,意思就是说:只要前面的条件满足了,后面的一些操作就会跟着做出来。
简单来说,它就像是一个严格的“如果我做了A,就能得到B”的游戏。
就比如你去超市买东西,规则就是“如果我买了牛奶,那么就得付钱”。
简单直白,但你要是没有理解这个规则,那就尴尬了。
2.规则匹配好,假设我们已经知道了规则,接下来就是如何匹配这些规则了。
在系统运作的时候,它会一条一条地检查这些规则,看哪个规则的条件被满足。
如果某个规则的前提成立,它就会执行后面的动作。
这就像你家里的冰箱一样,当你按下开关,它就知道需要做什么动作。
如果你要是手忙脚乱地按错了,那冰箱可能就不工作了。
规则匹配就好比是冰箱的“判断力”,决定它到底应该做什么。
3.推理与结果在规则匹配的基础上,产生式系统可以不断地进行推理和更新。
简单来说,它就像是一个聪明的“决策树”。
系统根据规则的执行结果,判断下一步该怎么做。
比如,你原本输入了“天气很好”,系统就会按照规则给你推荐“去散步”。
如果你接受了这个建议,它又会根据新的输入“我去了公园”,来判断下一个该怎么推荐。
整个过程,就像是在下棋一样,不断根据每一步的“棋局”进行推演。
三、实验结果与分析1.规则的设置与优化实验过程中,首先是规则的设置。
实验一产生式系统实验
一、实验目的
1.熟悉一阶谓词逻辑和产生式表示法。
2.掌握产生式系统的运行机制。
3.以及基于规则推理的基本方法。
二、实验内容
运用所学知识,设计并编程实现一个小型的水果识别人工智能系统。
三、实验步骤
1. 基于产生式系统实验程序,设计并实现一个小型人工智能系统:
(1)系统设置,包括设置系统名称和系统谓词,给出谓词名及其含义。
(2)编辑知识库,通过输入规则或修改规则等,完成整个规则库的建立。
(3)建立事实库(综合数据库),输入多条事实或结论。
(4)运行推理,包括正向推理和反向推理,给出相应的推理过程、事实区和规则区。
2. 撰写实验报告。
四、实验结果
1. 系统名称及谓词定义
(1)系统名称:水果识别系统
(2)谓词定义:
①水果是:fruit
②类别是:is
③事实:positive
2. 系统知识库
(1)fruit("菠萝"):-is("温热性水果"),positive("酸甜的"),positive("也称凤梨")
(2)fruit("甘蔗"):-is("平性水果"),positive("甜的"),positive("有节的")
(3)fruit("火龙果"):-is("寒凉性水果"),positive("仙人掌科水果")
(4)fruit("梨"):-is("寒凉性水果"),positive("药用功效强的"),positive("蔷薇科水果")
(5)fruit("荔枝"):-is("温热性水果"),positive("需冷藏的")
(6)fruit("柠檬"):-is("平性水果"),positive("酸的"),positive("黄色的")
(7)fruit("苹果"):-is("平性水果"),positive("红色的")
(8)fruit("桑葚"):-is("平性水果"),positive("紫色的")
(9)fruit("西瓜"):-is("寒凉性水果"),positive("多汁的"),positive("葫芦科水果")
(10)fruit("香蕉"):-is("寒凉性水果"),positive("黄色的"),positive("剥皮的")
(11)fruit("樱桃"):-is("温热性水果"),positive("大红色的"),positive("甜的")
(12)is("寒凉性水果"):-positive("清热降火")
(13)is("平性水果"):-positive("寒热偏性不明,开胃健脾")
(14)is("温热性水果"):-positive("驱寒补虚")
3. 系统正反向推理过程、事实区和规则区。
(1)正向推理过程
①事实区:
温热性水果
大红色的
甜的
②规则区:
fruit("樱桃"):-is("温热性水果"),positive("大红色的"),positive("甜的")(2)反向推理过程
①假设:菠萝
②水果是:驱寒补虚吗(Y/N) 回答:Y
③水果是:酸甜的吗(Y/N) 回答:Y
④水果是:也称凤梨吗(Y/N) 回答:Y
⑤事实区:
驱寒补虚
温热性水果
酸甜的
也称凤梨
菠萝
⑥规则区:
is("温热性水果"):-positive("驱寒补虚")
fruit("菠萝"):-is("温热性水果"),positive("酸甜的"),positive("也称凤梨")
⑦结论:假设成立
五、实验总结。