16

如何将此方程转换为 CNF?

¬((p ∨ ¬Q) ⊃ R) ⊃ (P ∧ R))
4

4 回答 4

22
于 2012-03-02T12:47:04.517 回答
6

http://en.wikipedia.org/wiki/Conjunctive_normal_form

要将一阶逻辑转换为 CNF:

  1. 转换为否定范式。
    1. 消除影响:将 x → y 转换为 ¬ x ∨ y
    2. 向内移动 NOT。
  2. 标准化变量
  3. 将语句简化
  4. 删除通用量词
  5. 在 OR 上分配 AND。

(人工智能:一种现代方法 [1995...] Russel 和 Norvig)

于 2009-03-17T17:39:22.827 回答
1

我可以建议这个吗?页面上有转换算法。

合取范式

于 2009-03-17T17:38:18.350 回答
0

我在 Java 中实现了一个小工具,可以将布尔表达式基本转换为 (C|D)NF。如果你有兴趣,你可能想看看https://github.com/julianthome/ctrans。实施基于这些讲义。更详细的描述可以在这里找到。任何反馈将不胜感激;-)。

于 2017-03-15T16:56:51.977 回答