Edycja: Proszę zobaczyć odpowiedź użytkownika 20655 poniżej, aby znaleźć odniesienie do artykułu już wykazującego twardość tego problemu. Zostawię swój oryginalny post na wypadek, gdyby ktoś chciał zobaczyć ten alternatywny dowód.
===============
Rozważmy przykład MIN-SAT, który jest trudnym problemem NP , składającym się ze zmiennych i klauzule C = { c 1 , c 2 , c 3 , ⋯ } . Zmniejszymy to do twojego problemu ze ścieżką.X={x1,x2,⋯xn}do= { c1, c2), c3), ⋯ }
Musimy dwóch wierzchołków dla każdego (po jednej dla formy zanegowanym i jeden dla unnegated) i jeden dla każdego wierzchołka C i . Ponadto, pozwalając m = 2 n + | C | , będziemy mieli m wierzchołków p 1 , p 2 , ⋯ , p m do wypełnienia.xjadojam = 2 n + | do|mp1, p2), ⋯ , sm
Ogólnie rzecz biorąc, będzie skonstruować krzywą gdzie rozwiązanie optymalne będzie budować ścieżkę z na T używając x i y i Ż x i y w węzłach pośrednich. Koszt tej drodze będzie dokładnie c j e, że ścieżka wybraliśmy zadowoli gdybyśmy przekształcić go zadania. W p I s są po prostu tam, aby zapobiec rozwiązanie optymalne z bycia w stanie oszukać przez krótkie cięcia przez którekolwiek z c j s.stxjaxja¯dojotpjadojot
Połącz klauzuli c j , w którym X i pojawia się i ¯ x I klauzuli c j , w którym ¯ x i pojawi. Aby wymusić zadanie zmiennych wykonujemy diament drabiny jak struktura, w którym X I i Ż X i są połączone ze sobą z x i + 1 i Ż x i + 1 . s jest podłączony zarówno do x 1, jak i ¯xjadojotxjaxja¯¯¯¯¯dojotxja¯¯¯¯¯xjaxja¯¯¯¯¯xi + 1xi + 1¯¯¯¯¯¯¯¯¯sx1 itsą połączone zarówno zxn, jaki ¯ x n . Na koniec, każdycijest połączona do wszystkich zmiennych wypełniającepj. Nie mam pod ręką mojego oprogramowania do rysowania wykresów, więc oto (wyjątkowo) narysowany schemat tej konstrukcji:x1¯¯¯¯¯txnxn¯¯¯¯¯dojapjot
(Uwaga: chmura tutaj tylko duży zbiór wierzchołków, a grubość każdej z krawędzi c j do tej chmury oznacza C j są połączone ze sobą wierzchołkiem w zestawie).{ Pja}dojotdojot
Twierdzenie jest takie, że w optymalnym rozwiązaniu problemu ścieżki dotykającej min, liczba wierzchołków, które dotkną ścieżki to , gdzie Q jest optymalnym rozwiązaniem instancji MIN-SAT. To dlatego, żeQ + 2 n + 2Q
- Ścieżka musi zaczynać się od kończyć o t , a najlepszym sposobem na to bez zbierania wszystkich wierzchołków wypełnienia jest ciągłe przechodzenie od y i ∈ { x i , ¯ x i } do y i + 1 ∈ { x i + 1 , ¯ x i + 1 } bez zbierania zarówno x i jak i ¯ x i dla dowolnego i ∈ 1 , ⋯ , nstyja∈ { xja, xja¯¯¯¯¯}yi + 1∈ { xi + 1, xi + 1¯¯¯¯¯¯¯¯¯}xjaxja¯¯¯¯¯i ∈ 1 , ⋯ , n(jest to intuicyjne, ponieważ usunięcie jednej z dwóch opcji z dowolnej wybranej dwukrotnie zmiennej daje prawidłową ścieżkę o koszcie nie większym niż koszt, który mieliśmy w sobie).
- Istnieje rozwiązanie kosztu co najwyżej które idzie s , x 1 , x 2 , ⋯ , x n , t , zbierając nic poza s , t , { x i } , { ¯ x i } i { c i } . Ponieważ każda ścieżka s - t, która zawiera dowolne wypełnienie, musi zawierać co najmniej s , t , trochę cm + 2s , x1, x2), ⋯ , xn, tst{ xja}{ xja¯¯¯¯¯}{ cja} s - tst , niektóre x i i x j , i wszystkie { p } , ma koszt ≥ m + 5 , więc jest nieoptymalny. Zatem optymalne rozwiązanie nie dotyka żadnego z wierzchołków dopełniania, więc ścieżka musi przebiegać zgodnie z opisem w części (1).dojaxjaxjot{ p }≥ m + 5
- Wywołaj przypisania zmiennych odpowiadające wierzchołkom, przez które przechodzi ścieżka (innym niż i t ), wywołane przypisanie ścieżki. Wierzchołek C j styka IFF indukowanego przypisania ścieżki odpowiadałoby klauzuli c j . Odwrotnie, przypisania zmienne, które spełnia Q klauzule może być przekształcona w ścieżce, która dotyka dokładnie P o c J s patrząc na ścieżkę, która powoduje że zadania.stdojotdojotQQdojot
- Każdy i Ż x i dotyka tej ścieżki, jak również obie s i t . Łącznie stanowią one 2 n + 2 w całkowitym koszcie. Reszta pochodzi z dotkniętych c i kosztem Q w optymalnym rozwiązaniu.xjaxja¯¯¯¯¯st2 n + 2dojaQ
Możemy więc sprawdzić, czy instancja MIN-SAT ma rozwiązanie kosztu jeśli tworzony przez nas wykres ma koszt ≤ k + 2 n + 2 w przypadku problemu z twoją ścieżką. W szczególności możemy to zrobić poprzez zmniejszenie Karp. Tak więc, jak stwierdzono, trudny jest NP.≤ k≤ k + 2 n + 2