产生式系统
产生式系统专家系统
人工智能
生式规则
简称产生式。它是指形如α─→β或IFαTHENβ或其等价形式的一条规则,其中α称为产生式的左部或前件;β称为产生式的右部或后件。①如果α、β分别代表需要注视的一组条件及其成立时需要采取的行动,那么称为条件-行动型产生式;②如果α、β分别代表前提及其相应的结论,那么称为前提-结论型产生式。人工智能中的推理很多是建立在直观经验基础上的不精确推理,而产生式在表示和运用不精确知识方面具有灵活性,因此许多专家系统采用产生式系统为体系结构。
组成
一个产生式系统由下列3部分组成:
一个总数据库(global database),它含有与具体任务有关的信息。υ
υ一套规则,它对数据库进行操作运算。每条规则由左右两部分组成,左部鉴别规则的适用性或先决条件,右部描述规则应用时所完成的动作。应用规则来改变数据库。
一个控制策略,它确定应该采用哪一条适用规则,而且当数据库的终止条件满足时,就停止计算。υ
自由帕斯卡中
free pascal 中的产生式系统的组成
产生式系统由一个综合数据库、一组产生式规则和一个控制系统三个基本要素组成。其中:综合数据库是产生式系统所用的主要数据结构,它主要用来表示问题的状态,即初始状态、中间状态和目标状态等,以及状态之间的关系。它不是固定不变的,在求解的过程中,它的内容将越来越多,状态之间的关系也越来越复杂。
经常用来表示数据库的数据结构有串、集合、数组、树、表、记录、队列等。
产生式规则是对数据库进行操作的一系列规则。规则的一般形式是:IF 条件 THEN 操作
即满足应用的先决条件后,就对数据库实行后面的操作。
第5章_产生式系统
⑶ 控制策略又称推理机
控制策略是一个解释程序,它负责整个产生式系统的运 行,用来控制和协调规则集和全局数据基的运行,包含了推 理方式和控制策略。它的作用是说明下一步应该选用什么规 则,也就是如何应用规则。
5.2.2. 产生式系统的运行过程
推理机的一次推理过程: 从规则库中取一条规则,将 其前提同当前动态数据库中 的事实/数据进行模式匹配 N
3,结束状态 (x1, x2, x3, x4, 1) 其中x1~x4为变量。
猴子摘香蕉问题(续3)
4,规则集 r1: IF (x, y, z, 0, 0) r2: IF (x, y, x, 0, 0) r3: IF (x, y, x, 0, 0) r4: IF (x, y, x, 1, 0) r5: IF (x, x, x, 1, 0)
产生式系统求解问题的一般步骤
1,初始化全局数据基,把问题的初始已知事实送入数据基中 2,若规则库中存在尚未使用过的规则,而且它的前提可与数 据基中的已知事实匹配,则转3步,若不存在这样的事实, 则转5步。 3,执行当前选中的规则,并对该规则做上标记,把该规则执 行后的结论送入数据基中。如果该规则的结论是某些操作, 则执行之。 4,检查数据基中是否已包含了问题的解,若已包含,则终止 问题的求解过程,否则转2步; 5,要求用户提供进一步的关于问题的已知事实,若能提供, 则转2步,否则终止问题的求解过程。 6,若规则库中不再有未使用过的规则,则终止求解过程。
第一章 产生式系统
第一章 产生式系统
本章主要内容:
● 产生式系统的三个组成部分及其作用*
● 产生式系统解题的基本过程
● 产生式系统的三类控制策略*
● 问题的计算机表示原则
● 可分解的产生式系统的意义*
(*为重点内容)
是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!个状态,构成其 种结构都可用。 状态空间――解题过程中所有可能出现的状态的集合。
产生式系统与状态空间图
M-C问题(续3) 问题(
4,规则集 IF (m, c, IF (m, c, IF (m, c, IF (m, c, IF (m, c, IF (m, c, IF (m, c, 1) 1) 1) 1) 1) 0) 0) THEN THEN THEN THEN THEN THEN THEN (m(m-1, c, 0) c(m, c-1, 0) (mc(m-1, c-1, 0) (m(m-2, c, 0) c(m, c-2, 0) (m+1, c, 1) (m, c+1, 1)
字符转换 (续2)
三、控制策略 将能使用的规则按序号顺序排队, 将能使用的规则按序号顺序排队,按 顺序使用。 顺序使用。 四、初始条件 {A, {A,B} 五、结束条件 F∈{x}
求解过程
数据库
A,B , A,B,C , , A,B,C,D , , , A,B,C,D, A,B,C,D,G A,B,C,D,G,E , , , , , A,B,C,D,G,E,F , , , , , , 1,IF A∧B THEN C , ∧ 3,IF B∧C THEN G , ∧ 5,IF D THEN E , 2,IF A∧C THEN D , ∧ 4,IF B∧E THEN F ∧ ,
八数码问题的思考
综合数据库的选择,由于棋盘是3*3 3*3的方 一、综合数据库的选择,由于棋盘是3*3的方 所以数据库可以考虑使用3*3的矩阵。 3*3的矩阵 格,所以数据库可以考虑使用3*3的矩阵。 对于规则的考虑, 二、对于规则的考虑,使用规则的目的是为了 移动牌,最终的结果是让牌到达指定的位置, 移动牌,最终的结果是让牌到达指定的位置, 有两种实现方法:一种是制定对于8 有两种实现方法:一种是制定对于8张牌的移 动方式;一种是制定对于空格牌的移动。 动方式;一种是制定对于空格牌的移动。 控制策略的考虑, 三、控制策略的考虑,使用规则的目的是为了 向目标推进。 向目标推进。
2. 产生式系统
(b)设D满足目标条件,D的可用规则集为RD,任 取 r∈ RD ,用r作用到D产生状态D’ ,D’满足 目标条件。(如果D满足目标条件,则对D应
用任何一条可应用的规则所产生的状态描述也
满足目标条件) (可满足性)。
32
1/9/2020
(c)设D的可用规则集为RD,任取 r1, r2, …, rn ∈RD,依据(a)将r1, r2, …, rn依次作用到D 及产生的状态上,得状态Dn;设r1’, r2’, …, rn’ 是 r1, r2, …, rn的任意一个排列,用r1’, r2’, …, rn’依次作用到D及产生的状态上,得状态Dn’, 则Dn’= Dn (对D应用一个由可应用于D的规则 所构成的规则序列所产生的状态描述不因序列
四条规则使用顺序:左、上、右、下(可加入启发式信息,如使用爬山函数 安排规则的顺序) 深度:6 控制策略:回溯式 回溯条件: ⑴ 产生了一个上溯到初始状态的路径上出现过的状态时(产生了祖先节点)。 ⑵ 无可用的规则。 ⑶ 达深度未得解。
283 164 75
123 84 765
八数码难题的初始状态与目标状态
Note:产生式系统的可交换性并不意味着整个 规则序列的次序可以改变。只是最初作用于给 定状态的那些规则使用起来与次序无关。
很容易,产生式规则也容易被人们读懂。
DENDRAL和MYCIN都采用了产生式系统的结构。
第四章产生式系统
推理后事实库:{ A,B,C };{ A,B,C,D };…;{…,G}
正向推理的产生式系统实例(1)
动物识别产生式系统: G = “ A是猎豹?”
已有知识(规则库):
规则的匹配
从规则库的第一条规则开始,按排列顺序逐条用规则的前提条件与事 实库中事实进行匹配;
▪ 由于一次搜索过程中,可能有多条规则同时为事实库中事实所匹配,
需将所有的触发规则送冲突集,应用冲突解决策略选择启用规则。
触发规则: 前提条件为当前事实库所满足的规则. 冲突集: 所有触发规则构成的集合。
产生式认知模型 产生式系统架构 产生式系统推理机的实现技术 专家系统概述
产生式系统推理机的实现技术
规则的匹配(规则的触发,变量的绑定 – Bounding ); 规则的选择(规则的选择,冲突解决策略) ; 规则的应用(规则的执行,演绎 – 加入新断言,反应 – 执行规定操作) 规则推理的不确定性(不确定性推理) 规则推理的方向(正向推理 – 数据驱动,逆向推理 – 目标驱动); 规则应用的解释(解释问题类型,How, Why ); 记录问题求解过程中规则的应用顺序(输出,解径、解图); 控制系统运行的终止(正常终止,非正常终止)。
规则号
字符串匹配规则条件部分
字符串的新状态
下一步工作
(1) (2) (3) (1) (1) (1) (2)
产生式系统
产生式系统
产生式系统(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)
请给出产生式表示事实和规则的四类方法,并举例说明
请给出产生式表示事实和规则的四类方法,并举例说明
产生式表示事实和规则的四类方法如下:
1. 简单产生式:简单产生式只包含一个或两个操作符,用于表示一个或多个事实或规则。例如,{x+y=z}表示一个方程。
2. 产生式链:产生式链是由多个产生式组成的序列,用于表示一系列事实或规则。例如,{x=5, y=2, z=x+y}表示一个等式系统,其中每个操作符都代表一个事实或规则。
3. 产生式系统:产生式系统是由多个产生式组成的集合,用于表示一组事实或规则。例如,{x+y=z, x=y, y=z}表示一个二元关系系统,其中每个产生式都代表一个事实或规则。
4. 产生式图:产生式图是由多个产生式组成的图形,用于表示一系列事实或规则。例如,{x+y=z, x=y, y=z}表示一个三元关系系统,其中每个产生式都代表一个事实或规则。
以下是每种方法的示例:
1. 简单产生式:
- 事实:x+y=z
- 规则:x=y
2. 产生式链:
- 事实:x=5
- 规则:y=2
- 事实:z=x+y
- 规则:z=5+2=7
3. 产生式系统:
- 事实:x+y=z
- 事实:x=y
- 事实:y=z
- 规则:x+y=z
- 规则:x=y
- 规则:y=z
4. 产生式图:
- 事实:x+y=z
- 事实:x=y
- 事实:y=z
- 规则:x+y=z
- 规则:x=y
- 规则:y=z
这些产生式系统可以用于表示各种类型的事实和规则,例如数学、逻辑、语法和语义等。使用产生式系统可以帮助人们更好地理解和验证复杂系统的定理和规则。
产生式系统
2020/7/3
2
产生式表示法
❖ 产生式
产生式一词是从波斯特机中借用来的。波斯 特机是一种自动机,它是根据串替换规则提 出的一种计算模型。其中的每一条规则就叫 一个产生式。也称产生式规则,简称规则。
这里产生式就是前面讨论过的操作、逻辑蕴 含式、推理规则以及各种关系(包含经验性 联想)的一种逻辑抽象。
4
产生式表示法
例:一条知识的原始形态是
R: ( (A B) (C D)) ((E F) G)=>S
引入中间结论S1,S2,形成一些小型的产生式:
R1: A B =>S1 R2: C D =>S1 R3: E F =>S2 R4: S1 G =>S R5: S1 S2 =>S
2020/7/3
产生式表示法
❖ 如果一组事实可以同时使几个产生式前 提为真,常用以下方法进行选择(冲突 消解策略):
将所有产生式排序,选最早匹配成功的一个, 不管其余的产生式;
在所有匹配成功的产生式中取最强的,即前 提条件最多或情况元素最多者;
最近用过的产生式优先(或反之);
给情况元素以不同的优先权;
2020/7/使3 用估计函数f(x)排序;
2020/7/3
11
产生式表示法(例)
状态集合表示: 用x1,x2,x3表示三个人点的颜色,1表示白色,
人工智能产生式系统
产生式系统
产生式系统文档
一、介绍
1.1 目的
本文档旨在提供关于产生式系统的详细信息,包括系统的定义、架构、工作原理以及相关的实际应用案例等。
1.2 背景
随着技术的不断发展和应用,产生式系统成为了一种重要的智能处理方式。本文档将对该系统进行全面介绍,旨在帮助读者了解并使用产生式系统。
二、系统定义
2.1 什么是产生式系统
产生式系统是一种基于规则库的推理机制,通过规则匹配与推理等算法,实现问题的求解和自动决策。该系统由规则库、推理机以及知识库等组成。
2.2 系统构成
产生式系统主要包括以下几个组成部分:
- 规则库:存储了系统的规则集合,每条规则一般由前件和后件组成,用于进行规则匹配和推理。
- 推理机:负责根据规则集合和当前问题状态进行规则匹配和推理,推理链以及最终的推理结果。
- 知识库:存储了系统所需的领域知识,包括事实、规则和推理机制等,用于支持系统的推理过程。
- 用户界面:提供给用户与系统交互的界面,包括输入问题、展示推理结果等功能。
2.3 工作原理
产生式系统的工作原理如下:
- 根据用户输入的问题,系统将问题转化为内部可处理的形式。
- 推理机根据规则库和知识库进行规则匹配和推理,推理链。
- 根据推理链,系统得出最终的推理结果,并展示给用户。
三、系统应用
3.1 实际应用案例1:医学诊断
产生式系统可以应用于医学诊断领域,通过构建规则库和知识库,实现对病情的快速诊断和治疗建议。
3.2 实际应用案例2:智能客服
产生式系统可以应用于智能客服领域,根据用户的问题和规则库,实现自动回答用户的咨询和解决问题。
产生式系统原理
产生式系统原理
产生式系统是一种计算机科学中的形式语言,它是一种基于规则的语言,用于描述一组产生式和一组规则,以便生成或推导出一组字符串或其他形式的数据。
产生式系统可以被用来描述许多不同的事物,例如编程语言、自然语言、数学和逻辑系统等等。它可以通过一些定义好的规则按照一定的方式进行推导,从而生成或者验证出复杂的语言或逻辑结构。
在产生式系统中,产生式是指一条规则,它由一个符号和一个或多个产生式组成。每个产生式都包含一个左侧符号和右侧符号,左侧符号代表一个非终结符号,右侧符号代表一个终结符号或一个非终结符号。通过一系列的推导,可以由初始符号推导出整个语言的形式。
产生式系统具有很强的灵活性和表现力,它可以描述多种类型的语言和逻辑结构。同时,它也是很多计算机科学领域的基础,例如编译原理、自然语言处理和人工智能等等。
总之,产生式系统是一种非常重要的计算机科学工具,它提供了一种简洁和强大的方式来描述和推导出复杂的语言和逻辑结构。
- 1 -
产生式系统
• 推理机:控制产生式的整个问题求解过程
推理机根据上下文的当前信息,在每一状态下识别上下文 匹配的所有触发产生式,在选择和决定启用一条触发产生式, 采用所启用的产生式的RRS改变上下文,改变后的上下文又 可触发新的产生式,驱使问题求解持续进行
产生式规则案例——根据物体特征识别食物
设有规则库如下 P1:If on-c1 green Then put-on-c1 produce P2:If on-c1 packed in small container
Then put-on-c1 delicacy P3:If on-c1 refrigerated OR on-c1 produce Then put-on-c1 perishable P4:If on-c1 weight 15lbs AND on-c1 inexpensive AND NOT on-c1 perishable Then put-on-c1 staple P5:If on-c1 perishable AND on-c1 weight 15lbs Then put-on-c1 turkey P6:If on-c1 weight 15lbs AND on-c1 produce Then put-on-c1 watermelon 设现有物体的特征为:颜色为绿色;重量15磅 即Context——C1=(green,weight 15lbs)
第三章4产生式系统
15
(2)网状结构
在PROSPECTOR探矿系统中,整个静态知识以语义网络的结构表 示,它实际上是特性-对象-取值表示法的推广。把相关的知识连在 一起,就使查找方便了。将不同对象的矿石按子集和成员关系组成 下图所示的网络,表示了"方铅矿是硫化铅的成员,硫化铅是硫化矿 的子集,而硫化矿又是矿石的子集"。其中S表示子集关系, 〈subset x y〉表示y是x的子集。e表示成员关系〈element x y〉表 示y是x的成员。同样关系也存在于岩石之间
4
★渊源
1943 美国数学家波斯特(E.Post)提出产生式规则 (Production Rule)形式化的计算工具,并证明它和图灵 机有相同的计算能力。 Chomsky在研究自然语言结构时,提出了文法分层的概念, 并提出了文法的“重写规则”,即语言生成规则,实际上 是特殊的产生式。 1960年,Backus提出了著名的BNF(巴科斯范式),用 以描述计算机语言的文法,后来发现,BNF范式实际上就 是Chomsky的上下文无关文法。产生式系统的应用范围大 大扩展 斯坦福大学利用产生式系统结构设计出 第一个专家系统DENDRAL
PROSPECTOR系统中由不同规则所形成的部分 推理网络,这是Kuroko型均匀结构的硫化矿沉积层 的部分矿床模型。
27
3.6 产生式系统
产生式系统
推理模块
普通用户 规则读取模块 查询规则模块 查询规则模块 新建规则模块 知识库系统 管理员用户 删除规则模块 修改规则模块 新建库模块 删除库模块 更新库模块 WHY模块 解释器 规则使用模块 系统帮助模块 子系统监听模块
基于产生式的 知识库系统
需求背景
智能交通大平台下的应用服务
1)知识的存储、分类、优化(知识库) 2)能够进行逻辑运算、将经验和推理结合、具有启发性、 灵活性(专家系统) 3)为各个操作系统提供交互服务(数据、参数、方法等 内容的传递、索取、分析)
产生式系统
产生式系统(Production System)是一种问题求解系统 产生式系统由三个组成部分:综合数据库(Global Database)、产生式规则库(Production Rule Base)和控制系 统(Control System)
(2)如果炉温超过上限,则立即关闭风门。
(3)如果键盘突然失灵,且屏幕上出现怪字符,则是病毒 发作。 一条产生 式规则就是一条知识。用产生式可以实现推理 和操作,产生式规则是知识表示形式。
规则库的库结构
Rule_id Premise Action Active Used
Rule_id规则代号 Premise规则的前件,if的内容 Action规则的后件,then的内容(Action分两类,结论型和动作型) Active规则是否成立,成立为1,不成立为0 Used规则是否被使用过
产生式系统
(2) 事实之间的关系 把静态的知识划分为互不相关的孤立事实,显然可以
简化知识的表示方法。不过在许多际情况下,知识本身是 一个整体,很难分为独立的事实,事实之间联系密切。在 计算机内部需要通过某种途径建立起这种联系,以便于知 识的检索和利用。下面仍然以实际的专家系统来说明此问 题。 ① 树状结构
专家系统实质上为一计算机程序 它能够以人类 专家的水平完成特别困难的某一专业领域的任务。在 设计专家系统时,知识工程师的任务就是使计算机尽 可能模拟人类专家解决某些实际问题的决策和工作过 程,即模仿人类专家如何运用他们的知识和经验来解 决所面临问题的方法、技巧和步骤。
5.1 产生式系统
产生式系统(production system)首先是由波斯持 (Post)于1943年提出的产生式规则(production rule) 而得名的。他们用这种规则对符号串进行置换运算。 后来,美国的纽厄尔和西蒙利用这个原理建立一个人 类的认知模型(1965年)。同时,斯坦福大学利用产生 式系统结构设计出第一个专家系统DENDRAL。
这是两条关于美式足球的规则。R1规则规定进攻一方 如果在前三次进攻中前进的距离少于l0码(short yardage),那么在第四次进攻(fourth dawn)时,可以踢 悬空球(punt)。R2规则规定,如果进攻这一方,在前三次 进攻中,前进的距离少于10码,而进攻的位置又在离对方 球门线30码距离之内,那么就可以射门(field goal)。
产生式系统的组成
产生式系统的组成
产生式系统是一种用于描述形式语言的形式化工具,由一组产生式和一些终结符号组成。其中,产生式指定了如何将一些符号替换为其他符号或符号串,而终结符号则是产生式系统中不再进行替换的符号。
产生式系统的组成包括以下几个要素:
1. 终结符号集合:产生式系统中使用的符号集合,也称为字母表或字母表表达式。
2. 非终结符号集合:用于表示符号串中可以替换的部分的符号集合,也称为变量集合。
3. 产生式集合:由非终结符号和终结符号组成的规则集合,描述了如何将一个符号串替换为另一个符号串。
4. 开始符号:用于表示整个符号串的起始符号。
5. 推导规则:表示如何使用产生式将一个符号串推导为另一个符号串的规则。
6. 推导过程:根据推导规则,逐步将一个符号串推导为另一个符号串的过程。
以上是产生式系统的组成要素,通过组合不同的产生式和符号,可以描述各种形式化语言。产生式系统在编译原理、自然语言处理等领域中得到了广泛的应用。
- 1 -
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
产生式系统
产生式系统(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)
产生式规则库是某领域知识用规则形式表示的集合,其中包含将问题从初始
状态转换到目标状态的所有变换规则。当产生式规则中某条规则的前提与数据总库中的事实相匹配时,该规则库就被激活,并把其结论作为新的事实存入总数据库。
规则的一般形式为:
条件→行为
或前提→结论
用一般计算机程序语言表示为:
If…then…
其中左部确定了该规则可应用的先决条件,右部描述应用这条规则所采取的行动豁得出的结论。在确定规则的前提或条件时,通常采用匹配的方法,即查看全局数据库中是否存在规则的前提或条件所指的情况。若存在则匹配成功,否则,认为失败。
1.1.3控制策略(Control Strategies)
控制策略,或称控制系统,它是产生式系统的推理机。它是规则的解释程序,它规定了如何选择一条可应用的规则对全局数据库进行操作,即决定了问题求解过程或推理路线。通常情况下,控制策略负责产生式规则前提或条件与全局数据库中数据的匹配,按一定的策略从匹配超过的规则中选出一条加以执行,并在合适的时候结束产生式系统的运行。其基本的控制流程为:匹配、冲突解决和操作。
(1)匹配,也称识别。在这一步,把当前数据库与规则的执行条件部分相匹配。如果两者完全匹配,则把这条规则称为触发规则。当按规则的操作部分去执行时,称这条规则为启用规则。在一个循环的匹配阶段,若有多余一条的规则激活,就称引起了一个冲突。
(2)冲突解决,即决定首先使用哪一条规则。冲突解决的策略分为3类:First-选用首条激活的规则加以执行
Best-选用已激活规则中最好的加以执行
All-执行所有激活的规则
(3)操作,操作就是执行规则的操作部分。经过操作后,当前数据库将被修改,然后,其他的规则有可能被使用。
1.2产生式系统的研究推理方法
产生式系统推理机的推理方式有正向推理、逆向推理和双向推理3种。
1.2.1正向推理
正向推理是从已知事实出发,通过规则库求得结论。正向推理称为数据驱动方式,也称自底向上的方式。推理过程是:
(1)规则集中规则的前件与数据库中的事实进行匹配,得到匹配的规则集合。(2)从匹配规则集合中选择一条规则作为使用规则。
(3)执行使用规则,将该使用规则后件的执行结果送入数据库。
重复这个过程直至达到目标。
具体的说,如果数据库中含有A,而规则库中有规则A→B,那么这条规则便是匹配规则,进而将后件B送入数据库。这样可不断扩大数据库,直至数据库中包含目标,便成功结束。如有多条匹配规则,则需从中选一条作为使用规则,不同的选择方式直接影响求解效率。其推理过程图为图2
图2:正向推理过程
例如:在动物识别系统IDENTIFIER中,包含有如下几个规则:
规则I2 如果该动物能产乳,
那么它是哺乳动物。
规则I8 如果该动物是哺乳动物,它能反刍,
那么它是有蹄动物而且是偶蹄动物。
规则I9 如果该动物是有蹄动物。
它有长颈,有长腿,
它的颜色是黄褐色,它有深色斑点,
那么它是长颈鹿。
这样的例子就是用了正向推理。
1.2.2逆向推理
逆向推理是从目标出发,逆向使用规则,找到已知事实。逆向推理也称目标驱动方式或称自顶向下的方式,其推理过程如下:
(1)规则集中的规则后件与假设的目标事实进行匹配,得到匹配的规则集合。(2)从匹配规则集合中选择一条规则作为使用规则。
(3)将使用规则的前件作为新的假设子目标。
重复这个过程,直至个子目标为已知事实后成功结束。
如果目标明确,使用逆向推理效率较高,所以人们经常使用。其推理过程图为图3;
图3;逆向推理过程
从上面的推理过程可以看出,做逆向推理时可以假设一个结论,然后利用规则去推导支持假设的事实。
例如:在动物识别系统中,为了识别一个动物,可以进行以下的逆向推理:(1)我们假设这个动是长颈鹿的话,为了检验这个假设,根据I9,要求这个动物是长颈、长腿且是有蹄动物。
(2)假设全局数据库中已有该动物是长腿、长颈等事实,我们还要验证“该动物是有蹄动物”。为此,规则I8要求该动物是“反刍”动物且是“哺乳动物”。
(3)要验证“该动物是哺乳动物”,根据规则I2,要求该动物是“产乳动物”。现在已经知道该动物是“产乳"和"反刍”动物,即各子目标都是已知事实,所以逆向推理成功,即“该动物是长颈鹿”假设成立。正、逆向推理策略的比较见表