产生式
“产生式”:1943年,美国数学家波斯特(E. Post)首先提出。
1972年,纽厄尔和西蒙在研究人类的认知模型中开发了基于规则的产生式系统。
产生式通常用于表示事实、规则以及它们的不确定性度量,适合于表示事实性知识和规则性知识。
确定性规则知识的产生式表示
不确定性规则知识的产生式表示
确定性事实性知识的产生式表示
三元组表示:(对象,属性,值)或者:(关系,对象1,对象2)
例: 老李年龄是40岁:(Li,age,40)
老李和老王是朋友:(friend,Li,Wang)
不确定性事实性知识的产生式表示
四元组表示:(对象,属性,值,置信度) 或者: (关系,对象1,对象2,置信度)
例:老李年龄很可能是40岁:(Li,age,40,0.8)
老李和老王不大可能是朋友:(friend,Li,Wang,0.1)
产生式与谓词逻辑中的蕴含式的区别:
(1)除逻辑蕴含外,产生式还包括各种操作、规则、变换、算子、函数等。例如,“如果炉温超过上限,则立即关闭风门”是一个产生式,但不是蕴含式。
(2)蕴含式只能表示精确知识,而产生式不仅可以表示精确的知识,还可以表示不精确知识。蕴含式的匹配总要求是精确的。产生式匹配可以是精确的,也可以是不精确的,只要按某种算法求出的相似度落在预先指定的范围内就认为是可匹配的。
产生式的形式描述及语义——巴科斯范式BNF(backus normal form)
<产生式>::=<前提> <结论>
<前 提>::=<简单条件>|<复合条件>
<结 论>::=<事实>|<操作>
<复合条件>::=<简单条件>AND<简单条件>[AND<简单条件>|<简单条件>OR<简单条件>[OR<简单条件>…
<操 作>::=<操作名>[(<变元>,…)]
符号“::=”表示“定义为”;符号“|”表示“或者是”;符号“[ ]”表示“可缺省”。
产生式系统
产生式系统的基本结构
规则库: 用于描述相应领域内知识的产生式集合。
综合数据库(事实库、上下文、黑板等):一个用于存放问题求解过程中各种当前信息的数据结构。
控制系统(推理机构):由一组程序组成,负责整个产生式系统的运行,实现对问题的求解。
控制系统做以下几项工作:
(1)从规则库中选择与综合数据库中的已知事实进行匹配。
(2)匹配成功的规则可能不止一条,进行冲突消解。
( 3)执行某一规则时,如果其右部是一个或多个结论,则把这些结论加入到综合数据库中:如果其右部是一个或多个操作,则执行这些操作。
( 4)对于不确定性知识,在执行每一条规则时还要按一定的算法计算结论的不确定性。
( 5)检查综合数据库中是否包含了最终结论,决定是否停止系统的运行。
产生式系统的例子——动物识别系统
例如:动物识别系统——识别虎、金钱豹、斑马、长颈鹿、鸵鸟、企鹅、信天翁等七种动物的产生式系统。
规则库:
r1: IF 该动物有毛发 THEN 该动物是哺乳动物
r2: IF 该动物有奶 THEN 该动物是哺乳动物
r3: IF 该动物有羽毛 THEN 该动物是鸟
r4: IF 该动物会飞 AND 会下蛋 THEN 该动物是鸟
r5: IF 该动物吃肉 THEN 该动物是食肉动物
r6: IF 该动物有犬齿 AND 有爪 AND 眼盯前方THEN 该动物是食肉动物
r7: IF 该动物是哺乳动物 AND 有蹄 THEN 该动物是有蹄类动物
r 8: IF 该动物是哺乳动物 AND 是反刍动物 THEN 该动物是有蹄类动物
r9: IF 该动物是哺乳动物 AND 是食肉动物 AND 是黄褐色 AND 身上有暗斑THEN 该动物是金钱豹
r10:IF 该动物是哺乳动物 AND 是食肉动物 AND 是黄褐色 AND 身上有黑色条纹 THEN 该动物是虎
r11: IF 该动物是有蹄类动物 AND 有长脖子 AND 有长腿 AND 身上有暗斑点 THEN 该动物是长颈鹿
r 12:IF 该动物有蹄类动物 AND 身上有黑色条纹 THEN 该动物是斑马
r13:IF 该动物是鸟 AND 有长脖子 AND 有长腿 AND 不会飞 AND 有黑白二色 THEN 该动物是鸵鸟
r14: IF 该动物是鸟 AND 会游泳 AND 不会飞 AND 有黑白二色 THEN 该动物是企鹅
r15: IF 该动物是鸟 AND 善飞 THEN 该动物是信天翁
设已知初始事实存放在综合数据库中:
该动物身上有:暗斑点,长脖子,长腿,奶,蹄
推理机构的工作过程 :
(1)从规则库中取出r1,检查其前提是否可与综合数据库中的已知事实匹配。匹配失败则r1不能被用于推理。然后取r2进行同样的工作。匹配成功则r2被执行。
(2)分别用r3,r4,r5,r6综合数据库中的已知事实进行匹配,均不成功。 r7匹配成功,执行r7 。
综合数据库 :
该动物身上有:暗斑点,长脖子,长腿,奶,蹄,哺乳动物
该动物身上有:暗斑点,长脖子,长腿,奶,蹄,哺乳动物,有蹄类动物
(3)r11匹配成功,并推出 “该动物是长颈鹿” 。
产生式表示法的特点
1. 产生式表示法的优点
(1)自然性
(2)模块性
(3)有效性
(4)清晰性
2. 产生式表示法的缺点
(1)效率不高
(2)不能表达结构性知识
3. 适合产生式表示的知识
(1)领域知识间关系不密切,不存在结构关系。
(2)经验性及不确定性的知识,且相关领域中对这些知识没有严格、统一的理论。
(3)领域问题的求解过程可被表示为一系列相对独立的操作,且每个操作可被表示为一条或多条产生式规则。
欢迎大家加我微信交流讨论(请备注csdn上添加)