一阶谓词逻辑式有很强的表示能力,但也有许多缺点,如形式过于灵活,不容易统一,无法表示不确定知识,等等。往往无法直接用于计算。
因此,在人工智能学科中,更常用的一种知识表示形式,是“产生式
(production rule)”,意思是能够根据已知条件产生新知识的式子。这些式子往往以规则形式描述知识,因此也称作“产生式规则”。
产生式这个术语最早由美国数学家波斯特在1943年提出。在上世纪的六十年代和七十年代,产生式系统成功应用于自动推理器和专家系统,是当时人工智能学科的主流方法。随后,产生式系统被应用于更多领域,如形式语言学、计算语言学中的句法分析器等等。
37
产生式的形式
• 产生式可以用来描述规则性、事实性的知识。
• 我们首先来介绍规则性知识的产生式。
• 形式如下:
IF P THEN Q
或者 P → Q
• 其中,P称为规则的前件,Q称为规则的后件。整个产生式的含义为:如果前件P成立,那么对应的后件Q成立。
38
确定性规则知识的产生式
• 我们举个例子:
IF 动物AND 会飞AND 卵生 THEN 该动物是鸟
• 这种规则与一阶谓词逻辑中的蕴含式很像,如用谓词逻辑可以写成:
∀X 动物(X) ∧ 会飞(X) ∧ 卵生(X) →鸟(X)
• 但蕴含式只能表示推理知识,无法表示类似于“如果室内温度过高,则将空调打开”这种规则。而产生式就可以将这个规则写成:
IF 室内温度>28度 THEN 打开空调
• 此外,上述规则都是确定性的,即前件成立,后件一定成立。
39
不确定性规则知识的产生式
• 但并非所有知识都是确定性的,如下面的例子:
IF 微生物的染色斑是革兰氏阴性 and 微生物外形为杆状 and 病人是中间宿主
THEN 微生物为绿脓杆菌 (0.6)
• 这条规则中,后件并非总成立,而是带有0.6的“置信度”,表示前件成立的情况下,后件有60%可能性是成立的。这种知识我们称之为“不确定性知识”。其产生式表示为:
IF P THEN Q (置信度)
事实性知识的产生式
40
• 除了规则性知识外,有许多知识本身就是事实描述性的,比如:
– “篮球是圆的”,
– “北京是中国的首都”,
– “明天很可能会下雨”,
– “π=3.14159”
• 这些知识可以用事实性产生式表示。
事实性知识的产生式
41
• 事实性知识的产生式,一般形式是多元组,有两种形式:
– 关系型知识:描述2个对象的关系,形式为
(对象1,对象2,关系)
– 属性型知识:描述1个对象的某种属性,形式为
(对象,属性,值)
• 与规则性知识类似,事实性知识同样可以是不确定的,可以具有置信度。
事实性知识的产生式
42
• 我们分析一下刚才的例子:
– “篮球是圆的”是属性知识,表示为(篮球,形状,圆形)
– “北京是中国的首都”是关系知识,表示为(中国,北京,首都)
– “明天很可能会下雨”是不确定的属性知识,表示为(明天,天气,下雨,0.8)
– “π=3.14159”是属性知识,表示为( π,数值,3.14159 )
43
产生式的特点
• 至此,我们介绍了产生式的基本形式,我们总结一下特点:
– (1)产生式以规则形式描述了事物之间的对应关系,这种对应关系包括了因果、蕴含,也包括了动作、方法,因此表达的知识类型和范畴都超过了一阶谓词逻辑。
– (2)产生式可以描述不确定性知识,如不确定规则、不确定性的事实等,这也是对一阶谓词逻辑的扩展。
• 因此,一阶谓词逻辑可以看作产生式的一种特例。
44
产生式系统
• 当专家根据具体知识,设计好一组产生式知识库之后,需要进一步设计产生式系统,利用知识库进行问题求解。
• 一般来说,产生式系统包括如下几个部分:
控制器
规则库
事实库
推理机
45
产生式系统
• 其中,规则库中存放规则性产生式
• 事实库中存放已有的事实,以及通过推理得到的新的事实
• 假设我们有一个断言,要计算其真伪。则:
– 推理机读取事实库和规则库。
– 将事实与规则的前件进行匹配,以产生新的事实。
– 如果新的事实中包含了待证明的断言,则计算结束。
– 控制器负责整个推理过程。
• 我们通过具体例子来介绍产生式系统的工作方法。重点是知识的表示方法。
46
例2.6 动物识别
• 第一个例子是动物识别问题。这个例子中,首先由专家根据掌握的知识建立关于虎、豹、斑马、长颈鹿、鸵鸟等动物的分类规则,形成产生式。然后根据一定的事实,求解动物的分类。
• 比如,我们建立如下的规则知识产生式。
• 其中包括了14条关于动物分类的规则,这些规则均以产生式形式存放,形成规则库。
• 每条规则均设计编号保存。
•
r1: IF 有毛 THEN 哺乳动物
r2: IF 喂奶 THEN 哺乳动物
r3: IF 吃肉 AND 哺乳动物 THEN 食肉动物
r4: IF 有利齿 AND 有爪 AND 眼睛前视 AND 哺乳动物 THEN 食肉动物
r5: IF 食肉动物 AND 黑条纹 AND 黄褐色 THEN 虎 r6: IF 食肉动物 AND 黑斑 AND 黄褐色 THEN 豹
r7: IF 哺乳动物 AND 有蹄 THEN 有蹄动物
r8: IF 哺乳动物 AND 反刍 THEN 有蹄动物
r9: IF 有蹄动物 AND 黑条纹 AND 白色 THEN 斑马 r10: IF 有蹄动物 AND 黄褐色 AND 黑斑 AND 长颈
AND 长腿 THEN 长颈鹿
r11: IF 有羽毛 THEN 鸟
r12: IF 会飞 AND 生蛋 THEN 鸟
r13: IF 鸟 AND 不会飞 AND 黑色或白色 AND 长腿 THEN 鸵鸟
r14: IF 鸟 AND 不会飞 AND 黑色或白色 AND 会游泳 THEN 企鹅
47
例2.6 动物识别
• 然后我们给出当前的已知事实:
• 这些事实同样也编号,形成事实库。
• 我们要根据事实库判断当前动物的类型。
• 判断的过程,也即推理过程。简单来说,就是将规则集与事实集逐条匹配,根据产生式,产生新的事实,扩充到事实集中,直到产生结论。
•
r15:有毛
r16:有利齿
r17:有爪
r18:眼睛前视
r19:黑斑
r20:黄褐色
48
• 比如我们当前的例子:
• Step1:
– 检测 r1: IF 有毛 THEN 哺乳动物。
– 其前件可以与事实库中的r15匹配,执行该产生式,
– 产生“哺乳动物”的新事实 r21:哺乳动物
– 向事实库中添加
– Step2:
– 再次检测规则库,r4: IF 有利齿 AND 有爪 AND 眼睛前视 AND 哺乳动物 THEN 食肉动物 r22:食肉动物
– 前件均为已知事实,执行该产生式,得到新事实 r22: 食肉动
• Step3:
– 再次检测规则库,r6: IF 食肉动物 AND 黑斑 AND 黄褐色 THEN 豹
– 匹配后得到 r23 : 豹
– 至此,得到明确分类结论,推理结束
r15:有毛
r16:有利齿
r17:有爪
r18:眼睛前视
r19:黑斑
r20:黄褐色
r21:哺乳动物
r22:食肉动物
r23:豹物
49
产生式与人工智能的发展
• 在人工智能学科发展的早期,产生式类型的知识表示方法,配合推理器,成为AI的主流,推动了定理证明、自动推理、专家系统等方法的发展。我们将在第三章详细介绍。
• 不仅如此,产生式作为一种通用的人类知识的表示形式,也成功应用于许多领域,如早期的基于规则的句法分析器、机器翻译器等等。
• 目前,事实性知识的产生式表示方法,发展为知识图谱,成为近几年AI领域知识表示的核心方法。我们将在第四章详细介绍。

