购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 产生式表示法

2.3.1 产生式的基本形式

产生式表示法也称为产生规则表示法,是一种通过规则进行知识推导的方法。美国数学家波斯特最早于 1943 年提出了“产生式”概念,根据串替代规则设计了能够被用来描述形式语言的语法,而这种语法的核心类同于“如果……则……”的人类心理活动认知,非常适合用于表示事物之间的因果关系。由于该方法模拟了人类求解问题的思维流程,因此,目前在大量的专家系统中被广泛使用。

产生式系统的本质是广泛的规则系统,当产生式系统求解问题时,要求能够普适性建立起形式化的系统描述方法体系。通常将产生式系统的基本形式定义为:

其中,P是产生式的前提,用于说明产生式是否可用的条件,Q是一组结论或者操作,用于说明当前提P指示条件满足时,执行的操作或者得出的结论。换言之,产生式的含义可以解释成,如果前提P被满足,则能得到结论Q或执行Q所给出的操作。

产生式的前提可以是复合条件,通过逻辑运算符NOT、AND和OR将多个简单条件组合而成。例如,“IF(节肢动物AND 6 条腿AND 2 对翅膀)THEN昆虫”表示“具有 6 条腿和 2 对翅膀的节肢动物是昆虫”;又如,“IF((NOT下雨)OR家中停电)THEN外出就餐”表示“如果不下雨或者家中停电就外出就餐”。需要说明的是,尽管没有强制规定,Q却通常不使用复合条件的形式。如前述例题的逆命题,“IF昆虫THEN节肢动物AND 6 条腿AND 2 对翅膀”的逻辑也是正确的,但更多时候为了保证结论的唯一性,建议结论中并不使用逻辑运算符来连接,而是通过映射,使用如“IF昆虫THEN节肢动物且具有 6 条腿和 2 对翅膀”的方式。

在表现上,产生式与谓词逻辑中的蕴涵式有相似之处,蕴涵式谓词公式也可以被看作产生式的一种。实际上,除逻辑蕴涵外,产生式还包括各种操作、规则、变换、算子、函数等,例如,“IF温度过高THEN调高风扇转速”表示“如果温度过高就需要将风扇转速调高”,这样的产生式不属于谓词逻辑中的蕴涵式,因为“调高风扇转速”是一个无事实存在的祈使性规则。读者在针对该类情况时需要特别注意。

另外,产生式还可以表示不确定性知识,通过加入置信度,即形成不确定性规则知识的产生式表示,其方式为:

其中,置信度取值范围为[0,1],表示如果P被满足,Q成立的置信水平为多少(可以理解为有多少概率区间的Q是可信的)。如“IF断电THEN空气断路器脱扣(0.75)”可以简单理解为“如果断电了,则有 75%的可能性是由空气断路器脱扣引起的”。读者请注意此处和前述例子中的Q的差异(操作或结论)。

2.3.2 产生式系统的组成

利用产生式解决问题时一般不单独使用。人们通常将一组产生式放在一起,一个产生式生成的结论可以提供给另一个产生式作为已知事实使用,进而求解问题,这样组合而成的系统结构被称为产生式系统,如图 2.1 所示。产生式系统具有综合数据库、规则库和控制系统等的要素。

图 2.1 产生式系统的结构图

综合数据库(也称事实库),用于存放问题求解过程中的问题初始状态、输入事实、中间结论和最终结论等各种当前信息的数据结构,其内容不断变化。规则库是用于描述相应领域内知识的产生式集合,主要存放能够有效表达领域内的过程知识以及与求解问题有关的所有规则的集合,通常规则库内容不会发生变化。由于包含了将问题从初始状态转换成目标状态所需要的所有变换规则,因此,规则库是产生式系统进行问题求解的基础。控制系统是产生式用于解决问题的推理机,由一组程序组成,负责整个产生式系统的运行,从产生式规则库中选择与数据库已知事实匹配的规则,决定问题求解过程的推理线路,实现问题求解。

从运行流程上看,产生式系统求解问题主要有以下步骤:

①按照一定策略从规则库选择规则匹配综合数据库中的已知事实,即用规则的前提条件去比较综合数据库中的已知事实,如果一致或近似,并满足预先规定的条件,那么则匹配成功,相应的规则可被使用;否则匹配不成功,相应的规则不可用于当前的推理。

②匹配成功一条以上的规则,则称发生了冲突。推理机构需要调用相应的解决冲突策略进行消解,并从中选出一条执行。

③执行规则中,如果该规则的右部存在一个以上结论,则把这些结论加入综合数据库中;如果规则的右部存在一个以上操作,则执行这些操作。

④对不确定性知识,执行每一条规则需要计算结论的不确定性。

⑤寻找结束产生式系统运行的时机,停止系统的运行。可以简单概括为选择匹配、冲突消解、执行操作、不确定推理、路径解释、终止推理。

产生式系统的基本算法也可以写作下列伪代码形式:

ⅰ. DATA←初始数据库

ⅱ. Until DATA满足结束条件,do:

ⅲ. Begin

