把一些规则组合起来,让它们相互协作,共同解决问题,其中一个规则得出的结论,可以作为另一个规则的前提条件,这样就可以一步步推导出答案。这种用规则来解决问题的方法,叫作规则系统。
一般来说,一个规则系统由三个部分组成:规则库、控制系统(也叫推理机)和综合数据库。产生式系统的基本结构关系如图2—1所示。
1.规则库
规则库是存放各种专业知识的地方。这些知识是用规则的形式表达的,每条规则都有一个前提条件和一个结论或操作。规则库是规则系统解决问题的基础,所以要保证规则库中的知识是完整的、一致的、准确的和灵活的。要对规则库中的知识进行合理的组织和管理,避免出现重复或矛盾的知识,以提高知识的利用率。
图2—1 产生式系统的基本结构关系
2.控制系统
控制系统是控制整个规则系统运行的程序。它负责从规则库中选择合适的规则,解决可能出现的冲突,执行规则中的结论或操作,检查是否达到推理终止条件等。控制系统主要完成以下几项工作:
1)按照一定的策略从规则库中挑选出与综合数据库中的信息相匹配的规则。匹配就是把规则的前提条件和综合数据库中的信息进行比较,看看它们是否一致或者近似一致。如果匹配成功,就说明这条规则可以被使用;如果匹配不成功,就说明这条规则不适用于当前的问题。
2)消解冲突。有时,匹配成功的规则可能不止一条,这就产生了冲突。此时,控制系统要调用相应的消解冲突策略,从多个匹配成功的规则中选出一条执行。
3)执行规则。如果某条规则中有结论,就把结论加入综合数据库中;如果某条规则中有操作,就执行操作。对于不确定性知识,还要计算结论或操作的不确定性程度。
4)检查推理终止条件。检查综合数据库中是否已经包含了最终结论,决定是否停止推理过程。
3.综合数据库
综合数据库是存放问题求解过程中各种当前信息的地方。这些信息包括问题的初始状态、原始证据、中间结论和最终结论等。综合数据库是规则系统进行推理的依据,它会随着推理过程而不断变化。当某条规则的前提条件与综合数据库中的某些信息相匹配时,这条规则就可以被使用,它会把推出的结论或操作加入综合数据库中,为后面的推理提供新的信息。