Jądro wielomianowe dla FLIP SAT na formułach -CNF


10

Problem parametryzowany przez k-FLIP SAT definiuje się jako:

Dane wejściowe: formuła 3-CNF z zmiennymi i przypisaniem prawdy \ sigma: [n] \ to \ {0,1 \} Parametr: k Pytanie: czy możemy przekształcić przypisanie \ sigma w zadowalające przypisanie \ sigma ' dla \ varphi przerzucając wartość prawdy co najwyżej k zmiennych?φnσ:[n]{0,1}
k
σσφ k

Problem jest wyraźnie w FPT ( Stefan Szeider: Sparametryzowana złożoność lokalnego wyszukiwania k-Flip dla SAT i MAX SAT. Optymalizacja dyskretna 8 (1): 139-145 (2011) )

Czy dopuszcza jądro wielomianowe? (przy założeniu rozsądnej złożoności)

Najnowsze techniki krzyżowania kompozycji (patrz Hans L. Bodlaender, Bart MP Jansen, Stefan Kratsch, „Kernelization Lower Bounds By Cross-Composition” ) wydają się nieużyteczne w przypadku tego problemu. Wydają się również nieprzydatne w przypadku podobnych problemów, które pytają, czy dane rozwiązanie problemu trudnego dla NP można znaleźć w danej instancji za pomocą lokalnego wyszukiwania (ograniczając wyszukiwanie do sąsiadów danej instancji, pod pewną naturalną miarą odległości).


Fajnie, ale dlaczego ten problem jest wyraźnie FPT? Jeśli zrobisz to 2-CNF z dokładnie k zmiennymi zmiennymi zamiast co najwyżej, to uważam, że problem jest równoważny fpt do k-kliki. Pracowałem nad artykułem, który zawiera pewne wyniki dotyczące problemów z dokładnym odwracaniem.
Michael Wehar

Myślę, że powiedzenie, że jest w FPT, oznacza, że ​​można go rozwiązać w czasie . f(k)nO(1)
Michael Wehar

Myślę, że powiedzenie, że jest w XP oznacza, że ​​można go rozwiązać w czasie . nf(k)
Michael Wehar

Nie znam związku między problemem dokładnego k-flipa i problemem atmost-k-flip. Początkowo myślałem, że mówisz, że problem atmost-k-flip jest łatwiejszy w tym sensie, że atmost-k-flip jest FPT. Mówię łatwiej, ponieważ dokładny k-flip nie może być FPT, chyba że ETH jest fałszywe. Powodem tego jest to, że jest to odpowiednik k-kliki i wiadomo, że algorytmy czasowe dla k-kliki sugerują, że ETH jest fałszywe. f(k)nO(1)
Michael Wehar

1
@MichaelWehar: ops, masz rację (usuwam niewłaściwy głupi komentarz), pytanie wymaga dopracowania (zdefiniowałem problem jako „co najwyżej k FLIPS”). JAK NAJSZYBCIEJ Zajmę się artykułami (jednym z nich powinien być Stefan Szeider, „Sparametryzowana złożoność lokalnego wyszukiwania k-Flip dla SAT i MAX SAT”), w którym mówi się, że k-FLIP SAT jest FPT dla klauzul o ograniczonym rozmiarze.
Marzio De Biasi

Odpowiedzi:


12

Problem nie ma wielomianowego jądra, chyba że NP jest w CoNP / poly. Technika kompozycyjna z naszego artykułu ma zastosowanie w sposób niebanalny.

Pokażę, w jaki sposób klasyczny problem Okładki Wierzchołków OR-krzyżuje się w problem k-FLIP-SAT; na podstawie wyników w cytowanej pracy jest to wystarczające. Konkretnie budujemy algorytm czasu wielomianowego, którego dane wejściowe są sekwencją wystąpień pokrywy wierzchołków(G1,k),(G2,k),,(Gt,k) wszystkie mają tę samą wartość k i wszyscy mają dokładnie nwierzchołki. Dane wyjściowe to instancjak-FLIP SAT z wartością parametru O(k+logt), który jest wystarczająco mały, aby uzyskać kompozycję krzyżową, taką jak k-Instrukcja FLIP SAT ma odpowiedź tak, jeśli jeden z grafów wejściowych ma rozmiar okładki wierzchołka k. Duplikując jedno wejście (co nie zmienia wartości OR) możemy zapewnić, że liczba wejśćt jest potęgą dwóch.

