我有一个布尔公式:(x_{1} 或 x_{2}) and (x_{3} 或 x_{4}) and ..... and (x_{2r-1} 或 x_{2r}),其中x_{i}属于集合:{p_{1}, p_{2}, ... p_{99} , ~p_{1}, ~p_{2}, ... ~p_{99} },我必须确定对于一些给定的x_{i}值,是否可以使该公式为真。
我知道通常情况下这是计算上困难的。但是有没有一种相当快速的方法可以解决这个特定的问题?到目前为止,我尝试了回溯法 - 在递归中,我替换每个可能的变量的每个可能的值(0或1,因此不多),并且每个尚未具有值的变量都是显然为真的。在我深入递归之前,我检查公式(即使不是每个变量都有值),如果它是假的,我就不会继续深入。但是这太慢了。有什么想法吗?非常感谢您的帮助。