如何简化给定的具有多个变量(>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 简化,然后使用上面的代数进一步简化是否是最优的?
我通常使用沃尔夫勒姆·阿尔法 http://www.wolframalpha.com/input/?i=%28A+and+B+and+C%29+or+%28A+and+B+and+C+and+D%29+or+%28A+and+B+and+E+and+F%29对于这种事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)