0

ブール代数について発見したばかりで、まだ学習中なので、しばらくお待ちください... :)

以下を探しています。私が理解している限り、ブール関数の変数のすべての可能な値を見つける問題は「充足可能性」問題と呼ばれています。

私は満足のいく道に沿って何かをしたくありません.

セットアップは、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}]
4

0 に答える 0