如何简化具有许多变量(> 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 进行简化然后使用上面的代数进一步减少是最优的,是否可以节省?