O 2-SAT com relações XOR NP está completo?


11

Gostaria de saber se existe um algoritmo polinomial para "2-SAT com relações XOR". O 2-SAT e o XOR-SAT estão em P, mas é sua combinação?

Exemplo de entrada:

  • Parte 2-SAT: (a or !b) and (b or c) and (b or d)

  • Parte XOR: (a xor b xor c xor 1) and (b xor c xor d)

Em outras palavras, a entrada é a seguinte fórmula booleana:

(a¬b)(bc)(bd)(ab¬c)(bcd).

Saída de exemplo: Satisfazível: a = 1, b = 1, c = 0, d = 0.

O número de cláusulas 2-SAT e o número de cláusulas XOR na entrada são , onde n é o número de variáveis ​​booleanas.O(n)n


1
este problema é bastante próximo, XOR bit a bit de vetores para igualar um vector alvo , cstheory.se
vzn

Respostas:


11

As relações 2-SAT com XOR podem ser comprovadas como NP-completas através da redução de 3-SAT. Qualquer cláusula 3-SAT pode ser reescrita para o equisatisfiable 2-SAT-com-XOR-relações expressão ( x 1¯ y ) ( y x 2z ) ( ¯ zx 3 ) com y e z como novas variáveis.

(x1x2x3)
(x1y¯)(yx2z)(z¯x3)
yz

Todas as respostas parecem estar corretas ou ajudando, mas achei a mais elegante (imho).
Albert Hendriks

1
Boa resposta. Vale ressaltar que a mera equisatisfação não seria suficiente aqui (uma vez que as atribuições satisfatórias das expressões correspondentes a todas as cláusulas de uma CNF satisfatória podem não corresponder), mas sua expressão reescrita realmente possui uma atribuição satisfatória correspondente para cada atribuição satisfatória de a cláusula original.
Klaus Draeger

7

Você não especificou a aridade de suas relações XOR, mas, como na redução usual de SAT para 3SAT, sempre é possível organizar a aridade deles no máximo 3. Agora você está em ótima posição para aplicar o teorema da dicotomia de Schaefer , que informe se o seu problema está em P ou NP-complete (estas são as duas únicas opções). Se estiver em P, o próximo passo pode ser observar Allender et al. , que permitirá que você saiba como é fácil o seu problema.


O(n)

5

Pelo teorema da dicotomia de Schaefer , isso é NP-completo.

ΓR(x,y,z)xyx¬y¬x¬yxyzxy¬z

Agora aplique o teorema da dicotomia de Schaefer, em sua forma moderna . Verifique cada uma das seis operações para ver se elas são um polimorfismo:

  • xy
  • ¬x¬y
  • xy(0,1,0)(1,0,0)(0,0,0)
  • ¬x¬y(0,1,0)(1,0,0)(1,1,0)
  • xyz(0,0,1)(0,1,0)(1,0,0)(0,0,0)
  • xy(0,1,0)(1,0,0)(1,1,0)(0,0,0)

Daqui resulta que esse problema é NP-completo, mesmo que você restrinja todas as cláusulas XOR a um comprimento máximo de 3.


(xy)(xy)(¬x¬y)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.