問題タブ [boolean-expression]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
language-agnostic - ブール式を減らす
私は表現をしていると思います、
私はそれがに減らされることを期待しています、
誰か提案はありますか?アルゴリズムへのポインタ?
Nota Bene: Karnaugh MapまたはQuine-McCluskeyは、ここではオプションではないと思います。これらのメソッドは灰色のケースを処理しないためです。つまり、表現は、AまたはA'または何もない、または黒または白または色の欠如のようなものである場合にのみ減らすことができます。しかし、皆さんが見ることができるように、ここでは灰色の色合いがあります。
解決策:このためのプログラムをClojureで作成しました。関数を値として含むマップのマップを使用しました。それは非常に便利で、いくつかの組み合わせに対するいくつかのルールがあり、あなたは良いです。有益な回答をありがとうございます。
boolean-expression - ド・モルガンの法則を使用してブール式を単純化する
このブール式をド・モルガンの法則で単純化する必要があります。
誰かが私を助けることができますか?
python - 「not ==」と「!=」の間に論理的な違いはありますか (is なし)
次の間にPython 3.xに大きな違いはありますか:
と
私の質問は上記の使用法に特有のものではありませんが、より一般的または本質的なものです.結果が同じであっても、この構文上の違いは異なる方法で機能していますか? 論理的な違いはありますか?より適切なタスクはありますか、それとも単にスタイル上の違いですか? これが単に文体的なものである場合、Python プログラマーはどれをよりクリーンだと考えていますか?
is
また、上記はとの違いは何かを尋ねる反対の例==
ですか? 前者は、後者と同様に、オブジェクトの同一性とオブジェクトの値の等価性の違いですか? 私が言いたいのは、上記の例では、 in は暗黙的is
に使用されているということですか?not
boolean - ブール式を AND および OR から NAND のみに変換する方法
どこから始めればいいのか見当がつかないので、頭がおかしくなる仕事があります。
タスクは次のとおりです。指定されたブール式を変換して、NAND 演算のみを含み、否定を含まないようにします。
私はそれが可能だと思います:Dしかし、私はそれを行う方法がわからず、円を描くためだけに数時間を費やしました.
誰かが私を正しい方向に向けてもらえますか?
よろしく
お願いします。
アップデート:
答えのおかげで、解決策を見つけたと思います:
python - Python Boolean: 別のリストまたは辞書内のリストの任意の値
私は最近、このコード行を書いていることに気付きましたが、あまり好きではありませんでした:
私はすでに次のようなリスト内包表記について考えていました:
これは正確には良くありません。私の非常に単純な質問は、これを単純化できますか? それとも、賢くなりすぎているだけですか?
bash - 「本当でない場合」の状態を作る方法は?
が真でないecho
ときにコマンドを実行してもらいたいのですが。cat /etc/passwd | grep "sysa"
私は何が間違っているのですか?
c - Cでのブール式の結果
次の式が0と評価されるのはなぜですか?
i = 5と仮定します。式を左から右に評価すると、左のオペランド(i)を評価して5を取得し、右のオペランド(--i)を評価して4を取得します。 gccでコンパイルして実行すると、常に0と評価されます。思考プロセスに欠陥はありますか?
syntax - どうすればgnumakefile条件にORを組むことができますか?
gmake v3.80を使用して、2つのことをORするルールを作成するにはどうすればよいですか。私はこのコードから始めています:
そして、2つの条件をORした場合、2つのifeqを1つに結合したいのですが、おそらくこのようなものですか?
これを可能にする実際の構文は何ですか?
java - Javaのブール式用のバイナリ式ツリーライブラリの推奨事項
私はSootを使用してJavaでいくつかの非常に単純なプログラム分析/変換を行っていますが、ブール式のいくつかの単純な組み合わせを実行する必要があることに気付きました。したがって、たとえば、分析中に、のような式があり、その式をOR演算子を介し(a < 25) && (b >= 10)
て結合して、のような完全な式を取得したいとします。基本的には、2つのブール式ツリーを1つの式に結合するだけです。さらに、式ツリーを同等の連言標準形のツリーに自動的に変換したい場合があります。(a >=-10)
(a >=-10) || (a < 25) && (b >= 10)
私が持っているもう1つの要件は、簡単に削除できる式がある場合に、式を(必要に応じてカスタムコードを介して)単純化する機能です。たとえば(a < 20) || (a >= 20)
、になりますTRUE
ので(a < 20) = (!(a >= 20))
、いくつかの用語を削除できます。
ブール式ツリーをコード化することは古典的な導入上の問題であることを私は知っています、そして私は以前にそれを実装したことをかなり確信しています(かつて、データ構造クラスのために:))必要です...しかし、これは以前に処理された可能性が高いことを考えると、上記に取り組むために調査する必要があるライブラリに関する推奨事項があるかどうか疑問に思います。おそらく完全に良いものがすでにそこにあるとき、私は車輪を再発明するのが嫌いです。
要約すると、私は次のようなJavaライブラリを探しています。
- ブール式ツリー
- 式の組み合わせ
- 用語の簡略化(これはかなり具体的であるため、「持っていると便利」です)
- CNFへの変換
何かお勧めはありますか?
(注:これらのツリーを評価しないので、各ノードはまたはのような未解決の述語になるvariable != 20
ためfoo >= 50
、評価は必須ではありませんが、ライブラリの一部である場合でも問題はありません。)
c - if (i++) 条件はどのように機能しますか?
このシナリオで「if条件」がインクリメント/デクリメント演算子でどのように機能するか理解できません:
その出力は ACTS です。
IF条件で何が起こっていますか?