6.4 产生式系统

纽厄尔和西蒙(Newell and Simon,1972;Newell,1973)提出的产生式系统(product Systems,简称pSs)沿用了波斯特(post,1943)系统相同的名字。产生式系统在心理学中广泛应用于模拟各种认知功能,在人工智能领域常常用于构建专家系统。

纽厄尔和西蒙(1972)明确说明,pSs用来模拟认知现象,与行为主义关注刺激和反应关系有很大区别(见第2章),同样区别于那个时期神经科学家所关注的神经硬件问题(见第3章)。他们写道:“本书讨论的信息加工理论,代表一种处于行为主义和神经科学之间的一种特殊解释层次”(1972:876)。纽厄尔这样描述pSs的特征:“产生式系统是一种具体的信息加工系统程式。它包含一组产生式集合,每个产生式都具有一个条件和一个动作。它还具有数据结构库:140编码产生式系统运行信息的表达式集——是动作的操作对象,并决定条件为真或假。当给定初始结构数据后,产生式系统进行如下操作:如果当前数据条件为真(假设当下只存在一条数据),产生式则被执行。这会使动作对当前的数据结构产生修改。修改后的数据结构会紧接着引起另一个(可能会是与上一个产生式相同的)产生式被执行,数据结构进一步修改。每个动作操作均由当前结构数据库的条件为真引发。一个动作操作紧接着另一个动作操作运行,这样持续进行,也就执行了整个加工程序。如果整个加工停止,则只有两种可能:要么没有条件为真(因此什么都不会引发),要么结论本身就包含一个停止操作指令”(1973:463)。纽厄尔所述的产生式系统结构。

pSs包括三个组成部分。产生式规则集(a set of production rules),它的形式是:如果A(条件),则B(动作);储存工作空间(memory work space)(有时称“语境”);规则解释器(rule interpreter),它将相关的规则应用于工作空间的结果。pSs的典型操作循环:

1.把生产式的条件(A)与工作空间的结果相匹配。

2.从产生式间的冲突进行消解,并将正确的产生式写入工作空间。

3.在工作空间中执行B。

产生式系统循环

总结产生式系统(pS)的操作循环为匹配、消解以及运行。

当不再有产生式适合工作空间时,系统就会停止(或者遇到特殊的停止符)。产生式通达工作空间的竞争是并行的——只有激活了的产生式才是序列的。

可以通过编写产生式规则集对产生式系统进行编程,产生式规则在工作空间输入初始数据后开始运行,当工作空间产生目标输出结果后停止。通过变换不同的工作空间和使用时间,可以得到各种特殊的产生式系统(参见Newell,1973:516)。

产生式规则集:

p1.IF (On-CL绿色) ThEN (put-On-CL农产品)

p2.IF (On-CL装进一个小容器内) ThEN (put-On-CL美味)

p3.IF (On-CL冷冻OR On-CL农产品) ThEN (put-On-CL易坏)

p4.IF (On-CL重15磅AND On-CL便宜的AND并非On-CL易坏)

ThEN (put-On-CL常用的)

p5.IF (On-CL易坏 AND On-CL重15磅) ThEN (pub-On-CL火鸡)

p6.IF (On-CL重15磅AND On-CL农产品) ThEN (put-On-CL西瓜)

规则解释器:

1.查找所有条件部分为真的,可用产生式。

2.如果可用产生式多于一个,那么执行所有的产生式,复制其动作符号加入CL。

3.执行最低限数的(或者只有一个的)可用产生式的动作。如果无产生式可用,停止。

4.重置所有产生式的可用性,并返回S1。

将产生式应用工作空间(这里称为“CL”)中的数据,得到如下计算:

1.ON-CL=绿,重15磅

{在工作空间中输入数据:绿,重15磅}

p1 激活

2.ON-CL=农产品,绿,重15磅;

{p1将“农产品”加入工作空间}

p3 激活

3.On-CL=易坏,农产品,绿色,重15磅

{p1将“易坏”加入工作空间}

p5 激活

4.On-CL=火鸡,易坏,农产品,绿色,重15磅

{p5将“火鸡”加入工作空间。不清楚为什么p5不被禁止——将“非农产品”加入它的条件}

p6 激活

5.On-CL=西瓜,火鸡,易坏,农产品,绿色,重15磅

{p6将“西瓜”加入工作空间。不清楚西瓜和火鸡是什么}