web-dev-qa-db-ja.com

そこに何か良いブール式の整理単純化?

私は古いコードをリファクタリングしていて、あまりにも複雑で長すぎるIF条件をいくつか経験しました。それらは単純化できると確信しています。私の推測では、これらの条件は後で修正されたために非常に大きくなったと思います。

とにかく、私はあなたが誰かが私が使うことができる良いオンライン整理を知っているかどうか疑問に思いました。私は特定の言語には興味がありません。たとえば次のような単純化したものだけにします。

(((A OR B)AND(!B AND C)OR C)

そして、もしあれば、その表現を単純化したものを教えてください。

私は他の似たような質問を見ましたが、どれも私が良い単純化法を示しているのではありません。

ありがとう。

101
mojarras

あなたの入力に基づいてこの例のようにWolfram Alphaを試すことができます:

http://www.wolframalpha.com/input/?i=((A%20OR%20B)%20AND%20(NOT%20B%20AND%20C)%20OR%20C)&t = crmtb01&f = rc

Logic Friday 1を試してみてください。カリフォルニア大学のツール(EspressoおよびmisII)が含まれており、それらをGUIで使用できるようにします。必要に応じて、ブール方程式と真理値表を入力できます。グラフィカルなゲートダイアグラムの入力と出力も備えています。

最小化は、2段階または複数段階で実行できます。 2レベル形式では、積の合計が最小になります。マルチレベル形式は、論理ゲートで構成される回路を作成します。ゲートの種類はユーザーが制限できます。

式はCに簡略化されます。

16
Axel Kemper

私は、 Boolean Expression Reducer がLogic Fridayよりはるかに使いやすいことを発見しました。プラスそれはインストールを必要とせず、マルチプラットフォーム(Java)です。

Logic Fridayでは、式A | Bは真理値表に3つのエントリを返します。私は4を期待していました。

5
Pawel Dubiel