产生式系统
产生式系统是给定事实与推理规则,进行自动推理的推理系统。
产生式系统由3个部分组成:总数据库、产生式规则、控制策略。
-
总数据库是存放求解过程中各种当前信息的数据结构,包括已知事实与推理过程中得到的结论
-
产生式规则是一个规则库,存放形如"if <前提>, then <结论>" 的推理规则.
-
控制策略决定了推理过程中如何应用规则,即确定下一步应该选用什么规则,类比于图搜索中的图搜索策略(DFS,BFS,etc.)
产生式系统 | 图搜索 |
---|---|
初始事实数据 | 初始节点 |
目标条件 | 目标节点 |
产生式规则 | 状态转换规则 问题变换规则 |
规则集 | 操作集 |
动态数据库 | 节点(状态/问题) |
控制策略 | 搜索策略 |
按照搜索方向,产生式系统可分为正向推理、逆向推理和双向推理。
例 正向推理 设\(P_1,P_2,P_3,P_4\) 为谓词公式或命题, 初始总数据库 \(DB=\{P_1\},\) 规则库 \(R=\{R_1:P_1\to P_2, R_2:P_2\to P_3, R_3:P_3 \to P_4 \},\) 则推理步骤如下
- \(P_1 \in DB,\) 在规则库\(R\)中寻找到可用的规则 \(R_1:P_1\to P_2,\) 得到 \(P_2,\) 当前\(DB=\{P_1,P_2\}\)
- \(P_2 \in DB,\) 在规则库\(R\)中寻找到可用的规则 \(R_2:P_2\to P_3,\) 得到 \(P_3,\) 当前\(DB=\{P_1,P_2,P_3\}\)
- \(P_3 \in DB,\) 在规则库\(R\)中寻找到可用的规则 \(R_3:P_3\to P_4,\) 得到 \(P_4,\) 当前\(DB=\{P_1,P_2,P_3,P_4\}\)