第一章 产生式系统
- 格式:doc
- 大小:50.00 KB
- 文档页数:4
产生式系统产生式系统(production system)由波斯特(Post)于1943年提出的产生式规则(production rule)而得名。
人们用这种规则对符号进行置换运算。
1965年美国的纽厄尔和西蒙利用这个原理建立了一个人类的认知模型。
同年,斯坦福大学利用产生式系统结构设计出第一个专家系统DENDRAL。
产生式系统用来描述若干个不同的以一个基本概念为基础的系统。
这个基本概念就是产生式规则或产生式条件和操作对的概念。
在产生式系统中,论域的知识分为两部分:用事实表示静态知识,如事物、事件和它们之间的关系;用产生式规则表示推理过程和行为。
由于这类系统的知识库主要用于存储规则,因此有吧这类系统称为基于规则的系统(rule-based system)。
1、产生式系统的基本要素1.1产生式系统的组成产生式系统由三部分组成,即总数据库(Global Database),产生式规则库(Set of Product Rules)和控制策略(Control Strategies),各部分之间的关系如图1所示。
图1.产生式系统的主要组成1.1.1总数据库(Global Database)总数据库又称综合数据库、上下文、黑板等,用于存放求解过程中各种当前信息的数据结构,如问题的初始状态、事实或证据、中间推理结论和最后结果等,其中的数据是产生式规矩的处理对象。
数据库中的数据根据应用的问题不同,可以使常量、变量、谓词、表结构、图像等等。
例如,关于动物世界的产生式系统有如下数据库:…(Mammal Dog)(Eat Dog Meat)…从另一个角度,数据库可视为推理过程中间结果的存储池。
随着中间结果的不断加入,是数据库描述的问题状态逐步转变为目标状态。
1.1.2 规则库(Set of Product Rules)产生式规则库是某领域知识用规则形式表示的集合,其中包含将问题从初始状态转换到目标状态的所有变换规则。
当产生式规则中某条规则的前提与数据总库中的事实相匹配时,该规则库就被激活,并把其结论作为新的事实存入总数据库。
产生式系统识别动物python 产生式系统的应用实例转-回复产生式系统(Production System)是人工智能领域中常用的一种知识表示和推理方式,也被广泛应用于自然语言处理、专家系统、智能搜索等领域。
产生式系统以if-then的规则形式表示知识,并通过模式匹配的方式进行推理和推断。
在本文中,我们将以"产生式系统识别动物python 产生式系统的应用实例转"为主题,逐步分析产生式系统的原理和应用,并介绍使用Python实现一个基础的动物识别系统的案例。
一、产生式系统原理及基本概念产生式系统是基于规则的知识表达和推理方式,它由条件部分和结论部分组成。
条件部分描述了一系列前提条件,结论部分则是满足条件部分的推论结果。
产生式系统通过匹配条件部分和已有的事实库进行推理,从而得到新的结论。
产生式系统的基本概念包括规则(rule)、事实(fact)、工作单元(working memory)和控制策略(control strategy)。
规则是产生式系统的基本单位,它包含了if-then的条件推理规则。
例如,一条规则可以是:“如果动物有毛发,并且有四条腿,那么它是哺乳动物”。
事实是产生式系统中的基本数据,它表示系统当前的知识状态。
例如,一条事实可以是:“这个动物有四条腿”。
工作单元是存储和管理事实的数据结构,它可以是一个列表或者一个数据库。
产生式系统通过与工作单元中的事实进行匹配来进行推理。
控制策略是产生式系统的推理策略,它决定了系统在工作单元中进行规则匹配和推理的顺序。
常见的控制策略包括深度优先、广度优先和最佳优先等。
二、动物识别的产生式系统实现在本节,我们将以一个简单的动物识别系统为例,介绍如何使用产生式系统来实现动物识别。
这个动物识别系统可以根据输入的动物特征判断其是什么类别的动物,比如哺乳动物、爬行动物等。
1. 确定知识库和规则库首先,我们需要确定动物特征的知识库和规则库。
知识库包括各种动物的特征信息,规则库则包含了各种动物的分类规则。
第一章 产生式系统本章主要内容:● 产生式系统的三个组成部分及其作用*● 产生式系统解题的基本过程● 产生式系统的三类控制策略*● 问题的计算机表示原则● 可分解的产生式系统的意义*(*为重点内容)是AI 中最典型/最普遍的一种结构,大多数专家系统都用它来构造。
特点:解题过程与人类思维很相似。
1.1产生式系统的组成部分1.一个综合数据库(Global Database )用来描述问题的状态或有关事实。
一般随着解题过程不断变化。
像棋局一样2.一组产生式规则(Set of Rules )一般表示为 if ……. then ……形式。
规则使用的条件 采取的行动或结论某规则使用后,可使综合数据库的状态发生变化,形成新的状态。
即数据库变化的规则3.控制策略(Control System of strategies )即控制如何使用这些规则去搜索解(决定着解题过程或推理路线);还要记住使用过 即使用规则的流程 的规则,以便找到解路径。
例题1:八数码游戏(似华容道)让学生课后思考如何存储,制定规则100min可以经过思索,看出走步为:上上左下右。
问题似怎样让计算机来解。
用产生式系统解题,须先建立问题的产生式系统描述,即给定综合数据库、规则集, 再利用某种控制策略求解。
(1)综合数据库可见用二维数组较直观:(S ij ),1≤i, j ≤3, S ij ∈{0,1,…,8}且不等 《数据结构》中的各 一个具体的矩阵就表示一个棋局状态。
对八数码游戏,显然有9!个状态,构成其 种结构都可用。
状态空间――解题过程中所有可能出现的状态的集合。
(2)规则集每一张牌的移动,都可归结为空格的移动(上、下、左、右),用4条规则描述:if j 0-1≥1 then (左移)Si 0j 0=Si 0(j 0-1),Si 0(j 0-1)=0;if i 0-1≥1 then (上移)Si 0j 0=S (i 0-1)j 0,S (i 0-1)j 0=0;if j 0+1≤3 then (右移)Si 0j 0=Si 0(j 0+1),Si 0(j 0+1)=0;if i 0+1≤3 then (下移)Si 0j 0=S (i 0+1)j 0,S (i 0+1)j 0=0.(3)搜索策略按某种策略(如爬山法)从规则集中不断选用规则,最终得到解路径。
实验一:产生式系统实验一、实验目的:熟悉和掌握产生式系统的运行机制,掌握基于规则推理的基本方法。
二、实验原理产生式系统用来描述若干个不同的以一个基本概念为基础的系统,这个基本概念就是产生式规则或产生式条件和操作对。
在产生式系统中,论域的知识分为两部分:用事实表示静态知识;用产生式规则表示推理过程和行为。
产生式系统是由一组规则组成的、能够协同作用的推理系统。
其模型是设计各种智能专家系统的基础.产生式系统主要由规则库、综合数据库和推理机三大部分组成。
本实验环境主要提供一个能够实现模拟产生式专家系统的验证、设计和开发的可视化操作平台。
学生既能用本系统提供的范例进行演示或验证性实验,也能够用它来设计并调试自己的实验模型。
三、实验条件:1、产生式系统实验程序。
2、IE6.0以上,可以上Internet四、实验内容:1.对已有的产生式系统(默认的例子)进行演示,同时可以更改其规则库或(和)事实库,进行正反向推理,了解其推理过程和机制。
2.自己建造产生式系统(包括规则库和事实库),然后进行推理,即可以自己输入任何的规则和事实,并基于这种规则和事实进行推理。
这为学生亲手建造产生式系统并进行推理提供了一种有效的实验环境。
五、实验步骤:1.定义变量,包括变量名和变量的值。
2.建立规则库,其方法是,(a) 输入规则的条件:每条规则至少有一个条件和一个结论,选择变量名,输入条件(符号);选择变量值,按确定按钮就完成了一条条件的输入。
重复操作,可输入多条条件;(b) 输入规则的结论:输入完规则的条件后,就可以输入规则的结论了,每条规则必须也只能有一个结论。
选择变量名,输入条件(符号),选择变量值,按确定按钮就完成了一个结论的输入。
重复以上两步,完成整个规则库的建立。
3.建立事实库(总数据库):建立过程同步骤2。
重复操作,可输入多条事实。
4.然后按“开始”或“单步”按钮即可。
此外,利用实例演示,可以运行系统默认的产生式系统,并且可以进行正反向推理。
【⼈⼯智能导论】产⽣式系统
产⽣式系统
产⽣式系统是给定事实与推理规则,进⾏⾃动推理的推理系统。
产⽣式系统由3个部分组成:总数据库、产⽣式规则、控制策略。
总数据库是存放求解过程中各种当前信息的数据结构,包括已知事实与推理过程中得到的结论
产⽣式规则是⼀个规则库,存放形如"if <前提>, then <结论>" 的推理规则.
控制策略决定了推理过程中如何应⽤规则,即确定下⼀步应该选⽤什么规则,类⽐于图搜索中的图搜索策略(DFS,BFS,etc.)
产⽣式系统图搜索
初始事实数据初始节点
⽬标条件⽬标节点
产⽣式规则状态转换规则问题变换规则
规则集操作集
动态数据库节点(状态/问题)
控制策略搜索策略
按照搜索⽅向,产⽣式系统可分为正向推理、逆向推理和双向推理。
例正向推理设P1,P2,P3,P4为谓词公式或命题, 初始总数据库DB={P1},规则库R={R1:P1→P2,R2:P2→P3,R3:P3→P4},则推理步骤如下
1. P1∈DB,在规则库R中寻找到可⽤的规则R1:P1→P2,得到P2,当前DB={P1,P2}
2. P2∈DB,在规则库R中寻找到可⽤的规则R2:P2→P3,得到P3,当前DB={P1,P2,P3}
3. P3∈DB,在规则库R中寻找到可⽤的规则R3:P3→P4,得到P4,当前DB={P1,P2,P3,P4}
Processing math: 100%。
产生式系统的基本结构
一、简明介绍
生产式系统(production system)是一种用在计算机科学、人工智能
等领域的一种程序设计模式。
它是一种采用表达式来定义如何从一组初始
状态及一些属性表示的输入,来求出其中一种期望的最终状态。
在生产式
系统中,程序由一组称为产生式的规则驱动,这些规则被称为生产式。
每
条生产式都是一个断言,如果条件满足,则产生的行为形式可能会改变系
统的状态。
生产式系统的基本结构可以概括为“状态空间”+“产生式”。
状态
空间可以被定义为一组可能存在的状态,比如从其中一个状态可以转移到
另一个状态,这些可能的变动都被定义在状态空间中。
而产生式则表示各
个状态可能的转移方式,每一个生产式都可以概括为“如果A,则B”的
形式,如果A条件满足,则触发B,从而实现状态的转移及期望的最终状态。
二、生产式系统的基本架构
1.推理引擎:推理引擎是生产式系统的核心部分,主要作用是从产生
式列表中选择当前需要应用的产生式,并根据当前的输入和环境来激活产
生式。
2.知识库:知识库是生产式系统的第二个重要部分,存放着系统所能
识别的知识,包括已经编程好的产生式列表、基本规则、数据及解决方案,等等。
产生式系统的组成产生式系统是人工智能领域中一种重要的知识表示和推理方法。
它由一组产生式规则组成,每条规则由前件和后件构成,表示了一种条件-动作对。
产生式系统通过匹配规则的前件,选择合适的规则并执行相应的动作,从而实现推理和问题求解的过程。
一、产生式系统的基本组成1.1 前件:前件是规则中的条件部分,用于描述问题的特征和条件。
在问题求解过程中,产生式系统会根据输入的问题描述和已知条件,匹配规则的前件,以确定适用的规则。
1.2 后件:后件是规则中的动作部分,用于描述问题求解的结果和推理的结论。
当规则的前件与当前问题描述匹配成功时,产生式系统会执行规则的后件,得到相应的结果或结论。
1.3 规则库:规则库是产生式系统中存储规则的地方,它由一组产生式规则组成。
规则库中的规则根据具体问题的特点和需求,经过人工设计和编写,用于描述问题的解决思路和推理过程。
1.4 控制策略:控制策略是产生式系统中的重要组成部分,它决定了规则的执行顺序和方式。
控制策略可以根据不同的问题和应用需求进行调整和优化,以提高系统的推理效率和准确性。
二、产生式系统的工作原理产生式系统的工作原理可以简单描述为以下几个步骤:2.1 初始化:产生式系统在开始工作之前,需要初始化系统的状态和规则库。
初始化包括设置系统的初始状态和加载规则库。
2.2 匹配规则:产生式系统根据当前问题描述和已知条件,匹配规则库中的规则的前件。
匹配可以基于规则的特征和条件进行,也可以基于问题描述和已知条件的匹配度进行。
2.3 选择规则:当有多条规则的前件与当前问题描述匹配成功时,产生式系统需要根据一定的策略选择合适的规则。
选择规则可以基于规则的优先级、匹配度等进行。
2.4 执行规则:选择合适的规则后,产生式系统执行规则的后件,得到相应的结果或推理结论。
执行规则可以包括修改系统状态、生成新的问题描述、输出结果等。
2.5 更新状态:在执行规则后,产生式系统会更新系统的状态和问题描述。
产生式系统的组成
产生式系统是一种用于描述形式语言的形式化工具,由一组产生式和一些终结符号组成。
其中,产生式指定了如何将一些符号替换为其他符号或符号串,而终结符号则是产生式系统中不再进行替换的符号。
产生式系统的组成包括以下几个要素:
1. 终结符号集合:产生式系统中使用的符号集合,也称为字母表或字母表表达式。
2. 非终结符号集合:用于表示符号串中可以替换的部分的符号集合,也称为变量集合。
3. 产生式集合:由非终结符号和终结符号组成的规则集合,描述了如何将一个符号串替换为另一个符号串。
4. 开始符号:用于表示整个符号串的起始符号。
5. 推导规则:表示如何使用产生式将一个符号串推导为另一个符号串的规则。
6. 推导过程:根据推导规则,逐步将一个符号串推导为另一个符号串的过程。
以上是产生式系统的组成要素,通过组合不同的产生式和符号,可以描述各种形式化语言。
产生式系统在编译原理、自然语言处理等领域中得到了广泛的应用。
- 1 -。
产生式系统2.2.1 产生式系统1.序1943年,Post首先提出了产生式系统。
到目前为止,人工智能(AI)领域中的产生式系统,无论在理论上还是在应用上都经历了很大发展,所以现今AI中的产生式系统已与1943年Post提出的产生式系统有很大不同。
●因果关系自然界各个知识元(事实,断言,证据,命题, )之间存在着大量的因果关系,或者说前提和结论关系,用产生式(或称规则)表示这些关系是非常方便的:“模式——动作”对偶“条件——结论”对偶●产生式系统把一组领域相关的产生式(或称规则)放在一起,让它们互相配合、协同动作,一个产生式生成的结论一般可供另一个(或一些)产生式作为前提或前提的一部分来使用,以这种方式求得问题之解决,这样的一组产生式被称为产生式系统。
●产生式系统的历史a. 1943年,Post第一个提出产生式系统并把它用作计算手段。
其目的是构造一种形式化的计算工具,并证明了它与图灵机具有同样的计算能力。
b. 1950年,Markov提出了一种匹配算法,利用一组确定的规则不断置换字符串中的子串从而把它改造成一个新的字符串,其思想与Post类似。
c. (大约在)1950年,Chomsky为研究自然语言结构提出了文法分层概念,每层文法有一种特定的“重写规则”,也就是语言生成规则。
这种“重写规则”,就是特殊的产生式。
上面b和c所给出的系统其计算能力都与图灵机等价。
d. 1960年,Backus (译名为:巴克斯或巴科斯)提出了著名的BNF,即巴科斯范式,用以描写计算机语言的文法,首先用来描写ALGOL 60语言。
不久即发现,BNF范式基本上是Chomsky的分层系统中的上下文无关文法。
由于和计算机语言挂上了钩,产生式系统的应用范围大大拓广了。
2.产生式系统产生式系统的构成△一组规则每条规则分为左部(或称前提、前件)和右部(或称结论、动作、后件)。
通常左部表示条件,核查左部条件是否得到满足一般采用匹配方法,即查看数据基DB(Data Base)中是否存在左部所指明的情况,若存在则认为匹配成功,否则认为匹配失败。
《人工智能导论》实验报告实验一:产生式系统——动物识别系统一、实验目的1、掌握知识的产生式表示法2、掌握用程序设计语言编制智能程序的方法二、实验内容1、所选编程语言:C语言;2.拟订的规则:(1)若某动物有奶,则它是哺乳动物。
(2)若某动物有毛发,则它是哺乳动物。
(3)若某动物有羽毛,则它是鸟。
(4)若某动物会飞且生蛋,则它是鸟。
(5)若某动物是哺乳动物且有爪且有犬齿且目盯前方,则它是食肉动物。
(6)若某动物是哺乳动物且吃肉,则它是食肉动物。
(7)若某动物是哺乳动物且有蹄,则它是有蹄动物。
(8)若某动物是哺乳动物且反刍食物,则它是有蹄动物。
(9)若某动物是食肉动物且黄褐色且有黑色条纹,则它是老虎。
(10)若某动物是食肉动物且黄褐色且有黑色斑点,则它是金钱豹。
(11)若某动物是有蹄动物且长腿且长脖子且黄褐色且有暗斑点,则它是长颈鹿。
(12)若某动物是有蹄动物且白色且有黑色条纹,则它是斑马。
(13)若某动物是鸟且不会飞且长腿且长脖子且黑白色,则它是驼鸟。
(14)若某动物是鸟且不会飞且会游泳且黑白色,则它是企鹅。
(15)若某动物是鸟且善飞,则它是海燕。
2、设计思路:用户界面:采用问答形式;知识库(规则库):存放产生式规则,推理时用到的一般知识和领域知识,比如动物的特征,动物的分类标准,从哺乳动物、食肉动物来分,再具体地添加一些附加特征得到具体动物;建立知识库的同时也建立了事实库。
事实库是一个动态链表,一个事实是链表的一个结点。
知识库通过事实号与事实库发生联系。
数据库:用来存放用户回答的问题,存放初始状态,中间推理结果,最终结果;推理机:采用正向推理,推理机是动物识别的逻辑控制器,它控制、协调系统的推理,并利用知识库中的规则对综合数据库中的数据进行逻辑操作。
推理机担负两项基本任务:一是检查已有的事实和规则,并在可能的情况下增加新的事实;二是决定推理的方式和推理顺序。
将推理机制同规则对象封装在一起,事实对象记录了当前的状态,规则对象首先拿出前提条件的断言(只有这些前提都有符合时才会做这条规则的结论),询问事实对象集,如事实对象集不知道,则询问用户,如所有前提条件都被证实为真则结论为真,否则系统不知道结论真假。
产⽣式系统产⽣式系统正⽂ 构造知识型系统和建⽴认知模型时常⽤的知识表⽰的形式系统。
1943年e.波斯特⾸先将他提出的⼀种计算形式体系命名为产⽣式系统。
50年代末期,a.纽厄尔和h.a.西蒙在研究⼈类问题求解的认知模型时也使⽤了产⽣式系统这⼀术语。
产⽣式系统现代已成为研制⼈⼯智能系统时采⽤的最典型的体系结构之⼀。
产⽣式规则 简称产⽣式。
它是指形如α─→β或ifαthenβ或其等价形式的⼀条规则,其中α称为产⽣式的左部或前件;β称为产⽣式的右部或后件。
①如果α、β分别代表需要注视的⼀组条件及其成⽴时需要采取的⾏动,那么称为条件-⾏动型产⽣式;②如果α、β分别代表前提及其相应的结论,那么称为前提-结论型产⽣式。
⼈⼯智能中的推理很多是建⽴在直观经验基础上的不精确推理,⽽产⽣式在表⽰和运⽤不精确知识⽅⾯具有灵活性,因此许多专家系统采⽤产⽣式系统为体系结构。
产⽣式系统的组成 根据认知⼼理学对⼈处理信息的模型研究,产⽣式系统由产⽣式集合、全局数据库(环境数据结构)和控制程序(解释程序)三个基本部分组成。
①产⽣式集合:模拟⼈脑的长期记忆(ltm),存放相对稳定的长期知识,构成知识库。
②全局数据库:或称环境数据结构,模拟⼈脑的短期记忆(stm),⽤来存放表⽰有关⼯作环境的动态数据条款。
③控制程序:或称解释程序,对产⽣式的选⽤和整个系统的⼯作进⾏控制的⼦系统。
产⽣式系统的⼯作⽅式 产⽣式是系统的单元程序,它与常规程序不同之处在于,产⽣式是否执⾏并不在事前硬性规定,各产⽣式之间也不能相互直接调⽤,⽽完全决定于该产⽣式的作⽤条件能否满⾜,即能否与全局数据库的数据条款匹配。
因此在⼈⼯智能中常将产⽣式称为⼀种守护神(demon),即“伺机⽽动”之意。
另⼀⽅⾯,产⽣式在执⾏之后⼯作环境即发⽣变化,因⽽必须对全局数据库的条款作相应修改,以反映新的环境条件。
全部⼯作是在控制程序作⽤下进⾏的。
现代产⽣式系统的⼀个⼯作循环通常包含匹配、选优、⾏动三个阶段。
第一章 产生式系统
本章主要内容:
● 产生式系统的三个组成部分及其作用*
● 产生式系统解题的基本过程
● 产生式系统的三类控制策略*
● 问题的计算机表示原则
● 可分解的产生式系统的意义*
(*为重点内容)
是AI 中最典型/最普遍的一种结构,大多数专家系统都用它来构造。
特点:解题过程与人类思维很相似。
1.1产生式系统的组成部分
1.一个综合数据库(Global Database )
用来描述问题的状态或有关事实。
一般随着解题过程不断变化。
像棋局一样
2.一组产生式规则(Set of Rules )
一般表示为 if ……. then ……形式。
规则使用的条件 采取的行动或结论
某规则使用后,可使综合数据库的状态发生变化,形成新的状态。
即数据库变化的规则
3.控制策略(Control System of strategies )
即控制如何使用这些规则去搜索解(决定着解题过程或推理路线);还要记住使用过 即使用规则的流程 的规则,以便找到解路径。
例题1:八数码游戏(似华容道)
让学生课后思考如何
存储,制定规则100min
可以经过思索,看出走步为:上上左下右。
问题似怎样让计算机来解。
用产生式系统解题,须先建立问题的产生式系统描述,即给定综合数据库、规则集, 再利用某种控制策略求解。
(1)综合数据库
可见用二维数组较直观:(S ij ),1≤i, j ≤3, S ij ∈{0,1,…,8}且不等 《数据结构》中的各 一个具体的矩阵就表示一个棋局状态。
对八数码游戏,显然有9!个状态,构成其 种结构都可用。
状态空间――解题过程中所有可能出现的状态的集合。
(2)规则集
每一张牌的移动,都可归结为空格的移动(上、下、左、右),用4条规则描述:
if j 0-1≥1 then (左移)Si 0j 0=Si 0(j 0-1),Si 0(j 0-1)=0;
if i 0-1≥1 then (上移)Si 0j 0=S (i 0-1)j 0,S (i 0-1)j 0=0;
if j 0+1≤3 then (右移)Si 0j 0=Si 0(j 0+1),Si 0(j 0+1)=0;
if i 0+1≤3 then (下移)Si 0j 0=S (i 0+1)j 0,S (i 0+1)j 0=0.
(3)搜索策略
按某种策略(如爬山法)从规则集中不断选用规则,最终得到解路径。
如(上、上、此处以“靠近目标法” 左、下、右)走步序列就是一个解。
(其解题思路与人的思维相似) 演示,导出解路。
可见,用产生式系统解题,就是在问题的状态空间中去搜索一条从初态到终态的路径。
例题2:传教士与野人问题
3个传教士与3个野人渡河,船每次只能乘2人。
问传教士为安全起见,如何规划
摆渡方案,是的任何时刻两岸及船上野人的数目均不超过传教士的数目。
画草图即
L R L R
M 3 0 M 0 3
C 3 0 C 0 3
B 1 0 B 0 1 1表示有船
约束条件:岸上M≥C,船上M+C≤2
(1)综合数据库
用三元组(M L,C L,B L),其中0≤M L,C L≤3,B L∈{0,1},则问题可简化
为(3,3,3)―>(0,0,0)
状态空间总数:4×4×2=32个(见P19),最终16个。
(2)规则集
由摆渡操作组成:P mc(左->右)和q mc(右->左)。
各有5种组合,共10条规则:
当B=1时,有P10,P01,P11,P20,P02(具体选用哪个,根据M L,C L决定)
当B=0时,有q10,q01,q11,q20,q02(具体选用哪个,根据M L,C L决定)。
(3)控制策略
有了以上问题描述,在采取适当的控制策略,对状态空间进行搜索,求得一个
正确的摆渡序列。
对于较小的问题,也可用“状态空间图”来求解――“穷举”
图1.3(略)
从图看出,最短序列只有4个,均由11次摆渡构成。
1.2 产生式系统的解题过程
P23(略)
1.3 产生式系统的控制策略
控制策略作用:决定如何选用规则作用于综合数据库,生成新的状态并记住使用
过的规则序列。
不可撤回方式
控制策略分类回溯方式
试探性方式
图搜索方式
1. 不可撤回方式
利用问题给出的局部知识选用一条规则作用于综合数据库,再根据产生的新状态
继续选用规则,搜索过程一直进行下去,不必考虑撤回用过的规则。
缺点:解序列可能不是最简
优点:控制简单
爬山法思想:
图1.4,从当前位置向山顶攀登,假如规定只能向东/西/南/北方向走一步(即
4条规则),那么事先可计算出4个高差,然后走高差最大的一步。
如此重复,直到
某一点再试都会使高度下降为止。
注意:爬山法只能用于单极值问题。
爬山法应用:
(1)建立一个描述数据库变化的单极值函数,且使极值对应目标状态;
(2)选取使函数值增长最大的那条规则作用于数据库;
(3)重复上步,直到没有规则使函数值继续增长。
爬山法解八数码游戏:课后编写爬山法解八数
用“不在位”牌数并取负值-W(n)作为状态变化函数,结果如图1.6。
码问题的程序,第二次2. 回溯方式上机用
先试用某一规则,如果以后发现不合适,退回另选一条规则。
新生成的状态前面出现过
回溯条件确定从初态开始,用了若干规则仍未到达目标
涉及两个问题:对当前状态,再无可用规则
利用已有知识对规则排序,可减少回溯次数(下章讲)
例题:八数码游戏。
规则选用次序硬性规定为左、上、右、下,最大搜索深度为6。
结果如图1.7。
3. 图搜索方式
穷举方式,对每个状态的所有可用规则都去试,形成搜索图货搜索树。
如图1.8。
三种策略小结:P30末段。
1.4 问题的表示
指综合数据库和规则集的描述,越简单得当,求解越高效。
例题1. 旅行商问题,图1.9。
从A出发,遍历其它四市再回到A市,求最短路径。
(1)综合库:用字符串(A××××A);
(2)规则集:下步走向A/B/C/E/E,共5条。
各有使用条件(3)搜索策略:只能用图搜索(因为要遍历),结果如图1.10。
例题2. 句法分析问题:分析某段文字是否为一个句子。
(1)综合库:符号串,初始为给定句子;
(2)规则集:根据文法给定的若干重写规则。
如:
N->NP(名词->名词短语)
A NP->NP
DET NP->DNP(限定性名词短语)
P DNP->PP(介词短语)
DNP PP->DNP
V DNP->VP(动宾短语)
DNP VP->S (句子)
(3)搜索策略:从单词开始,逐级重写。
结果如图1.10。
演示一下
1.5 产生式系统的类型
1.可交换的产生式系统
规则的使用顺序可以任意交换而不影响问题的求解结果。
例如:整数集{a,b,c} { a,b,c ab,ac,bc}
规则集:3条,可以把任意两个整数乘积放入集合中。
这类问题不常见,适于用不可撤回方式求解。
2. 可分解的产生式系统
将初始数据库分解为几个可以独立处理的分量,分别对它们进行求解。
结束条件
也可相应分解。
例如,重写问题:(C,B,Z)——>(M,M,….,M)
设重写规则为:C——>(D, L)
C——>(B, M)
B——>(M, M)
Z——>(B, B, M)
搜索图见P40图1.14。
定义:能够分解综合数据库和结束条件的产生式系统,称为“可分解的产生式系统”。
基本过程描述:P42 图1.15,“与”表示分解子节点全部有解才有解;“或”表示使用
规则得到,其中一个到达目标便有解。
再例:符号积分问题:P45(讲解过程)
本章小结:
1.用产生式系统解题,就是要把问题用综合库、规则集来描述,然后用适当的控制策略
来搜索问题的解。
2.综合数据库是对问题状态的描述,要利于计算机实现。
常用的数据结构都可以作为使用。
3. 问题的表示原则就是综合库和规则集的要既简约又能反映问题的本质,同时又利于提高
求解效率。
4.求解就是在问题的状态空间中搜索一条从初态到目标状态的路径。
具体方法可以有:
●不可撤回方式(如爬山法),控制简单,但可能的布袋得不到最优解;
●回溯方式,具有试探性,引入知识对规则排序v,可以减少回溯次数。
●图搜索方式,穷举,搜索出问题的所有状态空间,寻找解路。
至适合小型问题,也可
作为一种研究方法。
课后认真理解“小结”,做课后习题。
留作业。