【问题标题】:How to simplify using boolean algebra?如何使用布尔代数简化?
【发布时间】:2019-05-08 19:27:06
【问题描述】:

我的作业中有以下问题:

“使用布尔代数验证以下等式:

NOT((A AND NOT B) OR (NOT A AND B)) == ((A AND B) OR (NOT A AND NOT B))。 "

我可以使用卡诺图和真值表来做到这一点,但我被困在使用布尔代数的正式程序上。

提前感谢您的帮助!

【问题讨论】:

  • 我投票决定将此问题作为离题结束,因为它似乎与编程无关:meta.stackoverflow.com/questions/374816/…
  • 你知道德摩根定律吗?你会在这里需要它。
  • 我投票结束这个问题,因为它是关于布尔代数/数学,而不是直接关于编程/编码/编程工具/软件算法。

标签: boolean-algebra


【解决方案1】:

使用德摩根定律 (http://www.ask-math.com/de-morgans-law.html),我们可以简化左侧:

  1. !((A and !B) (!A B))
  2. !(A and !B) and !(!A B
  3. (!A B) (A !B)

接下来我们使用 Sums 的乘积得到:

(!A and A) (B A(!A BB B

因为 (!A and A) 是假的并且 (B and !B) 是假的,我们简化为:

(B and A) (!A B)。

这符合等式的右边。

【讨论】:

    【解决方案2】:

    我自己想出来的:

    步骤:

    1. ~((A AND ~B) AND (~A AND B)) .... 原方程

    2. ((~A OR ~~B) AND (~~A OR ~B)) .... 德摩根定律

    3. ((~A OR B ) AND (A OR ~B) .... 消除双重否定

    在我看来,引入数学符号会让它更清晰

    1. (~A (~B + A) * B (~B + A) .... "分解" (~A * B) 并进行乘法

    2. (~A*~B)+(~AA)+(B~B)+(B*A) ....“乘以项”

    3. (~A*~B) + 1 + 1 + (B*A) .... 排除中间

    4. (~A*~B) + (A*B) .... 必填答案

    【讨论】:

      猜你喜欢
      • 2018-04-20
      • 2013-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-21
      • 1970-01-01
      • 2020-09-29
      相关资源
      最近更新 更多