Skip to content

5.7.6 正规形式

1. 基本合取、基本析取

B={B,,,¬;0,1} 是一个布尔代数, {x1,,xn} 是一组布尔变量. 每个合取或析取,若其中每个变量或其否定恰出现一次,则分别称为 (变量 x1,,xn 的) 基本合取或基本析取.

T(x1,,xn) 是一个布尔表达式. 若基本合取的析取 D 满足 D=T ,则称它为 T 的主析取正规形式 (PDNF). 若基本析取的合取 C 满足 C=T ,则称它为 T 的主合取正规形式 (PCNF).

  • 部分 1 为了说明每个布尔函数 f 可以表示为一个布尔表达式,我们来构造附表中给出的函数 f 的 PDNF 形式:

布尔函数 f 的 PDNF 含有基本合取 x¯y¯z,xy¯z,xyz¯ . 这些基本合取属于使得函数 f 取值 1 的那些变量的赋值 b . 如果变量 vb 中有值 1,那么 v 就实施基本合取,不然 v¯ 实施基本合取.

x

y

z

f(x,y,z)

0

0

0

0

0

0

1

1

0

1

0

0

0

1

1

0

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

0

  • 部分 2 对于部分 1 中的例子, PDNF 是
(5.312)(x¯y¯z)(xy¯z)(xyz¯).

PDNF 的 “对偶” 形式是 PCNF: 基本析取属于函数 f 取值 0 的那些变量的赋值 b .

如果变量 vb 中有值 0,那么 v 就实施基本析取,不然 v¯ 实施基本析取. 于是 PCNF 是

(5.313)(xyz)(xy¯z)(xy¯z¯)(x¯yz)(x¯y¯z¯).

如果变量的顺序和赋值的顺序给定, 即如果将赋值考虑为二进数并且将它们按递增顺序排列,那么 f 的 PDNF 和 PCNF 是唯一确定的.

2. 主正规形式

将布尔函数 fT 的主正规形式看作对应的布尔表达式 T 的主正规形式.

通过变换检验两个布尔表达式的等价性通常是困难的. 主正规形式是有用的: 如果两个布尔表达式所对应的唯一确定的主正规形式是按字母逐个恒等的, 那么它们确实是语义等价的.

  • 部分 3 在考虑的例子 (见部分 1 和部分 2) 中,表达式 (y¯z)(xyz¯)(x((yz)(y¯z)(y¯z¯)))(x¯((yz)(y¯z))) 是语义等价的,因为两者的主析取 (或合取) 正规形式是相同的.

version 1.24.0