ブール式を簡略化するアルゴリズムは誰もが知っていますか?ブール式アルゴリズムの簡略化
私はブール代数とKarnaughtマップを覚えていますが、これはEVERITHINGがブール値のデジタルハードウェアを意味します。私は、いくつかのサブ式がブール値ではないことを考慮に入れた何かが好きです。これは、純粋なブール式に変換することができる
a == 1 && a == 3
:
例えばa1 && a3
これは算術演算の知識の少しでeveribody決定することができるしながら発現は、既約です式がちょうどであること:
false
オメのリンク?もちろん
http://hopper.unco.edu/KARNAUGH/Algorithm.html
、非ブール部分式を扱っていない:Googleのを使用して
'a'がそれらを可能にする言語/ランタイムの揮発性変数/フィールドとして宣言され、別のスレッドで値が1と3の間で変動するとどうなりますか?私はそれが良いデザインだと言っているわけではありませんが、ソフトウェアでは、「常に」と「決して」は通常相対的な用語です。 –
これは問題ではなく、実際の使用はLINQプロバイダー用であり、実際の値はクエリが翻訳されたときの値です。それらのクエリが再度実行されると、更新された値を用いて再度簡略化が実行されます。 – Olmo
一般的には不可能です。例えば 'a> 0、b> 0、n> 2、a^n + b^n = c^n'は常に偽ですが、証明するのは簡単ではありません。つまり、あなたはアドホックな単純化に悩まされています。あなたの質問にはきれいな答えはありません(あなたが見たいと思う表現の性質に依存するので)。 –