广义XOR-SAT是否可以有效解决?


12

我已经了解了XOR-3-SAT是如何有效解决的(例如,有关布尔可满足性问题,请参见Wikipedia条目中的“ XOR-可满足性”部分)。

我想知道一个基本问题: 对于每个子句具有不同数量的文字的公式,XOR-k-SAT是否可以有效求解?

我真的很想知道是否可以将每个子句的文字量增加到3以上,以及是否可以混合使用子句长度。


2
你做了什么研究?我们希望您在提出疑问之前先认真进行自己的努力,并向我们展示这个问题,您已进行了哪些研究和尝试了什么。维基百科提到解决XOR-3-SAT的算法是高斯消除。您是否试图了解它的工作原理,并查看它是否适用于XOR-k-SAT?
DW

@DW我承认我没有对此做很多研究。我看到了提到高斯消去的问题,并认为这将适用于广义XOR-SAT。但是我想我正在寻找确认。我希望你能原谅我的懒惰。在提出类似问题之前,我将尝试在将来进行更多研究。
马特·格罗夫

Answers:


11

似乎您链接到的Wikipedia文章说XORSAT(而不仅仅是3-XORSAT)在P中。在他们的示例中,他们求解3-XORSAT公式的方法很容易推广为其中子句可以任意包含的公式大量的变量和不同数量的变量。

您只需将公式视为线性方程组即可,其中每个子句都有一个方程,每个变量都有一个变量。例如,公式:

(x1x2¬x3x5)(x2x3)

当且仅当以下方程组具有解时,才具有令人满意的赋值:

x1+x2+(1+x3)+x51mod2
x2+x31mod2

而且我们可以使用高斯消除在多项式时间内找到此类方程线性系统的解!


6

是。通过高斯消除法可以解决。高斯消除可以求解线性模的任何方程组。XOR用作模2的加法运算,因此每个XOR-SAT子句都作为2模的线性方程。因此,即使文字数量不同,高斯消除也可以求解任何XOR-k-SAT公式或任何XOR-SAT公式每个子句或混合子句的长度,以多项式时间表示。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.