7

我很确定我记得在我的一门大学课程中做过这样的事情,并且有某种公式,但除此之外,我的想法让我失望。

给定语句: ( a OR b OR d ) AND ( a OR c )

我很确定这可以简化为:( a OR b OR d OR c )

但我不记得我将如何证明这一点。

也许是一系列逻辑表?

4

9 回答 9

10

您不能将“(a OR b OR d)AND(a OR c)”减少为“(a OR b OR d OR c)”,因为前者对“c=true, a,b,d=false”不满意,而后者是。所以你也不能证明减少是正确的:)

一般来说,有很多方法可以减少布尔公式的大小,这也是您要优化什么的问题(总大小?条件评估的平均次数?)。卡诺图仅适用于少数变量。将大的布尔公式简化为更小的布尔公式是一个高级主题,它是自动逻辑电路设计等的关键。

于 2009-03-20T15:46:46.753 回答
8

卡诺图?逻辑表达式减少?

于 2009-03-20T15:38:13.467 回答
4

卡诺图是你的朋友:

http://en.wikipedia.org/wiki/Karnaugh_map

您将不得不从上述等式反向构建它,但它是一个很好的工具,可以告诉您是否可以进一步减少它。

于 2009-03-20T15:39:56.583 回答
3

卡诺图,关键是“绘制”所有可能的输入并指示它们的输出。然后您可以开始过滤掉对输出没有影响的输入,从而减少映射。一旦它被优化,你就可以从中产生你的逻辑。

于 2009-03-20T15:39:47.770 回答
2

(a 或 b 或 d) 与 (a 或 c)

这意味着当 a 为真时,一切都是真的!

=> a OR { (b OR d) AND (c) }

=> a OR ( b AND C) OR ( d and C )

我认为结果( a OR b OR d OR c )是错误的,但是当它错误时请帮帮我。

于 2009-03-20T15:53:17.690 回答
1

a 或 {(b OR d) AND c}

推理:如果“a”,则该陈述为真。否则,您需要 b 或 d (以满足语句的第一部分)和 c (满足 !a 的情况下的后半部分)

于 2009-03-20T17:45:46.797 回答
1

使用卡诺图

这是 a OR b OR d:

\ab
光盘\ 00 01 11 10
---+-----------+
00 | | X| X| X|
01 | X| X| X| X|
11 | X| X| X| X|
10 | | X| X| X|
   +-----------+

这是一个 OR c:

\ab
光盘\ 00 01 11 10
---+-----------+
00 | | | X| X|
01 | | | X| X|
11 | X| X| X| X|
10 | X| X| X| X|
   +-----------+

将它们相交,我们得到:

\ab
光盘\ 00 01 11 10
---+-----------+
00 | | | X| X|
01 | | | X| X|
11 | X| X| X| X|
10 | | X| X| X|
   +-----------+

显然,这是一个 OR (something),其中 (something) 是:

    00 01
11 | X| X|
10 | | X|

由于 (something) 不是一个矩形,它需要两个表达式,可以是 AND'ed 或 OR'ed 一起,这取决于我们想要如何处理它。在这个例子中我们将使用 OR,因为它给出了一个更简单的表达式。

在这种情况下,我们可以将两个相邻的 X 组合在一起,再加两个以填充整个 cd 行,因此 cd 可以是表达式之一。我们也可以将两者组合在一起,将两者放在右侧,形成一个正方形。这个正方形代表表达式 bc,因为 a 和 d 在正方形内都不同。

所以最终的表达式是OR ((c AND d) OR (b AND d))a + cd + bd。好多了,不是吗?

于 2009-03-20T18:17:57.640 回答
1

SOP 最小形式:

y = a | b&c | c&d;

POS 具有相同的成本(实现逻辑图的门数):

y = (a|c)&(a|b|d);
于 2012-05-07T12:58:28.667 回答
0

是的,你可以证明这一点。您不能将其简化为( a OR b OR d OR c )

看下面的第 3 行。您的减少将无法产生正确的答案。

只需运行它:

ABCD
0 0 0 0 = 0
0 0 0 1 = 0
0 0 1 0 = 0

.
.
1 0 0 0 = 1
1 0 0 1 = 1

到目前为止,我有 (A OR (???)) :(

于 2009-03-20T17:04:26.130 回答