AND / OR公式求解器

时间:2017-11-30 10:12:13

标签: powershell math

我想简化以下公式:

(A || B) && (C || D) => (A && C) || (A && D) || (B && C) || (B && D)
A => (A)
A && (B || C) => (A && B) || (A && C)
A && B => (A && B)
A || B => (A) || (B)

所需结果:与||相结合的群组列表,而每个群组仅包含&&

是否存在解决此类问题的解决方案?有人可以帮忙吗?

也许有人可以告诉我与此问题相关的词语?因为我不知道这是怎么称呼的,而且公式求解器是不同的......

1 个答案:

答案 0 :(得分:1)

  

也许有人可以告诉我与此问题相关的词语?因为我不知道如何调用它并且公式求解器是不同的......

我相信你所寻找的是公式的disjunctive normal form。显然你不需要完整的表格,因为你不需要在每个括号中出现每个字母(有或没有否定)。这意味着您的结果通常不是唯一定义的。

只要您的原始公式不包含任何否定,distributive law可能是重新排序布尔连接词的最有用工具。如果否定也发挥作用,De Morgan's laws也会变得相关。

如果您搜索Stack Overflow的析取正常形式,您会发现各种语言转换为此表单的各种请求。他们中的许多人可能会以完整的形式为目标,所以当你在那里阅读答案时,请记住这一点。