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,x∨vi,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ę(¬x∨y∨z) do formuły, która wychwytuje implikacje (x→(y∨z)), 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 i′≠i 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.