产生式系统由动态数据库、产生式规则库和控制策略三个部分组成,各部分之间的关系如图2-22所示。
图2-22 产生式系统的构成
1.动态数据库
动态数据库用来存放与求解问题有关的数据,是人工智能产生式系统所使用的主要数据结构。它用来表述问题状态或有关事实,即它含有所求解问题的信息,其中有些部分可以是不变的,有些部分则可能只与当前问题的解有关。人们可以根据问题的性质,用适当的方法来构造动态数据库的信息。例如:当一个病人需要诊断时,它可能包括该病人病情的数据,D={f1,…,fn}。
2.产生式规则库
产生式规则库主要存放问题求解中的规则,R={r1,…,rn}。其结构为:如果A则B,即If A then B。
[例] 如果某动物是哺乳动物,并且吃肉,那么这种动物称为肉食动物。用产生式表示为:
IF the animal is a mammal and it eats meat THEN it is a carnivours.
3.控制策略
控制策略的作用是说明下一步应该选用什么规则,也就是说如何应用规则。通常从选择规则到执行操作分三步。
(1)匹配。把当前数据库和规则的条件部分相比较(见图2-23)。
图2-23 数据库的事实与规则库的条件匹配
如果两者完全匹配,则把这条规则称为触发规则。当按规则的操作部分去执行时,这条规则称为启用规则。被触发的规则不一定总是启用规则,因为有可能同时有几条规则部分被满足,这就要用到冲突解决。
(2)冲突解决。当有一个以上的规则的条件部分和当前数据库相匹配时,就需要决定首先使用哪一条规则,这就是冲突解决。
冲突解决的方法有:
①专一性排序。如果某一规则的条件部分比另一条规则的条件部分所规定的情况更为专业,则这条规则有较高的优先权。
②规则排序。如果规则编排顺序就表示了启用的优先级,则称之为排序。(www.daowen.com)
③数据排序。把规则条件部分的所有条件按优先级次序编排起来,运行时首先使用在条件部分包含较高优先级数据的规则。
④规模排序。按规则条件部分的规模排列优先级,优先使用被满足条件较多的规则。
⑤就近排序。把最近使用的规则放在最优先的位置。
⑥上下文限制。把产生式规则按它们所描述的上下文分组。也就是说按上下文对规则分组,在某种上下文条件下,只能从与其相对应的那组规则中选择可应用的规则。
⑦使用次数排序。把使用频率较高的排在前面。
不同的系统,可选择使用上述这些策略的不同组合,而如何选择冲突解决策略完全是启发式的。
(3)操作。操作是指执行规则的操作部分,经过操作以后,当前数据库将被修改,其他的规则有可能被使用。
产生式系统的工作周期如图2-24所示。
图2-24 产生式系统的工作周期
4.产生式系统的特点
产生式系统格式固定、形式单一,规则间相互较为独立,没有直接的关系,使数据库的建立较为容易,用来处理较为简单的问题是可取的。另外,产生式系统推理方式单纯,也没有复杂计算。特别是数据库与推理机是分离的,这种结构给数据库的修改带来方便,无需修改程序,对系统的推理路径也容易作出解释。
产生式系统有如下优点:
(1)有丰富的表达知识能力。
(2)对结构化的知识表达方便灵活且易于增加、删除。
(3)能表达动作,其结构事实上等价于图灵机。
(4)推理方向可逆,推理机制多样性。
(5)采用产生式系统结构求解问题的过程类似于人类求解问题时的思维过程,因而可以用它来模拟人类求解问题的思维过程,有利用于人工智能目标的实现。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。