如何将此方程转换为 CNF?
¬((p ∨ ¬Q) ⊃ R) ⊃ (P ∧ R))
http://en.wikipedia.org/wiki/Conjunctive_normal_form
要将一阶逻辑转换为 CNF:
- 转换为否定范式。
- 消除影响:将 x → y 转换为 ¬ x ∨ y
- 向内移动 NOT。
- 标准化变量
- 将语句简化
- 删除通用量词
- 在 OR 上分配 AND。
(人工智能:一种现代方法 [1995...] Russel 和 Norvig)
我可以建议这个吗?页面上有转换算法。
我在 Java 中实现了一个小工具,可以将布尔表达式基本转换为 (C|D)NF。如果你有兴趣,你可能想看看https://github.com/julianthome/ctrans。实施基于这些讲义。更详细的描述可以在这里找到。任何反馈将不胜感激;-)。