我刚刚发现了布尔代数并且还在学习,所以请耐心等待...... :)
我正在寻找以下内容。据我了解,找到布尔函数变量的所有可能值的问题称为“可满足性”问题。
我不想做一些符合可满足性的事情。
设置是 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}]