使用法则和属性简化5-var布尔SOP表达式

时间:2017-11-10 01:26:39

标签: math boolean-logic boolean-expression boolean-operations

我有这个问题搞砸了我,因为我没有得到我应该从哪里开始,我应该从一开始就选择哪个术语?因为这种令人困惑的表达甚至不让我采取共同点,因为它毫无意义。此外,它甚至不让我删除赞美(使用法律),因为它也没有任何意义。请帮帮我,至少只是指导我该怎么办?我应该从哪里开始?我真的很感激。

我用来编写表达式的符号说明:

! :NOT Gate

+:或门

。 (点):AND Gate

布尔表达式:

A.!BE +!(BC).D。!E +!(CD).E +!AD!E + A。!(CD).E + AE + AB!E +!(AC) )+ BC!D

我使用了在线表达式简化器,它给了我以下答案:

!A + B +!C + D + E

但是如何在这短暂的表达中简化上述长表达式?我知道法律和财产,但我没有得到我应该如何开始简化长期的?我应该先看哪个条款?请有人帮助我。

1 个答案:

答案 0 :(得分:1)

(这是对你的评论的直接回答,以及对你的主要问题的侧面回答。简而言之,使用不同的方法来获得所需的简化表达。)

你有一个复杂的表达式,但只使用了5个逻辑变量。在这个问题中,构建一个只有2 ^ 5 = 32行的真值表要容易得多。您可以查看结果并使用它们来构建简化的等效表达式。这不使用原始问题所需的“法律和属性”,但它是简化布尔表达式的标准技术。

您应该已经学会了如何在任何离散数学课程中构建真值表。简而言之,您创建了一个表格,其中每行中的每个元素都是T的{​​{1}}或True的{​​{1}}。行包含Ts和Fs的所有可能组合。对于5个变量,这将使用2 ^ 5 = 32行。对于每一行,将第一个值分配给A,将第二个值分配给B等。然后,计算这些值的表达式,并将结果写在行的末尾。

这可以手工完成,但你的表达很复杂,我们可以避免这种情况。这是一个打印所需表的Python 3脚本。请注意,Python具有F功能,可简化获得Ts和Fs的所有可能组合。此脚本使用False将布尔值转换为单个字符product()B[]

T

结果如下:

F

除了单行from itertools import product """Make a truth table for the Boolean expression A.!B.E + !(B.C).D.!E + !(C.D).E+!A.D.!E + A.!(C.D).E + A.E + A.B.!E + !(A.C) + B.C.!D """ B = ('F', 'T') print('A B C D E : Result') print('- - - - - : ------') for a, b, c, d, e in product((True, False), repeat=5): print(B[a], B[b], B[c], B[d], B[e], end=' : ') print(B[ (a and not b and e) or (not (b and c) and d and not e) or (not (c and d) and e) or (not a and d and not e) or (a and not (c and d) and e) or (a and e) or (a and b and not e) or (not (a and c)) or (b and c and not d) ]) 外,我们发现结果始终为A B C D E : Result - - - - - : ------ T T T T T : T T T T T F : T T T T F T : T T T T F F : T T T F T T : T T T F T F : T T T F F T : T T T F F F : T T F T T T : T T F T T F : T T F T F T : T T F T F F : F T F F T T : T T F F T F : T T F F F T : T T F F F F : T F T T T T : T F T T T F : T F T T F T : T F T T F F : T F T F T T : T F T F T F : T F T F F T : T F T F F F : T F F T T T : T F F T T F : T F F T F T : T F F T F F : T F F F T T : T F F F T F : T F F F F T : T F F F F F : T 。这意味着除非A为True,B为False,C为True,D和E为False,否则表达式为true。因此,我们可以简化您的表达(使用您的符号)

T

DeMorgan法律的简单使用将其更改为正常形式:

T F T F F

这就是你想要的。