【问题标题】:Boolean logic simplification布尔逻辑简化
【发布时间】:2015-05-19 02:54:26
【问题描述】:

我正在尝试解决这个问题,但遇到了困难: ' 表示补码 Y = A'B' + A'BC' + (A + C')' 我的尝试: A'B' + A'BC' + A'C A'(B' + BC' + C) 现在这就是我迷失的地方。不知何故,括号表达式的计算结果为 1,但不确定如何。 编辑:现在解决了。

【问题讨论】:

  • 我认为你不应该在这里询问布尔逻辑。
  • 我还应该问哪里?
  • 不太确定,但这是我已经解决的问题。 A'B' + A'BC' + (A + C')' = A'B' + A'BC' +A'C = A'(B'+C +BC') = A'(B'+ C+B) = A'(C+1) = A' 你需要的规则是这个 A+A'B = A+B
  • 啊,我明白了。我忘记了当你做或使用 1 时,它会简化为 1。谢谢!

标签: boolean logic


【解决方案1】:

我总是喜欢为这类东西写一个程序,看看逻辑推理是否成立:

#include<stdio.h>
int main (void) {
    puts ("A B C");
    for (int a = 0; a < 2; a++) {
        for (int b = 0; b < 2; b++) {
            for (int c = 0; c < 2; c++) {
                int x = !a && !b;
                int y = !a && b && !c;
                int z = !(a || !c);
                printf ("%d %d %d -> %d %d %d -> %d\n",
                    a, b, c, x, y, z, x || y || z);
            }
        }
    }
    return 0;
}

输出是:

A B C
0 0 0 -> 1 0 0 -> 1
0 0 1 -> 1 0 1 -> 1
0 1 0 -> 0 1 0 -> 1
0 1 1 -> 0 0 1 -> 1
1 0 0 -> 0 0 0 -> 0
1 0 1 -> 0 0 0 -> 0
1 1 0 -> 0 0 0 -> 0
1 1 1 -> 0 0 0 -> 0

你可以看出简化的表达式就是A'。您还可以看到原因,因为中间部分显示了三个单独的术语 OR-ed 一起得到最终结果。

  • A 为真时(最后四行),所有三个术语都是假的,所以OR-ing 也给出假。前两个术语 A'B'A'BC' 是错误的,因为它们都是 AND 和错误的 A'。最后一个词有A+C',它总是为真(因为真OR任何东西都是真的),这意味着它的否定总是假的。

  • 翻到前四行,当AB都为假时,第一项A'B'为真,所以其他两项无关紧要(真OR随便@ 987654337@ 一切都是真的)。​​

  • 只剩下第三行和第四行。第三个,AC都为假,C为真,表示中项A'BC'为真。

  • 第四行有 A false 和 C true 所以A+C' 给出 false 或 false -> false 所以第三个术语 (A+C')' 为 true(B 无关紧要)。


按照 CompSci 的方式进行操作,您只需要逐步完成它,应用规则:

     A'B' + A'BC' + (A+C')'
=    A'B' + A'BC' + A'C         # "De Morgan" final term       [note 1]
= A'(B'   + BC'   + C)          # extract common A'            [note 2]
= A'(B'   + B     + C)          # (B and not C) or C -> B or C [note 3]
= A'(    T        + C)          # (not B or B) -> true         [note 4]
= A'(        T       )          # true or anything -> true     [note 4]
= A'                            # X and true -> X              [note 4]

注意事项:

1/ De Morgans 定律简单地指出a'b' -&gt; (a+b)'a'+b' -&gt; (ab)'

2/ 分配规律ax+ay -&gt; a(x+y).

3/ 不确定这条定律是否有名称,但如果c 为真,则整个表达式为真。如果c 为假,则归结为b and true 或只是b。这实际上是b+c

4/ 这些是不言而喻的,正如任何优秀的数学家都应该告诉你的那样,在正式证明中几乎应该不言而喻:-)

【讨论】:

  • 感谢您的详细解答!
猜你喜欢
  • 2011-08-17
  • 2016-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-02
  • 2012-07-27
  • 2011-09-30
相关资源
最近更新 更多