人工智能:2.3 产生式表示
2.3.1
产生式表示法
产生式表示法是由美国数学家 E.Post 于 1943 年提出来的,该方法用类似于文法的规则对符号进行置换运算,将每一条符号置换规则称为一个产生式。此后几经修改与充实,应用到许多领域之中。1972 年, A.Newell 和 H.A.Simon 在研究人类的认知模型中开发了基于规则的产生式系统。目前,产生式表示法是人工智能中应用最多的一种知识
表示方法,许多专家系统都用它来表示知识。
产生式表示法可以很容易地描述事实及规则 。事实( 命题) 可以看作是语言变量的值或语言变量之间关系的一种陈述句
,于是可用如下的一个三元组来表示:
(
对象,属性,值)
如( 雪,颜色,白) ,表示“雪的颜色是白的 ”。
(
关系,对象 1 ,对象
2)
如( 学习,小李,英语) ,表示“小李学习英语 ”。
如果知识是不确定的,则增加一元,用如下四元组来表示
:
(
对象,属性,值,可信度)
如( 雪,颜色,白,
0.99) ,表示“雪是白的,可信度为 99%”。
产生式表示法也可以用来表示事物之间的因果关
系,即规则,其基本形式为
P
® Q 或 IF P THEN Q
其中 ,P 是产生式的前提,也称为前件 ;Q 是产生式的结论或操作,也称为后件。该产生式的含义是 : 如果前提 P
被满足,则可以推出结论 Q 或执行 Q 所规定的操作。
产生式可以看作蕴含式的一种扩展或推广,但二者是有所不同的。蕴含式只能表示确定性的知识,它要求规则为精确匹配。而产生式不仅能够表示确定性的知识,还可以表示不确定知识,规则的匹配也可以不精确。例如,在专家系统
MYCIN 中有如下的产生式:
IF 本微生物的染色斑是革兰氏 阴性
・23 ・
人工智能技术与方法
本微生物的性状呈杆状病人是中间宿主
THEN
该微生物是绿脓杆菌可信度
0.6
2.3.2
产生式系统
1.
图 2.3 产生式系统的基本结构
综合数据库又称为事实库、上下文、黑板等,它是用来存放与求解问题有关的各当前信息的数据结构。推理过程中得到的中间结论也可作为新的事实存入数据库,作为后面推理的已知事实。显然,综合数据库的内容是在不断变化的,是动态的。综合数据库的事实通常用字符串、向量、集合、矩阵、表等数据结构来表示,如在专家系统
MYCIN 中,用四元组来表示事实。
2. 规则库
规则库用于存放与求解问题有关的所有规则,它是产生式系统进行问题求解 的基础。显然,规则库中知识的完整性、一致性、准确性以及知识组织是否合理, 将会对产生式系统的运行效率产生重要的影响。因此,对规则库的设计与组织应 该给予足够的重视。
・24 ・
3.
控制系统
第 2 章 知识表示
控制系统也称为推理机构,由一组程序组成,用来控制整个产生式系
统的运行,决定问题求解的推理线路,实现问题求解。从总体来说,主要做如下的一些工作。
(1) 按照一定的策略从规则库中选择规则,并与综合数据库中的已知事实进行匹配,所谓匹配就是指把规则的前提条件与综合数据库中的已知事实进行比较,如果二者一致,或者近似一致,则称匹配成功,该规则可使用;
否则,称匹配不成功,相应规则不可用于当前的推理。
(2) 如果匹配成功的规则不止一条,则称为发生了冲突,此时的推理机构必须采取某种协调策略来解决这种冲突,称为冲突的消解,从而选取一条规则去执行。
(3)
如果所执行的规则后件不是问 题目标,则当后件为结论时,将结论添加到综合数据库中去 ; 如果是操作,则执行该操作。
(4) 对于不确定知识,在执行每条规则时还需要计算结论的不确定性。
(5)
如果规则的后件满足问题求解的结束条件,则停止系统的推理运行。下面是一个关于动物识别的例子。
示例 一个用于动物识别的产生式系统,其规则库包含如下 15 条规则 :
r1 r2
r3
|
IF 该动物有毛发
IF 该动物有奶
IF 该动物有羽毛
|
THEN 该动物是哺乳动物
THEN 该动物是哺乳动物
THEN 该动物是鸟
|
r4
|
IF 该动物会飞
|
AND 会下蛋 THEN 该动物是鸟
|
r5
|
IF 该动物吃肉
|
THEN 该动物是肉食动物
|
r6
|
IF 该动物有犬齿
|
AND 有爪
|
物是肉食动物
r7 IF 该动物是哺乳动物 AND 有蹄 THEN 该动物是蹄类动物
r8 IF 该动物是哺乳动物 AND 嚼反刍动物 THEN 该动物是蹄类动物
r9 IF 该动物是哺乳动物 AND 肉食动物 AND 黄褐色 AND 身上有暗斑点 THEN 该动物是金钱豹
r1 0 IF 该动 物是哺乳动物 AND 肉食动物 AND 黄褐色 AND 身上
・25 ・
人工智能技术与方法
有黑色条纹 THEN 该动物是老虎
r1 1 IF 该动物是蹄类动物 AND 长脖子 AND 长腿 AND 身上有暗斑点 THEN 该动物是长颈鹿
r12 IF 该动物是蹄类动物 AND 身上有黑色条纹 THEN 该动物是斑马
r1 3 IF 该动物是鸟 AND 长脖子 AND 长腿 AND 不会飞 THEN
该动物是鸵鸟
r1 4 IF 该动物是鸟 AND 会游泳 AND 不会飞 AND 有黑白二色
THEN 该动物是企鹅
图 2.4 动物识别的部分推理网络
2.3.3
产生式系统的工作过程
一个产生式系统的基本工作过程可以描述如下
:
(1) 初始化综合数据库,把要解决问题的已知事实送入综合数据库中。
(2) 检查规则库中是否存在未使用过的规则,若无,则转(7) 步。
(3) 检查规则库中未使用规则中是否存在有前提可与事实库中的已知事实相匹配的规则,若无,则转(6) 步。
(4) 执行该规则并作标记,执行后的结论可作为新事实存入事实库。
(5) 检查事实库中是否包含了该问题的解,若有则求解过程结束,否则转(2)步。
(6) 无法求解,终止求解过程。或要求用户进一步提供已知事实,转(2) 步。
(7) 没有可用规则,问题无解,终止求解过程。
・26 ・
第 2 章 知识表示
在产生式系统中,对问题的求解实际上反映到对规则的不断运用,选择合适的规则显然可以提高整个推理系统的效率,反之则效率会降低。这种规则的运用体现了问题的一种求解策略,或控制策略,具体内容在后面几章分别讨论。
2.3.4
产生式系统的主要优缺点
产生式系统 主要有如下优点
。
(1) 自然性:
产生式表示法采用 “如果 ⋯⋯ 那么 ⋯⋯ ”的形式来表示知识,这种方式很接近人类对因果关系知识的思维判断形式,直观、自然,且便于推理。
(2) 模块性: 产生式规则是规则库中最基本的知识单元,它们与推理机构是相互独立的,这样就比较容易地组织成模块形式,有利于知识的增加、删除、修改和扩充,从而提高了系统的管理性能。
(3) 有效性:
产生式表示法既可以表示确定知识,也可以表示不确定知识,
既有利于表示启发式知识,又可方便表示过程知识,在一些成功的专家系统中,
大多都采用了这种表示方法。
(4) 一致性:
每条规则都具有相同的结构形式,规则之间不能相互调用,同时,综合数据库可以被所有的规则访问,不存在只属于某些规则的局部数据库,
规则库中的规则可以统一处理。
产生式系统也存在着一些不足,比如效率不高。在产生式系统中,问题的求解过程是通过对综合数据库中的事实进行反复的 “匹 配-
冲突消 解– 执行 ”而实现的,由于通常的规则库比较庞大,匹配的过程又比较费时,因而整个的工作效率不是很高,在解决复杂问题时可能还会引起组合爆炸。另外,由于产生式表示中的知识具有统一的结构形式,适合于表示一些因果关系的知识,且规则之间不能调用,于是,无法表示那些具有结构关系或层次关系的知识,一般将产生式表示法与其他的一些表示方法结合起来使用。
・27 ・