版权归原作者所有,如有侵权,请联系我们

[科普中国]-OPS5语言

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

概述

OPS5的程序包含描述程序数据目标的说明部分及包含规则的产生式部分。执行期间,程序操作的数据存放在工作存储器中,规则存放在产生式存储器中。工作存储器通常在装入说明和规则后被初始化。说明部分包含可在规则中引用的各种数据目标类型和用户自定义函数的定义。

OPS5的推理机由匹配规则、选择规则和执行规则三个算法组成。其中,匹配规则算法和工作存储器的条件元匹配,选择规则算法挑选一条主导规则,执行规则算法激活该规则,即顺序执行RHS的动作。尽管该推理机是向前链接的,但它也可以执行向后链接求解问题策略。1

产生式系统的构成工作存贮器OPS5提供了一种单一的综合数据库,称为工作存贮器,它包含了一个不变的符号结构集合。符号结构有两种类型:a、符号向量;b、与属性一一值二元组相关联的对象。其中最常用的是b,b的一般形式是:

::=

(属性值>

工作存贮器称为模式。

产生式形式OPS5的产生式规则是标准的 :

if 条件 then 行动

的形式,其前件部分一般是模式的逻辑和。后件部分是用于重写工作存贮器内容的操作或者是某种计算,也可能是调用某个过程。前后件之间用“”相连。

重写工作存贮器模式的操作主要有以下3种:

①make:将一新的模式加到工作存贮器中;

②remove:删除工作存贮器中的一个模式;

⑧modify:重写工作存贮器中的一个模式。2

推理机产生式系统的控制基础是匹配规则、选择规则和执行规则三个过程。该控制机构也称为识别一动作循环,它是OPS5推理机的基础。

识别一动作循环可以如下描述:

repeat

匹配:执行匹配操作

当下面中的一个情况满足时退出该循环:

①冲突集为空

②执行到balt命令

③达到循环计数值

④执行到断点

选择:执行冲突消解策略

执行:执行选中的规则

end

OPS5程序对待每条规则并没有什么先后顺序,也不因为匹配而将该规则集分成子集。每次循环时,将所有规则与工作存储器匹配。选择规则策略基于各实体的条件元的先后值及LHS的特征。

匹配匹配过程规则为每个匹配的元建立一个实体。一实体是一有序对,第一项是规则名,第二项是与条件元匹配的存储器元序列。每次循环中,可以形成任意多个实体,也可以没有。冲突集是一个循环中所有这些实体的集合。

现把一个规则的LHS和工作存储器之间进行匹配的条件总结如下:每个非否定条件元和一工作存储元匹配;没有工作存储器元与否定条件元匹配;每个元变量都代表与其条件元匹配的工作存储器元;对每个变量在同一规则LHS中的所有出现赋给同一个值。

选择规则的策略如果匹配步产生了多于一个规则实体的冲突集,就需要对组成冲突消解的集合执行一系列的检测,并从中选择一条规则来激活。每次检测对冲突集部分排序,那些被认为不重要的实体从冲突集中删除,直到冲突集里只有一个实体。OPS5有两种冲突消解策略,即LEX和MEA,它们仅在从冲突集中选出一实体的检测序列方面有些微小差别,其中LEX是较简单的策略。

(1)LEX

LEX的第一步称为折射。它的意思是所有先前被选中且激活过的实体都从冲突集中删除。折射规定了相同的实体不能再次激活。

LEX的第二步是根据与实体的条件元相应的工作存储器元的时间标记,对留在冲突集中的所有实体部分排序。对应于各实体的时间标记按递减的顺序来考虑。

第三步,经过上面两步后,冲突集中如果有多于一个的实体,则应用特性规则,即根据规则所有条件元的测试总数来对些实体进行部分排序。

最后,如果所有这些尝试都失败,则推理机从中任选一个实体。

(2)MEA

MEA与LEX的区别在于它对与规则第一个条件元匹配的工作存储器元的现行值特别重视,即执行完折射后,就马上比较这个工作存储器元的现行值,最大的留下来,其余的删除。后面的步骤与LEX相同。3