离散数学知识点总结(4):合取范式,析取范式

文章目录

  • 合取范式( conjunctive normal form (CNF))
  • 析取范式(disjunctive normal form (DNF))
  • 简化的合取和析取范式
  • 标准形式(Canonical form)
    • 异或标准形式(xor normal form)
    • 二元决策图 form (ROBDD)
    • 子句标准形式(clause form)

合取范式( conjunctive normal form (CNF))

任何命题公式,最终都能够化成 ( A 1 ∨ A 2 ) ∧ ( A 3 ∨ A 4 ) (A_1 \vee A_2) \wedge (A_3 \vee A_4) (A1A2)(A3A4) 的形式,这种先 ∨ 析 取 \vee 析取 ∧ 合 取 \wedge 合取 的范式,被称为 “ 合取范式”。

析取范式(disjunctive normal form (DNF))

任何命题公式,最终都能够化成 ( A 1 ∧ A 2 ) ∨ ( A 3 ∧ A 4 ) (A_1 \wedge A_2) \vee (A_3 \wedge A_4) (A1A2)(A3A4) 的形式,这种先 ∧ 合 取 \wedge 合取 ∨ 析 取 \vee 析取 的范式,被称为 “析取范式”。

Examples

对于之前出现的一些公式,我们都可以将他们转化成 CNF 或者 DNF

  • A ⊕ B ≡ ( A ∨ B ) ∧ ( ¬ A ∨ ¬ B ) A \oplus B \equiv (A\vee B)\wedge (¬A \vee ¬B) AB(AB)(AB)
  • A ↔ B ≡ ( A → B ) ∧ ( B → A ) A \leftrightarrow B ≡ (A \rightarrow B) ∧ (B \rightarrow A) AB(AB)(BA)
  • A → B ≡ ¬ A ∨ B A \rightarrow B ≡ ¬ A ∨ B AB¬AB
  • ¬ ¬ A ≡ A ¬¬A ≡ A ¬¬AA

Example 转换为合取公式

( ¬ P ∧ ( ¬ Q → R ) ) ↔ S (¬P ∧ (¬ Q \rightarrow R)) \leftrightarrow S (¬P(¬QR))S

≡ ( ( ¬ P ∧ ( ¬ Q → R ) ) → S ) ∧ ( S → ( ¬ P ∧ ( ¬ Q → R ) ) ) ≡ ((¬P ∧ (¬Q \rightarrow R)) \rightarrow S) ∧ (S \rightarrow (¬P ∧ (¬Q \rightarrow R))) ((¬P(¬QR))S)(S(¬P(¬QR)))

≡ ( ¬ ( ¬ P ∧ ( ¬ Q → R ) ) ∨ S ) ∧ ( ¬ S ∨ ( ¬ P ∧ ( ¬ Q → R ) ) ) ≡ (¬(¬P ∧ (¬Q \rightarrow R)) ∨ S) ∧ (¬S ∨ (¬P ∧ (¬Q \rightarrow R))) (¬(¬P(¬QR))S)(¬S(¬P(¬QR)))

≡ ( ¬ ( ¬ P ∧ ( ¬ ¬ Q ∨ R ) ) ∨ S ) ∧ ( ¬ S ∨ ( ¬ P ∧ ( ¬ ¬ Q ∨ R ) ) ) ≡ (¬(¬P ∧ (¬¬Q ∨ R)) ∨ S) ∧ (¬S ∨ (¬P ∧ (¬¬Q ∨ R))) (¬(¬P(¬¬QR))S)(¬S(¬P(¬¬QR)))

≡ ( ( ¬ ¬ P ∨ ( ¬ ¬ ¬ Q ∧ ¬ R ) ) ∨ S ) ∧ ( ¬ S ∨ ( ¬ P ∧ ( ¬ ¬ Q ∨ R ) ) ) ≡ ((¬¬P ∨ (¬¬¬Q ∧ ¬R)) ∨ S) ∧ (¬S ∨ (¬P ∧ (¬¬Q ∨ R))) ((¬¬P(¬¬¬Q¬R))S)(¬S(¬P(¬¬QR)))

≡ ( ( P ∨ ( ¬ Q ∧ ¬ R ) ) ∨ S ) ∧ ( ¬ S ∨ ( ¬ P ∧ ( Q ∨ R ) ) ) ≡ ((P ∨ (¬Q ∧ ¬R)) ∨ S) ∧ (¬S ∨ (¬P ∧ (Q ∨ R))) ((P(¬Q¬R))S)(¬S(¬P(QR)))

≡ ( ( ( P ∨ ¬ Q ) ∧ ( P ∨ ¬ R ) ) ∨ S ) ∧ ( ( ¬ S ∨ ¬ P ) ∧ ( ¬ S ∨ ( Q ∨ R ) ) ) ≡ (((P ∨ ¬Q) ∧ (P ∨ ¬R)) ∨ S)∧ ((¬S ∨ ¬P) ∧ (¬S ∨ (Q ∨ R))) (((P¬Q)(P¬R))S)((¬S¬P)(¬S(QR)))

简化的合取和析取范式

  • 简化方法:在一个 合取范式的 子句(clause)中,同一个逻辑 literal 只出现一次。
    离散数学知识点总结(4):合取范式,析取范式_第1张图片
  • 首先我们可以把第一个 clause 中的 A ∨ ¬ A ≡ T A \vee ¬A \equiv T A¬AT 转化成 ¬ B ∨ T ≡ T ¬B \vee T \equiv T ¬BTT
  • 第三个式子中 C ∨ C ≡ C C \vee C \equiv C CCC
  • 所以上面的式子可以化简为
    在这里插入图片描述

标准形式(Canonical form)

因为对于析取范式和合取范式化简的式子来说,可以有很多种形式,长短和每个子句的内容可能都不同,因此,我们要规定一个标准来处理这种情况。

异或标准形式(xor normal form)

  • 一种标准形式 (“异或标准形式”) 使用互斥或和连词,以积和形式表示函数
    离散数学知识点总结(4):合取范式,析取范式_第2张图片
  • 或者,将和式表示为集合
    在这里插入图片描述

二元决策图 form (ROBDD)

  • 二元决策图(bdd)给出了另一种规范形式
    离散数学知识点总结(4):合取范式,析取范式_第3张图片
  • A → B A \rightarrow B AB 的子句表示在图中为实线
  • 对于上图,如果得到的结果(叶子节点)只有一个 T T T 那就代表这个公式是 valid,如果只有一个 f f f 就代表是 unsatisfiable 的

子句标准形式(clause form)

  • 我们可以把合取公式表示的信息看做一个从句,由很多子句构成。

在这里插入图片描述

  • 我们可以将这些连接的子句写成下面的形式:
    在这里插入图片描述
    • 子句中的 , , , 表示的是 ∨ \vee ;子句间的 , , , 表示的是 ∧ \wedge
      在这里插入图片描述
      在这里的 c l a u s e { A } clause \{A\} clause{A} 其本质上是 c l a u s e { A ∨ ∅ } clause\{A \vee \emptyset\} clause{A} 这里 A ∨ ∅ ≡ A ∨ F ≡ A A \vee \emptyset \equiv A \vee F \equiv A AAFA
      离散数学知识点总结(4):合取范式,析取范式_第4张图片
      这里的 f o r m u l a { C } formula \{C\} formula{C} 代表的是 f o r m u l a { C ∧ ∅ } formula \{C\wedge\emptyset\} formula{C},这里 ∅ \emptyset 相当于 T T T

你可能感兴趣的:(计算模型基础:离散数学,逻辑学)