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ę według klauzul , , gdzie są ś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ć.
źródło
Odpowiedzi:
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ę:
Sprawdźmy, czy ta redukcja robi to, co chcemy. Potrzebujemy następujących właściwości:
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 Fi s 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.
źródło