Czy 2-SAT z relacjami XOR NP-jest kompletny?


11

Zastanawiam się, czy istnieje algorytm wielomianowy dla „2-SAT z relacjami XOR”. Zarówno 2-SAT, jak i XOR-SAT są w P, ale czy jest to kombinacja?

Przykładowe dane wejściowe:

  • Część 2-SAT: (a or !b) and (b or c) and (b or d)

  • Część XOR: (a xor b xor c xor 1) and (b xor c xor d)

Innymi słowy, wejściem jest następująca formuła boolowska:

(za¬b)(bdo)(bre)(zab¬do)(bdore).

Przykładowy wynik: Zadowalający: a = 1, b = 1, c = 0, d = 0.

Zarówno liczba klauzul 2-SAT, jak i liczba klauzul XOR na wejściu to , gdzie jest liczbą zmiennych boolowskich.nO(n)n


1
ten problem jest dość blisko, xor bitowy wektorów równy wektorowi docelowemu , cstheory.se
vzn

Odpowiedzi:


11

Relacje 2-SAT-z-XOR można udowodnić jako NP-zupełne poprzez redukcję z 3-SAT. Dowolną klauzulę 3-SAT można przepisać w wyrażeniu relacji 2-SAT-z-XOR nie do spełnienia ( x 1¯ y ) ( y x 2z ) ( ¯ zx 3 ) z y i z jako nowe zmienne.

(x1x2)x3))
(x1y¯)(yx2)z)(z¯x3))
yz

Wszystkie odpowiedzi wydają się poprawne lub pomocne, ale uważam, że ta jest najbardziej elegancka (imho).
Albert Hendriks

1
Niezła odpowiedź. Warto wspomnieć, że sama równoważność nie byłaby tutaj wystarczająca (ponieważ zadowalające przypisania wyrażeń odpowiadających wszystkim klauzulom zadowalającej CNF mogą się nie zgadzać), ale twoje przepisane wyrażenie faktycznie ma odpowiadające zadowalające przypisanie dla każdego spełniającego przypisania oryginalna klauzula.
Klaus Draeger

7

Nie określiłeś arsencji swoich relacji XOR, ale tak jak w zwykłej redukcji SAT-do-3SAT, zawsze możesz ustalić, że ich arsenacja będzie wynosić co najwyżej 3. Teraz jesteś w dobrej sytuacji, aby zastosować twierdzenie dychotomii Schaefera , które będzie powiedzą ci, czy twój problem jest w P czy NP-complete (są to tylko dwie opcje). Jeśli okaże się, że jest to P, następnym krokiem może być Allender i in. , dzięki czemu dowiesz się, jak łatwy jest twój problem.


O(n)

5

Według twierdzenia dychotomii Schaefera jest to NP-zupełne.

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

Teraz zastosuj twierdzenie dychotomii Schaefera w jego nowoczesnej formie . Sprawdź każdą z sześciu operacji, aby sprawdzić, czy jest to polimorfizm:

  • 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)

Wynika z tego, że ten problem jest NP-zupełny, nawet jeśli ograniczysz wszystkie klauzule XOR do maksymalnej długości 3.


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.