Kompozycja przebiega w następujący sposób. Ponumeruj wierzchołki na wykresie dla każdego wykresu wejściowegoGi tak jak vi,1,vi,2,,vi,n. Utwórz odpowiednią zmienną w instancji FLIP-SAT dla każdego wierzchołka każdego wykresu wejściowego. Dodatkowo utwórz zmienną selektoraui dla każdego wejściowego numeru instancji i[t]. Dla każdego wykresu wejściowegoGi, dodajemy do formuły kilka klauzul. Dla każdej krawędzi{vi,x,vi,y} wykresu Gi, dodaj klauzulę (vi,xvi,y¬ui) do formuły, która koduje „albo jeden z punktów końcowych tej krawędzi jest ustawiony na true, albo instancja i jest nieaktywny ". W początkowym przypisaniu wszystkie zmienne wierzchołków są ustawione na false i wszystkie zmienne selektora uisą ustawione na false, aby wszystkie te klauzule były spełnione. Aby wbudować zachowanie OR w kompozycję, wzmocnimy formułę, aby upewnić się, że zadowalające przypisanie ustawia co najmniej jeden selektor na wartość true, a następnie musi również utworzyć osłonę wierzchołka wybranego wykresu.

Aby upewnić się, że możemy dokonać tego wyboru, zachowując niewielką odległość przerzucania w porównaniu do liczby wejść t, używamy struktury pełnego drzewa binarnego z t liście, które ma wysokość logt. Numeruj liście od1 do t i skojarzyć i-ty liść ze zmienną ui która kontroluje wejście ijest aktywny czy nie. Utwórz nową zmienną dla każdego wewnętrznego węzła drzewa binarnego. Dla każdego węzła wewnętrznego niech będzie odpowiadająca mu zmiennax a zmienne jego dwojga dzieci będą y i z. Dodaj klauzulę(¬xyz) do formuły, która wychwytuje implikacje (x(yz)), wymuszając to xmoże być prawdą tylko wtedy, gdy jedno z jego dzieci jest prawdą. Aby uzupełnić formułę, dodaj klauzulę singleton, mówiącą, że zmienna węzła głównego drzewa binarnego musi być prawdziwa. W początkowym przypisaniu prawdy wartości wszystkich zmiennych dla wewnętrznych węzłów są ustawione na false, co spełnia wszystkie klauzule formuły, z wyjątkiem klauzuli singleton wymagającej, aby węzeł główny drzewa miał zmienną true.

To uzupełnia opis formuły i przypisania prawdy. Ustaw parametrk problemu FLIP DISTANCE, który ma być równy (k+logt+1), która jest odpowiednio ograniczona dla kompozycji krzyżowej. Pozostaje pokazać, że możemy przewrócićk zmienne, aby formuła była prawdziwa w niektórych grafach wejściowych Gi ma rozmiar okładki wierzchołka k.

Załóżmy, że w odwrotnym kierunku Gi ma rozmiarkpokrywa wierzchołka. Ustawk zmienne odpowiadające kwierzchołki w okładce do prawdziwej, odwracając je. Ustaw zmienną selektoraui na true, aby zakodować to wejście i jest aktywowany i odwraca zmienne logt wewnętrzne binarne węzły drzewa na ścieżce liścia ido korzenia na prawdę. Łatwo jest zweryfikować, czy jest to zadowalające zadanie: wszystkie implikacje w drzewie binarnym są spełnione, wartość węzła głównego jest ustawiona na true, klauzule sprawdzające krawędzieGi dla ii pozostają zadowoleni, ponieważ ui pozostaje fałszywe, podczas gdy klauzule dotyczące wykresu Gi są zadowoleni, ponieważ dla każdej krawędzi ustawiamy co najmniej jeden punkt końcowy na true.

Dla kierunku do przodu załóżmy, że formuła może być spełniona przez co najwyżej odwrócenie k+logt+1zmienne. Następnie musimy przestawić zmienną węzła głównego na true. Implikacje w drzewie binarnym wymuszają, że przynajmniej jedna zmienna selektora liścia jest ustawiona na true, powiedzmyui. Aby zaspokoić implikacje zakodowane w drzewie binarnym, wszystkie wewnętrzne węzły na ścieżce odui do katalogu głównego ustawiono wartość true, uwzględniając 1+logtprzewraca Odui jest ustawione na true, klauzule wykonane dla wykresu Gi nie są usatysfakcjonowani dosłownie ¬ui, więc są zadowoleni, ponieważ jeden z punktów końcowych każdej krawędzi Gima wartość true. A przynajmniej1+logt zmienne drzewa binarnego zostały co najwyżej odwrócone kzmienne wierzchołków są odwracane do wartości true w tym rozwiązaniu. To koduje rozmiar okładki wierzchołkak w Gii dowodzi, że jednym z danych wejściowych jest instancja TAK. To kończy dowód.


1
Ten artykuł daje mocniejsze konsekwencje takiej kompresji.

Dzięki!!! (Natychmiast usunąłem „i wsp.” Z referencji ;-). Niezły dowód (IMO powinieneś opublikować w formie papierowej).
Marzio De Biasi,
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.