产生式系统
人工智能之产生式系统
4/11/2020
11
一、不可撤回的控制策略(瞎子爬山法)
➢基本思想 采用不可撤回控制方式的解题过程类似于盲
人爬山过程,是利用关于每一个状态的局部知识 构造全局性解的过程。在盲人爬山过程中,无论 爬到哪一点,他总沿着坡度最陡的方向向上爬, 这是局部性的知识,尽管他事先对爬山路线并不 了解,但只要按照这个原则向上爬,就一定能爬 到某一山顶,于是确定了一条从山脚到山顶的爬 山 4/11/2020 路线,也可以说构造出一个具有某种意义下全12 局性的解。
产生式系统的特点
一、模块性强。综合数据库、规则集和控制 系统相
对独立,程序的修改更加容易。
二、各产生式规则相互独立,不能互相调用, 增加
一些或删去一些产生式规则都十分方便。
三、产生式规则的形式与人们推理所用的逻
4/11/2020
10
辑形式
2.2 控制策略
产生式系统的控制策略分为两类: ➢ 不可撤回的控制策略 ➢ 试探性控制策略:回溯方式和图搜索方式
4/11/2020
19
回溯方法特点
1.只存储初始节点到当前节点的路径,占用空间较小。
2. 总的时间复杂性无法定论:
➢ 最好情况复杂性很低:当控制系统掌握较多的有关解的 知识时,则回溯次数大为减少,效率高。
➢ 最坏情况复杂性很高:当控制系统一点也没掌握有关解 的知识时,则规则选取是任意的,回溯次数高,效率低。
4/11/2020
15
例:八数码难题 不可撤回式控制
-4
-3
0
-1
-3
-2
16
不可撤回控制策略的优点
1. 只记录当前一个节点,空间复杂性很低。 2. 若能找到解,则速度很快。
第一章 产生式系统
第一章 产生式系统本章主要内容:● 产生式系统的三个组成部分及其作用*● 产生式系统解题的基本过程● 产生式系统的三类控制策略*● 问题的计算机表示原则● 可分解的产生式系统的意义*(*为重点内容)是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)搜索策略按某种策略(如爬山法)从规则集中不断选用规则,最终得到解路径。
第5章_产生式系统
60年代开始,成为专家系统的最基本的结构
(DENTRAL, MYCIN, PROSPECTOR)
产生式的基本形式
产生式规则是表示知识的一种方法,适合表 示知识单元中的因果关系。
产生式的一般形式为:
P Q 或 If P then Q
产生式规则的语义:
如果前提P被满足,则可推出结论Q或执行Q所规定的 动作。即后件由前件来触发。所以,前件是规则的执行条 件,后件是规则体。
产生式系统求解问题的一般步骤(补充)
一般的产生式系统可用下述基本过程来描述: 步1 DATA←初始数据库; 步2 until DATA满足终止条件,do; 步3 begin 步4 在规则集中选择能作用到DATA上的规则R; 步5 DATA←R作用到DATA上的结果; 步6 end。 这是一个非确定性的程序。其中在步4中没有具体 说明如何选择一个适当的规则。
⑶ 控制策略又称推理机
控制策略是一个解释程序,它负责整个产生式系统的运 行,用来控制和协调规则集和全局数据基的运行,包含了推 理方式和控制策略。它的作用是说明下一步应该选用什么规 则,也就是如何应用规则。
5.2.2. 产生式系统的运行过程
推理机的一次推理过程: 从规则库中取一条规则,将 其前提同当前动态数据库中 的事实/数据进行模式匹配 N
(1)索引匹配。为状态(或目标)建立可用产生式索引表,减少
可用产生式的搜索范围; (2)分层匹配。将产生式分成若干层或组,按一定特征分层进 行搜索; (3)过滤匹配。边匹配边按某些附加特征或参数对可用产生式
进行精选。
冲突解决
匹配成功的规则可能不止一条,这 称发生了冲突。此时推理机必须调用相 应的策略进行消解,以便从中选出一条 执行。 冲突解决策略有很多,如
产生式系统
产生式系统产生式系统(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)产生式规则库是某领域知识用规则形式表示的集合,其中包含将问题从初始状态转换到目标状态的所有变换规则。
当产生式规则中某条规则的前提与数据总库中的事实相匹配时,该规则库就被激活,并把其结论作为新的事实存入总数据库。
第三章 产生式系统与专家系统
r1
r5
第二节 专家系统
• 专家系统的概念 • 专家系统的分类 • 专家系统的一般结构
• 专家系统典例
• 专家系统开发工具
(一)
(二)专家系统与常规计算机程序的区别
二、专家系统的分类
四、专家系统典例
此系统用C++语言开发, 规则用下述结构表示∶
第三章 产生式系统与专家系统
• 专家系统是在产生式系统的基t于1943年首先提出产生式系统的 概念。
第一节 产生式系统 ( Production System )
• 产生式系统的慨念 • 产生式的基本形式 • 产生式系统的结构 • 产生式系统举例
一、产生式系统的概念
• 产生式系统是一种基于产生式规则( Production Rule ) 的系统,简称基于规则的系统( Rule-based System )
• 产生式系统中,论域中的知识分为两部分∶
事 论域知识 产生式规则∶ 表示推理过程和行为 实∶ 表示事物、事件及其关 系等静态知识
产生式系统中的知识库用于存储规则
产乳
Go Example
产生式系统求解问题的一般步骤
四、产生式系统举例
[例3.1]动物识别系统identifier有产生式规则15条, 用于识别7种动物。假设某动物有黄褐色毛发、 会吃肉、身上有黑色条纹,问这是什么动物? 解:用正向链推理:
1 有毛发 2 吃肉 3 黄褐色 4 黑条纹 反向链推理 推理链 哺乳动物 食肉动物 虎
一条规则的结论在其它规则的前提中都不出现, 则称此规则为结论性规则。
临床参数
五、专家系统开发工具
通用型专家系统工具∶ • OPS5 • ART
专家系统开发环境∶
第三章4产生式系统
动物(后件)。
29
2)总数据库 有时也被称作上下文、当前数据库或暂时存储器, 是产生式规则的注意中心。产生式规则的前件表示的是, 在启用这一规则之前总数据库内必须准备好的条件。
30
3)控制策略 说明下一步应该选用什么规则,也就是如何应用规 则。通常从选择规则到执行操作分3步:匹配、冲突解决 和操作。
16
规则的表示
(a) 单个规则的表示 一个规则由前项和后项两部分组成。前项表示前提条 件,各个条件由逻辑连接词(合取、析取等)组成各种 不同的组合。后项表示当前提条件为真时,应采取的 行为或所得的结论。现仍以MYCIN和PROSPETOR系 统中的规则表示为例。规则的定义与MYCIN的规则类 似,只是规则的可信度是以两个称为规则强度的数值 来度量。
17
有了规则的具体定义,再进一步看一下一个具体的MYCIN规则 以及它在机器内部的LISP语言的表示。 规则的内容: 前提条件 ◆ 细菌革氏染色阴性 ◆ 形态杆状 ◆ 生长需氧 结论 该细菌是肠杆菌属,CF=0.6。
18
LISP的表达式 PREMISE: ($AND(SAME CNTXT GRAM GRAMNEG) (SAME CNTXT MORPH ROD) (SAME CNTXT AIR AEROBIC)) ACTION: (CONCLUDE CNTXT CLASS ENTEROBACTERIACEAE TALLY 0.6) 在LISP表达式中,规则的前提和结论均以谓词+关联三元组的形式表示, 这里三元组中元素的顺序有所不同,为〈object-attribute-value〉。如 〈CNTXT GRAM GRAMNEG〉表示某个细菌其革氏染色特性的值是阴 性,这里CNTXT是上下文(即对象)context的缩写,表示一个变量,可为 某一具体对象——细菌所例化。
第一章 产生式系统
第一章 产生式系统本章主要内容:● 产生式系统的三个组成部分及其作用*● 产生式系统解题的基本过程● 产生式系统的三类控制策略*● 问题的计算机表示原则● 可分解的产生式系统的意义*(*为重点内容)是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. 产生式系统
2 8 3 1 6 4 7 5
ห้องสมุดไป่ตู้
1 2 3 8 4
7 6 5
八数码难题的初始状态与目标状态
26
1/23/2019
四、产生式系统的工作方式
1.正向产生式系统(数据驱动控制) : 综合数据库:用状态描述 产生式规则:F规则--状态产生新状态
从初始状态出发,不断地应用F规则,直到产生 目标状态为止。
适用条件:初始节点数≤目标节点数
7
1/23/2019
八数码难题的产生式系统表示
综合数据库:以状态为节点的有向图。 状态描述: 3×3矩阵 产生式规则: IF<空格不在最左边>Then<左移空格>; IF<空格不在最上边>Then <上移空格> ; IF<空格不在最右边>Then <右移空格> ; IF<空格不在最下边>Then <下移空格> 。 控制系统: 选择规则:按左、上、右、下的顺序移动空格。 终止条件:匹配成功。 1/23/2019
8
三、产生式系统的基本过程
Procedure PRODUCTION 1. DATA←初始状态描述 2. until DATA 满足终止条件,do: 3. begin 4. 在规则集合中,选出一条可用于DATA的规则R 5. DATA←把R应用于DATA所得的结果 6. End
9
1/23/2019
三、产生式系统的基本过程
29
特点:效率高;复杂。
1/23/2019
2.3 特殊的产生式系统 一、可交换产生式系统 在某些产生式系统中。规则应用的次序对产 生的状态无影响,即从初始状态到目标状态不依 赖规则次序,因此可应用不可撤回式控制策略, 从而提高了产生式系统的效率,这类产生式系统 就是可交换的产生式系统。 例:基于归结方法的产生式系统
产生式系统
(4)清晰性:
– 规则格式固定,由前件与后件构成。
22
– 局限性:
(1)效率不高:
– 求解过程是 “匹配-冲突消解-执行” 的过程,若规 则库较大,易引起组合爆炸。
(2)不能表示具有结构性的知识:
– 产生式适合于表示具有因果关系的过程性知识,不 能表示具有结构关系的事物间的区别与联系。
23
第四节 框架表示法
其中x, y, z, w为变量
21
产生式表示法的特点
– 优点:
(1)自然性:
– “如果… ,则 …” 形式表示知识,直观、自然,便 于推理。
(2)模块性:
– 规则与推理机构相对独立;对规则库的维护方便。
(3)有效性:
– 既可表示确定性知识,又可表示不确定性知识;既 有利于表示启发式知识,又可方便地表示过程性知 识。
35
13
M-C问题(续1)
L m 3 c 3 B 1
R 0 0 0
L m 0 c 0 B 0
R 3 3 1
L —左岸
R —右岸
B — 1(有船)、0(无船)
14
M-C问题(续2) 1,综合数据库 (m, c, b), 其中:0≤m, c≤3, b ∈{0, 1} 2,初始状态 (3,3,1)
– ( 简化,只描述左岸的情况即可 )
8
一个简单的例子
问题:设字符转换规则 A∧B→C A∧C→D B∧C→G B∧E→F D→E 已知:A,B 求:F
9
一个简单的例子(续1)
一、综合数据库 {x},其中x为字符 二、规则集 1,IF A∧B 2,IF A∧C 3,IF B∧C 4,IF B∧E 5,IF D
THEN THEN THEN THEN THEN
【人工智能导论】产生式系统
【⼈⼯智能导论】产⽣式系统
产⽣式系统
产⽣式系统是给定事实与推理规则,进⾏⾃动推理的推理系统。
产⽣式系统由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%。
第四章产生式系统
不确定性推理- 信息的不精确、不完整、模糊性
概念的模糊性
- 模糊推理
IF 西红柿红了 THEN 西红柿熟了, 西红柿非常红
----------------------------------------------西红柿(?)熟
隶属度
矮 1
0 1.6
中等 1.75 1.78
高
修饰量化:
非常高
身高
产生式系统推理机的实现技术
规则的匹配(规则的触发,变量的绑定 – Bounding ); 规则的选择(规则的选择,冲突解决策略) ; 规则的应用(规则的执行:演绎 – 加入新断言,反应 – 执行规定操作) 规则推理的不确定性(不确定性推理) 规则推理的方向(正向推理 – 数据驱动,逆向推理 – 目标驱动); 规则应用的解释(解释问题类型:How, Why ); 记录问题求解过程中规则的应用顺序(输出:解径、解图); 控制系统运行的终止(正常终止,非正常终止)。
第四章 产生式知识表示及相关专家系统
教材: 第 2、 6-1、 10 章
产生式知识表示及相关专家系统
引 言:
是 AI 的一个重要知识表示形式; 常用于构建基于规则专家系统。
要求:
掌握产生式模式及专家系统体系结构、运行机制及基本
实现技术 - 模式匹配、触发规则、冲突解决策略、正向推 理、逆向推理、不确定推理基本概念等。
1 c
规则可信度: c
r r 1
计算流程:
1、由各规则的可信度 C 与不可信度 1-C 计算规则的可信比例 r; 2、将各规则的可信比例相乘,获多条规则推得的结论的可信比例; 3、再将可信比例转换成最终结论的可信度。
不确定性推理
三、多条规则结论合成的可信度计算: 基于概率论方法 (1)
产生式系统
5
产生式表示法
❖ 给定一组事实之后可用匹配技术寻找可 用产生式,其基本思想是将已知事实代 入产生式的前件,若前件为真,则该产 生式是可用的。
❖ 提高匹配效率的方法
索引匹配。为状态建立可用产生式索引表, 减少可用产生式搜索范围。
分层匹配。将产生式分成若干层或组,按一 定特征进行分层搜索。
2020/7/过3 滤匹配。边匹配边 按某些附加特征或参 6 数对可用产生式进行精选。
2020/7/3
11
产生式表示法(例)
状态集合表示: 用x1,x2,x3表示三个人点的颜色,1表示白色,
0表示非白色。 X=(x1,x2,x3)表示颜色分布状态。 全部可能的状态集合(可能界PW0):
{(0,0,0),(0,0,1),(0,1,0),(0,1,1),(1,0,0),(1,0,1), (1,1,0),(1,1,1)} 实际给定的状态为现实界X0 =(x10,x20,x30) 用排除法找到X0 。
第五章 产生式系统
产生式系统的体系结构是 实现图搜索的理想程序结构,产生式已是人 工智能系统的一种最典型最普遍的结构形式。
许多专家系统和机器学习系统都是用产生式系统实现的。从结构形式上 看很多人工智能系统都是产生式系统。
2020/7/3
1
第五章 产生式系统
❖ 产生式表示方法 ❖ 产生式系统基本原理 ❖ 产生式系统与图搜索 ❖ 产生式系统应用
第三次,大臣们根据仍无人知道自己点颜色的新事实推知没 有一个非白点出现,即X0={(1,1,1)}。于是三人都知道自己 点的颜色是白的。
2020/7/3
13
产生式表示法(例)
引入中介状态并定义下述符号:
Si—— i大臣看到的非白点数; Wi—— i大臣猜出自己点的颜色否。如果他宣布 已知道自己点的颜色,为1,否则为0; n——X0中白点的个数。
人工智能产生式系统
产生式系统产生式系统文档一、介绍1.1 目的本文档旨在提供关于产生式系统的详细信息,包括系统的定义、架构、工作原理以及相关的实际应用案例等。
1.2 背景随着技术的不断发展和应用,产生式系统成为了一种重要的智能处理方式。
本文档将对该系统进行全面介绍,旨在帮助读者了解并使用产生式系统。
二、系统定义2.1 什么是产生式系统产生式系统是一种基于规则库的推理机制,通过规则匹配与推理等算法,实现问题的求解和自动决策。
该系统由规则库、推理机以及知识库等组成。
2.2 系统构成产生式系统主要包括以下几个组成部分:- 规则库:存储了系统的规则集合,每条规则一般由前件和后件组成,用于进行规则匹配和推理。
- 推理机:负责根据规则集合和当前问题状态进行规则匹配和推理,推理链以及最终的推理结果。
- 知识库:存储了系统所需的领域知识,包括事实、规则和推理机制等,用于支持系统的推理过程。
- 用户界面:提供给用户与系统交互的界面,包括输入问题、展示推理结果等功能。
2.3 工作原理产生式系统的工作原理如下:- 根据用户输入的问题,系统将问题转化为内部可处理的形式。
- 推理机根据规则库和知识库进行规则匹配和推理,推理链。
- 根据推理链,系统得出最终的推理结果,并展示给用户。
三、系统应用3.1 实际应用案例1:医学诊断产生式系统可以应用于医学诊断领域,通过构建规则库和知识库,实现对病情的快速诊断和治疗建议。
3.2 实际应用案例2:智能客服产生式系统可以应用于智能客服领域,根据用户的问题和规则库,实现自动回答用户的咨询和解决问题。
四、附件本文档包括以下附件:- 附件一:规则库示例- 附件二:知识库示例五、法律名词及注释1.(Artificial Intelligence,简称):指通过模拟与复制人类智能的各种思维特征和行为,在某些特定领域或任务上展示出与人类相似的智能行为的科学和工程。
六、全文结束。
产生式系统
产生式规则案例——根据物体特征识别食物
设有规则库如下 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)
上下文亦称当前数据库,用以存放问题求解过程中的各种 当前信息,它决定着产生式求解的当前状态是否可用
• 推理机:控制产生式的整个问题求解过程
推理机根据上下文的当前信息,在每一状态下识别上下文 匹配的所有触发产生式,在选择和决定启用一条触发产生式, 采用所启用的产生式的RRS改变上下文,改变后的上下文又 可触发新的产生式,驱使问题求解持续进行
处理单元的逻辑描述——产生式系统
产生式系统(Production System)的基本结构 • 规则库(Rule-Base):产生式规则的集合 规则的一般形式: R:IF RLS THEN RRS 即
第五章 产生式系统
2020/10/15
7
产生式表示法
如果一组事实可以同时使几个产生式前提为真, 常用以下方法进行选择Fra bibliotek冲突消解策略):
将所有产生式排序,选最早匹配成功的一个,不管 其余的产生式;
在所有匹配成功的产生式中取最强的,即前提条件 最多或情况元素最多者;
最近用过的产生式优先(或反之);
给情况元素以不同的优先权;
(2)(有人看见两个非白点)(n>=1) (Si=2) =>(Wi=1),(i=1,2,3,下同); (3)( i ) (Wi=1) (n>=1) => (n=1) ; (4) (n=1) => ( i ) (Wi=1) ; (5) ( i ) (Wi=0) (n>=1) => (n>=2) ; (6) (n>=2) <=>X0 = { (0,1,1),(1,0,0),(1,0,1),(1,1,0),(1,1,1)}; (7) (有人看见一个非白点)(n>=2) (Si=1) =>(Wi=1); (8) ( i ) (Wi=1) (n>=2) => (n=2) ; (9) (n=2) => ( i ) (Wi=1); (10) ( i ) (Wi=0) (n>=2) => (n=3); (11) (n=3) <=> X0 = { (1,1,1)}; (12) (n=3) => ( i ) (Wi=1).
0表示非白色。 X=(x1,x2,x3)表示颜色分布状态。 全部可能的状态集合(可能界PW0):
{(0,0,0),(0,0,1),(0,1,0),(0,1,1),(1,0,0),(1,0,1), (1,1,0),(1,1,1)} 实际给定的状态为现实界X0 =(x10,x20,x30) 用排除法找到X0 。
第5章 产生式系统
第5章 产生式系统
实际上,这种基于产生式规则的逻辑推理模式,
就是逻辑上所说的假言推理(对常量规则而言)和三 段论推理(对变量规则而言),即: A→B A
B
这里的大前提就是一个产生式规则,小前提就是 证据事实。
第5章 产生式系统
5.2 产生式系统
5.2.1 产生式系统的组成 产生式系统由三部分组成:产生式规则库、推理 机和动态数据库,其结构如图5--1所示。
经一步推理就可满足,往往要经过多步推理才能满足
或者证明问题无解。
第5章 产生式系统
从规则库中取一个条规则,将其前提同当前 动态数据库中的事实/数据进行模式匹配
N
匹配成功否
Y
把该规则的结论放入当前动态数据库:或执 行规则所规定的动作
图5—2 推理机的一次推理过程
第5章 产生式系统
5.2.3 控制策略与常用算法
步4
用规则集中的各规则的结论同该目标匹配,
若匹配成功,则将第一个匹配成功且未用过的规则的 前提作为新的目标,并取代原来的父目标而加入目标 链,转步3; 步5 若该目标是初始目标,则推理失败,退出。
步6
将该目标的父目标移回目标链,取代该目标
及其兄弟目标,转步3;可以看出,上述反向推理算法 的推理过程也是一个图搜索过程,而且一般是一个与
第5章 产生式系统
步3 用规则库中各规则的前提匹配动态数据库中的 事实/数据,将匹配成功的规则组成待用规则集; 步4 若待用规则集为空,则运行失败,退出。 步5 用某种策略,从待用规则集中选取一条规则, 将其结论加入动态数据库,或者执行其动作,撤消待
用规则集,转步2;可以看出,该算法与前面的算法仅
有毛发
吃肉黄褐色有黑来自条纹图5—4 动物分类正向推理树
产生式系统
产生式系统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. 反向匹配规则:从目标状态出发,逆向匹配产生式系统中的规则,找到能够推导出目标状态的规则。
3. 更新当前状态:根据匹配到的规则,更新当前状态,即将产生式规则中的结论替换为前提条件。
4. 继续逆向匹配:重复步骤2和步骤3,直到达到初始状态或无法找到匹配的规则为止。
三、逆向推理的应用逆向推理在人工智能领域有着广泛的应用,以下是一些常见的应用场景:1. 诊断系统:逆向推理可以用于诊断系统中的故障诊断。
通过输入故障现象,系统可以逆向推理出可能的原因,从而帮助工程师进行故障排查。
2. 规划系统:逆向推理可以用于规划系统中的计划生成。
通过输入计划目标,系统可以逆向推理出达到目标所需的操作序列。
3. 推荐系统:逆向推理可以用于推荐系统中的推荐算法。
通过用户的偏好和目标商品,系统可以逆向推理出用户可能感兴趣的商品。
4. 自然语言处理:逆向推理可以用于自然语言处理中的语义理解。
通过输入的句子,系统可以逆向推理出句子的语义和意图。
四、逆向推理的优缺点逆向推理具有以下优点: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,要求该动物是“产乳动物”。
现在已经知道该动物是“产乳"和"反刍”动物,即各子目标都是已知事实,所以逆向推理成功,即“该动物是长颈鹿”假设成立。
正、逆向推理策略的比较见表正向推理逆向推理驱动方式数据驱动目标驱动推理方式从一组数据出发向前推导结论从可能的解答出发,向后推理验证解答启动方式从一个事件启动由询问关于目标状态的一个问题而启动透明程度不能解释其推理过程可解释其推理过程推理方向有底向上推理由顶向下推理典型系统CLIPS,OPS PROLOG正、逆向推理的比较1.2.3双向推理双向推理,又称混合推理,既自顶向下,又自底向上,从两个方面做推理,直至某个中间界面上两个方向的结果相符后成功结束。
不难想象这种双向推理较正向推理或逆向推理所形成的推理网络来得小,从而推理效率更高。
例如:在动物识别系统中,已知某动物具有特征:长腿、长颈、反刍、产乳。
为了识别一个动物,可以进行以下的双向推理:(1)首先假设这个动物是长颈鹿,为了检验这个假设,根据I9,要求这个动物是长颈、长腿且是有蹄动物。
这是逆向推理得到的中间结论。
(2)根据该动物产乳,由规则I2知该动物是哺乳动物;再加上该动物反刍,由规则I8知道该动物是有蹄动物而且是偶蹄动物。
这是正向推理得到的中间结论。
(3)有(1)和(2)得到的中间结论--“有蹄动物”重合,而(1)中的另两个中间结论“长颈、长腿”是已知事实,所以假设“这个动物是长颈鹿”是正确的。
1.3产生式系统的表示产生式系统的知识表示方法,包括事实的表示和规则的表示。
1.3.1事实的表示1.3.1.1孤立事实的表示孤立事实在专家系统中常用〈特性- 对象- 取值〉(attribute object value)三元组表示。
1.3.1.2事实之间的关系把静态的知识划分为互不相关的孤立事实,显然可以简化知识的表示方法。
不过在许多实际情况下,知识本身是一个整体,很难分为独立的事实,事实之间联系密切。
在计算机内部需要通过某种途径建立起这种联系,以便于知识的检索和利用。
联系有树状结构和网状结构。
1.3.2规则的表示1.3.2.1单个规则的表示一般,一个规则由前项和后项两部分组成。
前项表示前提条件,各个条件由逻辑连接词(合取、析取等)组成各种不同的组合。
后项表示当前提条件为真时,应采取的行为或所得的结论。
1.3.2.2规则间的关系完全独立的规则集虽然容易增删和修改,但寻找可用规则时只能顺序进行,效率很低。
在实际专家系统中,由于规则都较多,所以总是按某种方式把有关规则连结起来,形成某种结构。
分为按参数分类和网状结构。
2、产生式系统的研究现状和研究的意义心理学家认为产生式系统符合人类心理活动的认知过程便于模拟人求解问题的思维方式,系统模块性强,易于修改扩充,因此产生式系统已得到广泛应用;可以说目前大多数专家系统(尤其是中小型系统)都采用产生式系统的结构方式来建立。
2.1产生式系统在国外的应用2.1.1 DENDRAL系统DENDRAL系统是其他很多专家系统的基础,是美国斯坦福大学的爱德华·费根鲍姆和莱德伯格等人合作,利用产生式系统结构开发出的世界上第一个专家系统程序它是一种推断分子结构的计算机程序,该程序贮存有非常丰富的化学知识,其解决问的能力达到了专家水平,甚至超越了他的设计者。
系统是用LISP 语言写成。
DENDRAL利用的原始信息主要是该物质的质谱数据。
整个系统按功能可分为三部分:①规划:利用质谱数据和化学家对质谱数据与分子构造关系的经验知识,对可能的分子结构形成若干约束。
②生成结构图:利用J.莱德伯格的算法,给出一些可能分子结构,利用第一部分所生成的约束条件来控制这种可能性的展开,最后给出一个或几个可能的结构。
③利用化学家对质谱数据的知识,对第二部给出的结果进行检测、排队。
最后给出分子结构图。
这恰好与产生式系统的主要组成相对应。
2.1.2MYCIN 系统MYCIN系统另一种基于产生式系统结构的专家系统,是一种帮助医生对住院的血液感染患者进行诊断和选用抗菌素类药物进行治疗的专家系统。
MYCIN 系统是70年代初由美国斯坦福大学研制,用LISP语言写成。
从功能与控制结构上可分成两部分:①以患者的病史、症状和化验结果等为原始数据,运用医疗专家的知识进行逆向推理,找出导致感染的细菌。
若是多种细菌,则用0到1的数字给出每种细菌的可能性。
②在上述基础上,给出针对这些可能的细菌的药方。
MYCIN系统中,推理所用的知识是用相互独立的产生式方法表示的,其知识表达方式和控制结构基本上与应用领域是不相关的,这导致了后来作为建造专家系统工具的EMYCIN的出现。
它应用了独特的非精确推理技术。
它还具有向用户解释推理过程的能力。
MYCIN至今仍是一个有代表性的专家系统。
2.1.3PrologProlog(Programming in Logic的缩写)是一种逻辑语言。