Czy 1-w-3 SAT pozostaje NP-twardy, nawet jeśli każda zmienna występuje zarówno pozytywnie, jak i negatywnie?


9

Standardowy problem 1-w-3 SAT (lub XSAT lub X3SAT) to:
Instancja : formuła CNF z każdą klauzulą ​​zawierającą dokładnie 3 literały
Pytanie : czy istnieje zadowalające ustawienie przypisania dokładnie 1 literał na klauzulę prawda?

Problem jest NP-zupełny i pozostaje trudny, nawet jeśli żadna zmienna nie zostanie zanegowana. Zastanawiam się, czy problem ten staje się łatwy, czy trudny, jeśli każda zmienna musi wystąpić przynajmniej raz pozytywnie, a przynajmniej raz negatywnie .

Zwykła redukcja z 3SAT pokazująca, że ​​1-w-3 SAT jest trudny, zastępuje klauzulę (x∨y∨z) według klauzul (¬x∨a∨b), (y∨b∨c), (¬z∨c∨d) gdzie a,b,c,dsą świeże dla każdej klauzuli. Tak więc ta redukcja nie pomaga w odpowiedzi na moje pytanie. Miałem problem z wymyśleniem gadżetu wykazującego twardość tego wariantu, ponieważ jeśli dokładnie 1 literał w klauzuli jest prawdziwy, to niesymetryczne 2 literały są fałszywe. Jeśli okaże się to łatwe, myślenie w kategoriach partycji zestawu klauzul może to zrobić, ale nie widzę, jak to zrobić.


Czy można zmniejszyć do 2 sob.
— Joshua Herman

4
wskazówka: dla każdej var Xi, dodaj klauzule (Xi∨X¯i∨W)∧(Xi∨X¯i∨Y)∧(Xi∨X¯i∨Z) i powiedzieć, (W∨Y∨Z¯).
— Neal Young,

Ha, to działa (oczywiście dodając również (W¯∨Y∨Z)∧(W∨Y¯∨Z)). Pozostawię pytanie otwarte, na wypadek, gdyby ktokolwiek mógł je rozwiązać bez odrobiny niezadowoleniaXi∨X¯isztuczka.
— Dominik Peters,

3
Czy mogę zachęcić cię do napisania pełnej odpowiedzi na własne pytanie, być może opartej na pomyśle Neal Young? (Nawiasem mówiąc, nie jestem pewien, dlaczego to jest „niezadowalające”. Redukcja to redukcja.)
— DW

4
Jeśli ten szczególny przypadek jest tym, na którym naprawdę Ci zależy, to może warto zmodyfikować swoje pytanie, aby odzwierciedlić to dodatkowe ograniczenie?
— DW

Odpowiedzi:


2

W komentarzu OP wyraził zainteresowanie redukcją, która wygenerowała instancje z 3 różnymi zmiennymi na klauzulę. Oto proste podejście:

Redukcja wynika z 1-w-3 SAT z 3 odrębnymi zmiennymi na klauzulę:

  • Przede wszystkim uwzględnij wszystkie klauzule we wzorze wejściowym jako klauzule we wzorze wyjściowym.
  • Po drugie, wprowadź trzy nowe zmienne F1, F2, i F3 i dodaj następujące trzy klauzule do formuły wyjściowej: (¬F1,F2,F3), (F1,¬F2,F3), i (F1,F2,¬F3).
  • Wreszcie dla każdej zmiennej x w oryginalnej formule wprowadź nową zmienną x′i dodaj następujące dwie klauzule do formuły wyjściowej: (x,x′,F1) i (¬x,¬x′,F1).

Sprawdźmy, czy ta redukcja robi to, co chcemy. Potrzebujemy następujących właściwości:

  1. Każda klauzula ma zawsze trzy różne zmienne.
  2. Każda zmienna występuje w niektórych klauzulach dodatnio, a w niektórych klauzulach negatywnie.
  3. Formuła wejściowa jest równoważna formule wyjściowej.

Właściwość 1 jest łatwa do sprawdzenia. Łatwo jest również sprawdzić właściwość 2: zmienneF1, F2, i F3 każda występuje zarówno pozytywnie, jak i negatywnie w klauzulach dodanych w drugim punkcie wypunktowania, podczas gdy każda inna zmienna we wzorze występuje zarówno pozytywnie, jak i negatywnie w klauzulach dodanych w trzecim punkcie wypunktowania.

Jeśli chodzi o właściwość 3, jest to mniej banalne, ale wciąż łatwe. Możesz łatwo argumentować, że jedynym przypisaniem do zmiennychF1, F2, i F3 że spełnienie każdej klauzuli z drugiego punktu jest wykonanie wszystkich trzech Fis false. Ale wtedy przyjmując wartość false dlaF1, klauzule (x,x′,F1) i (¬x,¬x′,F1) dodane w trzecim punkcie są spełnione wtedy i tylko wtedy x′=¬x. Ponieważ nie ma żadnych innych ograniczeńx′oznacza to, że zawsze możliwe jest rozszerzenie satysfakcjonującego przypisania dla formuły wejściowej na satysfakcjonujące przypisanie dla formuły wyjściowej: po prostu ustaw każdy x′ być zaprzeczeniem odpowiedniego x i ustaw każdy Fi do fałszu.

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.