ランダムな論理式を出力してくれるプログラムです。
論理式は、bool型の変数Xと、論理記号∧、∨、¬と()で構成されます。
Formula-Generator.exeを実行してください。
長さnを入力すると、n文字の変数を使った論理式を返します。
3
X∧(¬X∨X)
10
¬X∧¬(X∧¬X)∧¬X∧¬X∧(¬(X∨¬X)∧(¬X∧X)∧X)
知りません。本当にいつ使うんでしょうか。
あなたがランダムな論理式を欲した時に使ってください。
再帰的に動かしています。
¬を2/3の確率で付けます(1/2じゃないのは、¬が多い方が複雑で解くのが難しくて面白いと思ったからです)。出力。
n文字をランダムに分割します。
分割したそれぞれで再帰的に論理式を作って、それをつなげます。
この時2文字以上の論理式は()を付けます。
要素ごとにランダムに¬を付けます。
繋ぐ記号を決めて繋げます。
出力。