产生式表示法
1943年由波斯特(E.POST)发明
产生式”由美国数学家波斯特(E.POST)在1943年首先提出,它根据串代替规则提出了一种称为波斯特机的计算模型,模型中的每条规则称为产生式。
基本形式
P→Q或IF P THEN Q
例子
r6: IF 动物有犬齿 AND 有爪 AND 眼盯前方
THEN 该动物是食肉动物
其中,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送入数据库中。这样可不断扩大数据库直至包含目标便成功结束。如有多条匹配规则需从中选一条作为使用规则,不同的选择方法直接影响着求解效率,选规则的问题称作控制策略。正向推理会得出一些与目标无直接关系的事实,是有浪费的。
反向推理:从目标(作为假设)出发,反向使用规则,求得已知事实,或称目标驱动方式,推理过程是:
规则集中的规则后件与目标事实进行匹配,得匹配的规则集合;
从匹配的规则集合中选择一条规则作为使用规则;
将使用规则的前件作为子目标;
重复这个过程直至各子目标均为已知事实成功结束;
如果目标明确,使用反向推理方式效率较高。
双向推理:同时使用正向推理又使用反向推理。
公式特点
产生式表示格式固定,形式单一,规则(知识单位)间相互较为独立,没有直接关系使知识库的建立较为容易,处理较为简单的问题是可取的。另外推理方式单纯,也没有复杂计算。特别是知识库与推理机是分离的,这种结构给知识的修改带来方便,无须修改程序,对系统的推理路径也容易作出解释。所以,产生式表示知识常作为构造专家系统的第一选择的知识表示方法。
参考资料
最新修订时间:2023-10-20 19:09
目录
概述
基本形式
例子
主要区别
参考资料