ⅳ。在产生式规则库中,选取一条应用于DATA的规则A

ⅴ. DATA←A,并生成应用规则A后的结果

ⅵ. end

2.3.3 产生式系统的推理

产生式系统具有强大的推理能力,根据推理思维策略中“从一般到特殊”和“从特殊到一般”的差异,可以将推理方式分为 3 种:正向推理、反向推理和双向推理。

1)正向推理

正向推理也称数据驱动推理或前向链推理。主要是从一组表示事实的谓词或者命题出发,运用一组产生式规则,证明该谓词或命题是否属于前述事实(即判定是否成立),这是一种典型的由一般到特殊的推理方式,其算法流程如下:

①把用户提供的初始证据放入综合数据库。

②检查综合数据库中是否包含问题的解,若已包含,则求解结束,并成功推出,否则执行下一步。

③检查知识库中是否有可用知识,若有,则形成当前可用知识集,执行下一步;否则转到第五步。

④按照某种冲突消解策略,从当前可用知识集中选出一条知识进行推理,并将推出的新事实加入综合数据库中,然后转到第二步。

⑤询问用户是否可以进一步补充新的事实,若可补充,则将新事实加入综合数据库中,然后转到第三步;否则表示无解,失败退出。

一个典型正向推理如前述例“IF(节肢动物AND 6 条腿AND 2 对翅膀)THEN昆虫”,在该推理中,“节肢动物”“6 条腿”“2 对翅膀”均为事实,尽管节肢动物中还有虾蟹、蜘蛛、蜈蚣等非昆虫纲的动物,但是通过“6 条腿”“2 对翅膀”的特征约束就能够将范围缩小到唯一解“昆虫”上(因为同时具有这两个特征在节肢动物中仅存在于昆虫纲中)。

正向推理具有过程直观的优点,并支持用户主动提供有用事实信息,利于诊断、设计、预测和监控等领域问题的求解。缺点是在无明确目标或求解问题时,会执行与求解无关的操作,效率低下。

2)反向推理

反向推理也称目标驱动推理或逆向链推理。与正向推理不同的是,其从一组表示目标的谓词或者命题出发,运用一组产生式规则,证明该谓词或命题是否成立。通常需要对推理的目标进行假设,再来判断是否存在支持该假设的事实。其算法流程如下:

①将问题的初始证据和要求证的目标(假设)分别放入综合数据库和假设集。

②从假设集中选出一个假设,检查该假设是否在综合数据库中,若在,则该假设成立。若假设集为空,则成功退出,否则仍执行第二步;若假设不在综合数据库中,则执行下一步。

③检查该假设是否可由知识库的某个知识导出。若不能由某个知识导出,则询问用户该假设是否为可由用户证实的原始事实。若是,则该假设成立,并将其放入综合数据库;若不是,则转到第五步。若能由某个知识导出,则执行下一步。

④将知识库中可以导出该假设的所有知识构成一个可用知识集。

⑤检查可用知识集是否为空,若是则退出,否则执行下一步。

⑥按冲突消解策略从可用知识库中取出一个知识,执行下一步。

⑦将该知识的前提中的每个子条件都作为新的假设放入假设集,转到第二步。

反向推理多用于事实不清时的逻辑推理,通过相对碎片化的信息来得出最终结果。如有A、B、C、D 4 人,针对其身高发表意见,A认为自己最高、B认为自己不是最矮、C认为自己没有A高但不是最矮、D认为自己最矮,在其中只有一人说错的情况,推理出 4 个人的身高排序关系。这就是一个非常适用于反向推理的问题,读者可以根据该例情况自行求解。

反向推理的优点是无须使用与假设目标无关的信息和知识,具有明确的推理目标,利于向用户提供解释。缺点是用户对解的情况不明确时,系统自主选择目标比较盲目,可能会出现选择不好的情况,影响系统效率。

3)双向推理

双向推理也称正反混合推理,是正向推理和反向推理的融合,同时从目标向事实推理和从事实向目标推理,在推理过程的某个步骤中实现事实与目标的匹配。该类方法适合于事实和目标都存在碎片化情况时的推理,既综合了正向推理和逆向推理的长处,具有较高的效率,也存在流程复杂的缺点。

总体来看,产生式表示法使用了“IF P THEN Q”形式表示知识,其格式固定、形式单一,与人类相仿,表示直观自然,便于推理;同时其所有规则格式都相同,且数据库能被所有规则访问,能实现统一处理;知识库与推理机也分离运作,利于知识的添加、删除和修改,且更容易解释系统的推理路径。

但产生式表示法仍有以下不足:效率低下,在产生式表示方式中,各规则间的联系要求以综合数据库作为媒介,求解过程需要反复进行“匹配—冲突消解—执行”过程;并且产生式表示法具有难以表示结构性或层次性知识的局限性。 ejdWXM/bOe6xgczfgmHbvSlpOAxvDTLlNXEinCTE3KVZl960bmoAZevY7OJnco4m

点击中间区域
呼出菜单
上一章
目录
下一章
×