具有未使用变量的布尔表达式?

时间:2018-09-25 02:44:20

标签: boolean-logic

我正在审核知识库,并且注意到一些布尔表达式,例如:

A和(A或B)

该布尔表达式很显着,因为B的值实际上是无关紧要的。这可能指向知识库中的错误,因为表达式的创建者可能打算让它考虑其中包含的所有变量。

我有两个问题:

  1. 这种现象有名字吗?
  2. 是否有用于识别这些未使用/冗余变量的有效算法?我可以使用真值表来做到这一点,但这会破坏长表达式。我也研究了最小化算法,但是其中许多不能保证找到最佳解决方案,因此我不确定是否可以保证识别出任何未使用的变量。

1 个答案:

答案 0 :(得分:2)

  1. 您正在查看吸收
    1. 这些被称为逻辑等价,并且存在众所周知的和证明的等价清单。算法可能与编程语言的解释器或编译器使用的算法相似,并且通常基于树。您可以使用树来确定要查找的表达式的类型,然后将其与其对应的逻辑等效项进行匹配。同样重要的是,您还必须了解运算符的优先级。

链接