“
产生式”由美国数学家
波斯特(E.POST)在1943年首先提出,它根据串代替规则提出了一种称为
波斯特机的计算模型,模型中的每条规则称为产生式。
基本形式
P→Q或IF P THEN Q
例子
r6: IF 动物有犬齿 AND 有爪 AND 眼盯前方
其中,r6是该产生式的编号;“动物有犬齿 AND 有爪 AND 眼盯前方”是产生式的前提P;“该动物是食肉动物”是产生式的结论Q。
主要区别
与蕴涵式的主要区别:
(1) 蕴涵式表示的知识只能是精确的,
产生式表示的知识可以是不确定的
原因是蕴涵式是一个
逻辑表达式,其
逻辑值只有真和假。
(2) 蕴含式的匹配一定要求是精确的,而产生式的匹配可以是不确定的
原因是产生式的前提条件和结论都可以是不确定的,因此其匹配也可以是不确定的。
(1) 前件结构不同
(2) 控制流程不同
产生式系统中满足前提条件的规则被激活后,不一定被立即执行,能否执行将取决于冲突消解策略
传统程序设计语言中是严格地从一个条件语句向其下一个条件语句传递。
基本信息
产生式是一种知识
表达方法,具有和Turing机一样的
表达能力。
事实与规则的表示
事实可看成是断言一个
语言变量的值或是多个语言变量间的关系的
陈述句,语言变量的值或语言变量间的关系可以是一个词。不一定是数字。如雪是白色的,其中雪是语言变量,其值是白色的。John喜欢Mary,其中John、Mary是两个语言变量,两者的关系值是喜欢。
一般使用
三元组(对象,属性,值)或(关系,对象1,对象2)来表示事实,其中对象就是语言变量,若考虑
不确定性就成了四元组表示(增加
可信度)。这种表示的机器内部实现就是一个表。
如事实“老李年龄是35岁”,便写成(Lee,age,35)
事实“老李、老张是朋友”,可写成(friend,Lee,Zhang)
condition->action
condition作为前件或模式,而action称作动作或
后件或结论。前件部分常是一些事实Ai的合取,而结论常是某一事实B,如考虑不确定性,需另附可信度
度量值。
产生式系统的组成和推理
多数较为简单的
专家系统(Expert System)都是以
产生式表示知识的,相应的系统称作
产生式系统。
产生式系统,由
知识库和
推理机两部分组成。其中知识库由
规则库和数据库组成。规则库是
产生式规则的集合,数据库是事实的集合。
规则是以产生式表示的。规则集蕴涵着将问题从初始状态转换解状态的那些变换规则,规则库是专家系统的核心。规则可表成与或树形式,基于数据库中的事实对这与或树的求值过程就是推理。
数据库中存放着初始事实、
外部数据库输入的事实、中间结果事实和最后结果事实。
推理机是一个程序,控制协调规则库与数据库的运行,包含推理方式和
控制策略。
正向推理:从已知事实出发,通过规则库求得结论,或称数据
驱动方式。推理过程是:
规则集中的规则前件与数据库中的事实进行匹配,得匹配的规则集合。
从匹配规则集合中选择一条规则作为使用规则。
执行使用规则的后件。将该使用规则的后件送入数据库中
重复这个过程直至达到目标
具体说如数据库中含有事实A,而规则库中有规则A->B,那么这条规则便是匹配规则,进而将后件B送入数据库中。这样可不断扩大数据库直至包含目标便成功结束。如有多条匹配规则需从中选一条作为使用规则,不同的
选择方法直接影响着求解效率,选规则的问题称作控制策略。
正向推理会得出一些与目标无直接关系的事实,是有浪费的。
反向推理:从目标(作为假设)出发,反向使用规则,求得已知事实,或称目标驱动方式,推理过程是:
规则集中的规则后件与目标事实进行匹配,得匹配的规则集合;
从匹配的规则集合中选择一条规则作为使用规则;
将使用规则的前件作为子目标;
重复这个过程直至各子目标均为已知事实成功结束;
如果目标明确,使用反向推理方式效率较高。
公式特点
产生式表示格式固定,形式单一,规则(知识单位)间相互较为独立,没有直接关系使知识库的建立较为容易,处理较为简单的问题是可取的。另外推理方式单纯,也没有复杂计算。特别是知识库与
推理机是分离的,这种结构给知识的修改带来方便,无须
修改程序,对系统的推理路径也容易作出解释。所以,产生式表示知识常作为构造
专家系统的第一选择的
知识表示方法。