小编Spu*_*Nix的帖子

是否有一种已知的算法可以通过数字比较来简化布尔表达式?

例如,如果我有表达式(A > 5) && (A == 6),则该表达式可以简化为 just (A == 6),并且对于 A 仍然具有相同的行为??.

我还需要它处理多个变量,因此例如((B > 2) && (C == 2)) || ((B > 2) && (C < 2))应该简化为(B > 2) && (C < 3).

我不需要比较两个未知数,只需要比较未知数和数字,我只需要它与运算符<, >, 和==数字,和&&||表达式(当然&&是 AND 和||OR )一起工作。所有未知数都是整数。

是否有任何算法采用这样的表达式并返回具有相同行为和最少运算符数量的表达式?

(在我的特定情况下,||运算符优先于&&

algorithm compiler-optimization boolean-algebra

7
推荐指数
1
解决办法
174
查看次数