ブール代数について発見したばかりで、まだ学習中なので、しばらくお待ちください... :)
以下を探しています。私が理解している限り、ブール関数の変数のすべての可能な値を見つける問題は「充足可能性」問題と呼ばれています。
私は満足のいく道に沿って何かをしたくありません.
セットアップは、100 ~ 10_000 変数の関数です。関数は単純なXOR 、すなわち x1 ^ x2 ^ x3 .... です。さらに、変数値の半分は事前にわかっている可能性があるため、部分的な満足を行いたいと考えています。
解決策を見つける最善の方法は何ですか?
私は現在PyEDAを試しているので、一般的なブール代数に慣れることができます。私はまだ部分的な満足を行う方法を見つけていません。しかし、見つけたとしても、自分でアルゴリズムをコーディングできるようになりたいです。
純粋な XOR-partial-SAT の解決策を見つけた後、他の数式も調べたいと思います。そのため、XOR-SAT を調べた後に、より一般的なアルゴリズムが必要になる可能性があります。
例 :
>>> ft = 1 ^ a ^ 0 ^ b
>>> list(ft.satisfy_all())
[{a: 0, b: 0}, {a: 1, b: 1}]