【问题标题】:Simplify expression Boolean-Algebra简化表达式布尔代数
【发布时间】:2013-11-01 10:48:35
【问题描述】:

对于我的课程,我必须学习一些布尔代数。现在我在简化表达方面遇到了一些困难。

例如我得到:

A.B.C + NOT(A) + NOT(B) + NOT(C)

我尝试检查 wolfram alpha,但那里没有显示简化。 你能告诉我如何简化这个表达式吗?

提前致谢

【问题讨论】:

  • . 表示 AND,+ 表示 OR?如果是这样,整个事情就简化为 TRUE。
  • 通过简化我的意思是从 (A+B+C).(A.NOT(B).N​​OT(C)).NOT(C)B.NOT(C) @ChrisTaylor
  • 在您提出的 7 个问题中,您只接受了一个答案。如果您收到了有价值的信息,请记得投票给您所有好的、有用的答案和accept the most useful。谢谢。

标签: math boolean-logic simplify


【解决方案1】:

真值表:

A    B    C    X
0    0    0    1
0    0    1    1
0    1    0    1
0    1    1    1
1    0    0    1
1    0    1    1
1    1    0    1
1    1    1    1

所以简化就是:

X = 1

【讨论】:

  • 问题是“如何”。你能解释一下你的答案吗?
  • 是的,简化表达式的一种方法是将其写成上面的真值表,然后收集术语(他们应该已经在您的课程中涵盖了这一点?)-在这种情况下只是一个术语,所以解决方案是微不足道的。
  • XD 这不是我的课程,我已经知道所有这些东西。问题是如何简化表达式。我理解你用真值表做了什么,但是,对于问这个问题的人,你只是扔出一堆数字并说“Tada!”我想也许你会解释你是如何从真值表中得出答案的,而不是构建卡诺图或将德摩根定律应用于表达式。
  • 我的错误 - 我以为你是 OP。无论如何,当我开始写真值表时,我并没有意识到答案会变得微不足道——如果它是一个更有趣的表达方式,我会更详细地介绍。好像真的没什么好解释的。
【解决方案2】:

布尔代数解(使用更传统的表示法):

给定布尔表达式:

abc + a' + b' + c'

应用双重否定:

(abc + a' + b' + c')''

对析取应用德摩根定律:

((abc)'a''b''c'')'

减少双重否定:

((abc)'abc)'

x 和 x' 的与为 0:

(0)'

0的否定是1:

1

布尔代数解(使用给定的符号):

给定布尔表达式:

a.b.c + NOT(a) + NOT(b) + NOT(c)

应用双重否定:

NOT(NOT(a.b.c + NOT(a) + NOT(b) + NOT(c)))

对析取应用德摩根定律:

NOT(NOT(a.b.c).NOT(NOT(a)).NOT(NOT(b)).NOT(NOT(c))))

减少双重否定:

NOT(NOT(a.b.c).a.b.c)

x 和 x' 的与为 0:

NOT(0)

0的否定是1:

1

【讨论】:

    【解决方案3】:

    Wolfram Alpha 没有进行简化,因为它不理解您的符号。使用 (A and B and C) or NOT(A) or NOT(B) or NOT(C) shows 将其简化为 true。

    或者你可以看看它:如果任何一个是假的,NOT 将使一切都成为真的,如果它们都是真的,那么第一个子句也是如此。

    【讨论】:

    • 问题是“如何”。你能解释一下你的答案吗?
    • 第一段:“如果你使用 Wolfram Alpha 可以识别的符号,你可以简化这个表达式。”第二段:“您可以通过查看 ORed 的四个术语中的每一个来在脑海中简化这一点,并确定什么是真实的。”
    • “在你的头脑中看它”不是一个非常具体的答案,你没有限定“头脑”或这个“头脑”应该做的事情。如果我抓住一个毛绒玩具熊,它确实有一个头,但我怀疑它会给出与你相同的答案。 “Simplify using wolfram”确实清楚地表达了如何将数据输入到程序中,但仍然没有解释化简的过程。很可能,对于试图学习如何简化逻辑表达式的人来说,使用程序来提供答案将是为了验证他们自己的工作是否走上正轨。
    【解决方案4】:

    使用http://en.wikipedia.org/wiki/De_Morgan%27s_laws

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

    以及分配、换向等的正态方法。参见 http://en.wikipedia.org/wiki/Boolean_algebra#Laws

    请注意,在上面的链接文本中,符号的书写方式不同。

    • AND 是∧
    • OR 是∨
    • 不是 ¬

    【讨论】:

      猜你喜欢
      • 2014-01-30
      • 2013-10-21
      • 2016-07-13
      • 2016-02-20
      • 1970-01-01
      相关资源
      最近更新 更多