Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parsing 重构布尔方程_Parsing_Boolean_Expression_Equation - Fatal编程技术网

Parsing 重构布尔方程

Parsing 重构布尔方程,parsing,boolean,expression,equation,Parsing,Boolean,Expression,Equation,假设您有这样一个布尔规则/表达式 (A OR B) AND (D OR E) AND F 您希望将其转换为尽可能多且唯一的表达式,如下所示 A AND D AND F A AND E AND F B AND D AND F B AND E AND F 你只是减少了手术室的大小 (A AND D AND F) OR (A AND E AND F) OR (...) 布尔代数中有这样的性质吗 看看这个定理。链接指向一份与电子门有关的文件,但理论仍然是一样的 它说,任何逻辑二进制表达式保持不变,

假设您有这样一个布尔规则/表达式

(A OR B) AND (D OR E) AND F
您希望将其转换为尽可能多且唯一的表达式,如下所示

A AND D AND F
A AND E AND F
B AND D AND F
B AND E AND F
你只是减少了手术室的大小

(A AND D AND F) OR (A AND E AND F) OR (...)
布尔代数中有这样的性质吗

看看这个定理。链接指向一份与电子门有关的文件,但理论仍然是一样的

它说,任何逻辑二进制表达式保持不变,如果我们

将所有变量更改为它们的补码。 将所有和操作更改为ORs。 将所有或操作更改为ANDs。 取整个表达式的补码。 引用上面链接的文档

看看定理。链接指向一份与电子门有关的文件,但理论仍然是一样的

它说,任何逻辑二进制表达式保持不变,如果我们

将所有变量更改为它们的补码。 将所有和操作更改为ORs。 将所有或操作更改为ANDs。 取整个表达式的补码。
引用上面链接的文档

据我所知,布尔代数不能仅用AND和OR运算构建。 如果只有这两个操作,则无法接收not操作

可以将任何表达式转换为完整的布尔运算集

以下是一些全套:

而不是 还是不
据我所知,布尔代数不能只用AND和OR运算来建立。 如果只有这两个操作,则无法接收not操作

可以将任何表达式转换为完整的布尔运算集

以下是一些全套:

而不是 还是不
假设可以使用NOT操作,则可以仅使用AND或or重写任何布尔表达式。就你而言:

(A OR B) AND (D OR E) AND F
我倾向于使用工程速记来描述上述内容,并写道:

作为一种产品。或者什么都没有; 或作为总和+;和 不作为一个单一的报价'。 因此:

算术的推论实际上对分解术语非常有用

作者:

因此,您可以将表达式改写为:

(A+B)(D+E)F
(A'B')'(D'E')'F

假设可以使用NOT操作,则可以仅使用AND或or重写任何布尔表达式。就你而言:

(A OR B) AND (D OR E) AND F
我倾向于使用工程速记来描述上述内容,并写道:

作为一种产品。或者什么都没有; 或作为总和+;和 不作为一个单一的报价'。 因此:

算术的推论实际上对分解术语非常有用

作者:

因此,您可以将表达式改写为:

(A+B)(D+E)F
(A'B')'(D'E')'F

如图所示,您的示例正在利用和的分布性

你所需要做的就是依次应用它。例如,使用x*y+z=x*y+x*z,其中*表示和+表示或:

0. (A + B) * (D + E) * F
1. Apply to the first 2 brackets results in ((A+B)*D)+((A+B)*E)
2. Apply to content of each bracket results in (A*D+B*D)+(A*E+B*E)
3. So now you have ((A*D+B*D)+(A*E+B*E))*F
4. Applying the law again results in (A*D+B*D)*F+(A*E+B*E)*F
5. Apply one more time results in A*D*F+B*D*F+A*E*F+B*E*F, QED

如图所示,您的示例正在利用和的分布性

你所需要做的就是依次应用它。例如,使用x*y+z=x*y+x*z,其中*表示和+表示或:

0. (A + B) * (D + E) * F
1. Apply to the first 2 brackets results in ((A+B)*D)+((A+B)*E)
2. Apply to content of each bracket results in (A*D+B*D)+(A*E+B*E)
3. So now you have ((A*D+B*D)+(A*E+B*E))*F
4. Applying the law again results in (A*D+B*D)*F+(A*E+B*E)*F
5. Apply one more time results in A*D*F+B*D*F+A*E*F+B*E*F, QED

你可能有兴趣阅读有关。它们是简化布尔表达式的工具,但您也可以使用它们来确定所有单独的表达式。我不知道你如何将它推广到一个你可以为之编写程序的算法中。

你可能有兴趣阅读。它们是简化布尔表达式的工具,但您也可以使用它们来确定所有单独的表达式。我不确定如何将其推广到一个算法中,您可以为其编写一个程序。

您可能会感兴趣,或者它的兄弟

您可能对它或它的兄弟感兴趣

我不明白你如何使用或需要DeMorgan定理来执行问题中的重构。你能提供一个有效的解决方案吗?不容易。De Morgan告诉您如何转换布尔表达式,同时保持相同的最终结果。在上述步骤中,您可以使用步骤2和步骤3来确定是否转换表达式以使and最大化,例如,您的and是否多于or,反之亦然?DeMorgan定理并不立即适用。这里应用的是合取大于析取的分布性质,而不是DeMorgan定理。所有的重言式规则告诉你如何变换布尔表达式,同时保持相同的最终结果,它们只是变换不同的东西。如果没有AND,..NOT或AND,..NOT,DeMorgan的定理在这里就不适用于蕴涵等价规则{a或NOT B}={a IMP B}。我不知道如何使用或需要DeMorgan的定理来执行问题中的重构。你能提供一个有效的解决方案吗?不容易。De Morgan告诉您如何转换布尔表达式,同时保持相同的最终结果。在上述步骤中,您可以使用步骤2和3来确定是否转换表达式以使and最大化,例如,您的and是否多于or,反之亦然?DeMorgan定理不是立即适用的。它是D上的连接的分布性质
这里应用的是交叉点,而不是DeMorgan定理。所有的重言式规则告诉你如何变换布尔表达式,同时保持相同的最终结果,它们只是变换不同的东西。如果没有AND..NOT或AND..NOT,DeMorgan的定理在这里就不适用于蕴涵等价规则{a或NOT B}={a IMP B}。True,但不是被问到的。True,但不是被问到的。