布尔函数化简



使用代数函数化简

在这种方法中,一个布尔表达式通过应用布尔恒等式简化为一个等价的表达式。

问题 1

使用布尔恒等式最小化以下布尔表达式:

$$F (A, B, C) = A'B + BC'+ BC + AB'C'$$

解答

已知,$F (A, B, C) = A'B + BC'+ BC + AB'C'$

或,$F (A, B, C) = A'B + (BC'+ BC') + BC+ AB'C'$

[根据幂等律,BC’ = BC’ + BC’]

或,$F (A, B, C) = A'B + (BC'+ BC) + (BC'+ AB'C')$

或,$F (A, B, C) = A'B + B(C'+ C) + C'(B+ AB')$

[根据分配律]

或,$F (A, B, C) = A'B + B.1 + C'(B + A)$

[ (C' + C) = 1 且吸收律 (B + AB')= (B + A)]

或,$F (A, B, C) = A'B + B + C'(B + A)$

[ B.1 = B ]

或,$F (A, B, C) = B(A'+ 1) + C'(B + A)$

或,$F (A, B, C) = B.1 + C'(B + A)$

[ (A' + 1) = 1 ]

或,$F (A, B, C) = B + C'(B + A)$

[ 因为,B.1 = B ]

或,$F (A, B, C) = B + BC' + AC'$

或,$F (A, B, C) = B(1 + C') + AC'$

或,$F (A, B, C) = B.1 + AC'$

[因为,(1 + C') = 1]

或,$F (A, B, C) = B + AC'$

[因为,B.1 = B]

所以,$F (A, B, C) = B + AC'$是最小化形式。

问题 2

使用布尔恒等式最小化以下布尔表达式:

$$F (A, B, C) = (A + B) (A + C)$$

解答

已知,$F (A, B, C) = (A + B) (A + C)$

或,$F (A, B, C) = A.A + A.C + B.A + B.C$ [应用分配律]

或,$F (A, B, C) = A + A.C + B.A + B.C$ [应用幂等律]

或,$F (A, B, C) = A(1 + C) + B.A + B.C$ [应用分配律]

或,$F (A, B, C) = A + B.A + B.C$ [应用支配律]

或,$F (A, B, C) = (A + 1).A + B.C$ [应用分配律]

或,$F (A, B, C) = 1.A + B.C$ [应用支配律]

或,$F (A, B, C) = A + B.C$ [应用支配律]

所以,$F (A, B, C) = A + BC$ 是最小化形式。

卡诺图

卡诺图(K-map),由 Maurice Karnaugh 于 1953 年提出,是真值表的网格状表示,用于简化布尔代数表达式。卡诺图在不同位置具有 0 和 1 的条目。它将具有公共因子的布尔表达式组合在一起,并从表达式中消除不需要的变量。在 K-map 中,跨越垂直或水平单元格边界总是仅改变一个变量。

示例 1

下面给出了一个任意的真值表:

A B A 操作 B
0 0 w
0 1 x
1 0 y
1 1 z

现在我们将为上述真值表创建一个 K-map:

K-map 1

示例 2

现在我们将为表达式 AB+ A’B’ 创建一个 K-map:

K-map 2

使用 K-map 化简

K-map 使用一些规则通过将相邻单元格组合成单个项来简化布尔表达式。规则如下:

规则 1 - 任何包含零的单元格都不能分组。

K- map Rule 1

错误分组

规则 2 - 组必须包含 2n 个单元格(n 从 1 开始)。

K- map Rule 2

错误分组

规则 3 - 分组必须是水平或垂直的,但不能是对角线的。

K- map Rule3

错误的对角线分组

K- map Rule 3

正确的垂直分组

K- map Rule 3

正确的水平分组

规则 4 - 组必须尽可能大。

K- map Rule 4

分组不足

K- map Rule 4

正确分组

规则 5 - 如果任何单元格的 1 不能与任何其他单元格分组,它将本身作为一个组。

K- map Rule 5

正确分组

规则 6 - 组可以重叠,但组的数量应尽可能少。

K- map Rule 6

正确分组

规则 7 - 最左侧的单元格/单元格可以与最右侧的单元格/单元格分组,最顶部的单元格/单元格可以与最底部的单元格/单元格分组。

K- map Rule 7

正确分组

问题

使用 K-map 最小化以下布尔表达式:

$$F (A, B, C) = A'BC + A'BC' + AB'C'+ AB'C$$

解答

每个项都放入 K-map 中,我们得到以下结果:

K-map Problem 1

F (A, B, C) 的 K-map

现在我们将根据上面列出的规则对 1 的单元格进行分组:

K-map Problem 2

F (A, B, C) 的 K-map

我们得到了两个组,称为 $A’B$ 和 $AB’$。因此,$F (A, B, C) = A’B+ AB’= A \oplus B$。这是最小化形式。

广告