离散数学-通过真值表计算主合取范式和主析取范式

(去你丫的离散数学)

首先,我们需要理解主合取范式(CNF)和主析取范式(DNF)的定义:

  • 主合取范式(CNF):是一个逻辑公式,它是一系列子句的逻辑与(合取),每个子句是一系列文字的逻辑或(析取)。文字是变量或其否定。

  • 主析取范式(DNF):是一个逻辑公式,它是一系列子句的逻辑或(析取),每个子句是一系列文字的逻辑与(合取)。文字是变量或其否定。

然后,我们可以根据真值表得出公式的主合取范式和主析取范式:

  1. 得出主合取范式:查看真值表中使得公式值为的行,对于这些行,取变量值为的变量的否定,和变量值为的变量,将它们用逻辑或(析取)连接起来形成一个子句,然后将所有子句用逻辑与(合取)连接起来,就得到了主合取范式。

  2. 得出主析取范式:查看真值表中使得公式值为的行,对于这些行,取变量值为的变量,和变量值为的变量的否定,将它们用逻辑与(合取)连接起来形成一个子句,然后将所有子句用逻辑或(析取)连接起来,就得到了主析取范式。

例题:写出公式(p∨q)→¬r的真值表, 并依据真值表给出其主合取范式、主析取范式及其公式的类型。

首先,我们可以写出公式(p∨q)→¬r的真值表:

p q r p∨q (p∨q)→¬r
T T T T F
T T F T T
T F T T F
T F F T T
F T T T F
F T F T T
F F T F T
F F F F T

然后,我们可以根据真值表得出公式的主合取范式和主析取范式: 

  • 主合取范式(CNF):第1,3,5行为假,p,q,r的值分别是111,101,011,取反之后就是000,010,100, 所以应该是(¬p∨¬q∨¬r)∧(¬p∨q∨¬r)∧(p∨¬q∨¬r)

  • 主析取范式(DNF):第2,4,6,7,8行为假,p,q,r的值分别是110,100,010,001,000。所以应该是(p∧q∧¬r)∨(p∧¬q∧¬r)∨(¬p∧q∧¬r)∨(¬p∧¬q∧r)∨(¬p∧¬q∧¬r)

你可能感兴趣的:(数学,学习)