逻辑代理与命题模型检查
1. 反向链推理
反向链推理是一种目标导向的推理形式,它通过检查知识库中结论为目标的蕴含式,若其中某个蕴含式的所有前提都能通过反向链证明为真,那么目标即为真。以图中的查询 Q 为例,反向链推理会沿着图回溯,直至找到已知事实 A 和 B 作为证明基础。该算法本质上与 AND - OR - GRAPH - SEARCH 算法相同,且高效实现时运行时间为线性。
反向链推理在回答特定问题时非常有用,例如“我现在该做什么?”和“我的钥匙在哪里?”。由于该过程仅涉及相关事实,其成本通常远小于知识库规模的线性复杂度。
2. 有效命题模型检查
2.1 完整回溯算法:DPLL
DPLL 算法,又称 Davis - Putnam 算法,实际上是 Davis、Logemann 和 Loveland 在 1962 年描述的版本。它以合取范式的句子(一组子句)为输入,本质上是对可能模型的递归深度优先枚举。相较于简单的 TT - ENTAILS? 方案,DPLL 有三个改进:
- 早期终止 :即使模型部分完成,算法也能检测句子的真假。若子句中有一个文字为真,则该子句为真,整个句子可能在模型完成前就被判定为真;若有子句的所有文字都为假,则句子为假。早期终止可避免搜索空间中整个子树的检查。
- 纯符号启发式 :纯符号是在所有子句中始终以相同“符号”出现的符号。若句子有模型,则可将纯符号赋值为使其文字为真,因为这样不会使子句为假。在确定符号纯度时,可忽略模型中已知为真的子句。
- 单元子句启发式 :单
超级会员免费看
订阅专栏 解锁全文
44

被折叠的 条评论
为什么被折叠?



