1

そのようなブールルール/式があるとしましょう

(A OR B) AND (D OR E) AND F

あなたはそれをできるだけ多くのANDのみの式に変換したいのです

A AND D AND F
A AND E AND F
B AND D AND F
B AND E AND F

ORを減らしているだけなので、

(A AND D AND F) OR (A AND E AND F) OR (...)

これを行うブール代数のプロパティはありますか?

4

6 に答える 6

5

DeMorgan の定理を見てみましょう。リンクは電子ゲートに関連するドキュメントを指していますが、理論は同じままです.

次の場合、論理バイナリ式は変更されないままです。

  1. すべての変数を補数に変更します。
  2. すべての AND 演算を OR に変更します。
  3. すべての OR 演算を AND に変更します。
  4. 式全体の補数を取ります。

(上記リンク先ドキュメントより引用)

于 2009-05-31T15:30:25.563 に答える
3

hereに示すように、あなたの例は OR よりも AND の分配性を利用しています。

あなたがする必要があるのは、それを連続して適用することだけです。たとえば、次のように使用しx*(y+z) = (x*y)+(x*z)ます (* は AND を表し、+ は OR を表します)。

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
于 2009-05-31T15:56:28.220 に答える
2

カルノー図について読むことに興味があるかもしれません。これらはブール式を単純化するためのツールですが、これらを使用して個々の式をすべて決定することもできます。ただし、これをプログラムを作成できるアルゴリズムに一般化する方法はわかりません。

于 2009-05-31T17:02:04.983 に答える
2

接続法標準形またはその兄弟である分離法標準形に興味があるかもしれません。

于 2009-05-31T18:39:20.797 に答える
0

私の知る限り、ブール代数は AND 演算と OR 演算だけでは構築できません。この 2 つの操作しかない場合は、NOT 操作を受け取ることができません。

任意の式をブール演算の完全なセットに変換できます。

ここにいくつかのフルセットがあります:

  • AND と NOT
  • OR および NOT
于 2009-05-31T15:34:20.983 に答える
0

NOT 演算を使用できると仮定すると、任意のブール式を AND のみまたは OR のみで書き換えることができます。あなたの場合:

(A OR B) AND (D OR E) AND F

私は上記をエンジニアリングの省略形で表現する傾向があり、次のように記述します。

  • AND 製品として (. または何もない);
  • OR 合計として (+); と
  • 一重引用符 (') として使用しないでください。

そう:

(A+B)(D+E)F

算術の帰結は、因数分解の項に実際に非常に役立ちます。

ド・モルガンの法則によると:

(A+B) => (A'B')'

したがって、式を次のように書き換えることができます。

(A+B)(D+E)F
(A'B')'(D'E')'F
于 2009-05-31T15:46:18.923 に答える