产生式系统
产生式系统是给定事实与推理规则,进行自动推理的推理系统。
产生式系统由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\}$
if True:
print('hello')
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。