3

如何简化具有许多变量(> 10)的给定布尔表达式,以使每个变量的出现次数最小化?

在我的场景中,变量的值必须被认为是短暂的,也就是说,必须为每次访问重新计算(当然仍然是静态的)。因此,我需要尽量减少在尝试求解函数之前必须评估变量的次数。

考虑函数

f(A,B,C,D,E,F) = (ABC)+(ABCD)+(ABEF)

递归地使用分配和吸收定律

f'(A,B,C,E,F) = AB(C+(EF))

我现在想知道是否有一种算法或方法可以在最短的运行时间中解决这个任务。

在上面的例子中只使用 Quine-McCluskey 给出

f'(A,B,C,E,F) = (ABEF) + (ABC)

这对我的情况来说不是最优的。假设首先使用 QM 进行简化然后使用上面的代数进一步减少是最优的,是否可以节省?

4

3 回答 3

1

我通常使用Wolfram Alpha来处理这类事情。

于 2013-08-27T20:31:42.027 回答
-1

尝试Logic Friday 1

它具有布尔电路的多级设计。

对于您的示例,输入和输出如下所示:

在此处输入图像描述

于 2013-08-27T20:43:52.417 回答
-1

您可以使用在线布尔表达式计算器,例如https://www.dcode.fr/boolean-expressions-calculator

您可以参考任何好的布尔表达式简化器吗?它肯定会有所帮助。

于 2018-06-23T16:59:33.537 回答