Optymalne solwery NP


12

Napraw problem wyszukiwania NP-complete, np. Formularz wyszukiwania SAT. Wyszukiwanie Levin zapewnia algorytm do rozwiązywania który jest w pewnym sensie optymalny. Konkretnie, algorytm jest „Wykonanie wszystkich możliwych programów w zazębianie na wejściowego , gdy niektórzy powraca odpowiedzieć testy czy jest to poprawna”. Jest optymalna w tym sensie, że biorąc pod uwagę programu , który rozwiązuje z Złożoność , czas złożoność z spełnia L X P x P y P X t P ( n ) t L ( n ) LX{0,1}×{0,1}LXPxPyPXtP(n)tL(n)L

tL(n)<2|P|p(tP(n))

gdzie jest stałym wielomianem, który zależy od dokładnego modelu obliczeniowegop

LOptymalność można sformułować w nieco mocniejszy sposób. Mianowicie dla każdego i Program rozwiązywania obiecująco w czasie , złożoność czas z ograniczony do wejść w spełnia Q X M t M Q ( n ) t M L ( n ) L MM{0,1}QXMtQM(n)tLM(n)LM

tLM(n)<2|Q|q(n,tQM(n))

gdzie jest stałym wielomianem. Zasadnicza różnica polega na tym, że może być np. Wielomianem, nawet jeślit M Q ( n ) P N PqtQM(n)PNP

Oczywistą „słabością” jest duży współczynnik w tym zakresie. Łatwo zauważyć, że jeśli istnieje algorytm spełniający granicę tego samego formularza z zastąpionym wielomianem wnastępnie . Wynika to z faktu, że możemy uznać za program rozwiązujący daną instancję poprzez zakodowanie odpowiedzi na stałe. Podobnie, jeśli można zastąpić funkcją sub wykładnicząwówczas hipoteza wykładniczego czasu jest naruszana. Jednak odpowiedź na następujące pytanie jest mniej oczywista (dla mnie):2 | Q | 2 | Q | | Q | P = N P Q X 2 | Q | | Q |L2|Q|2|Q||Q|P=NPQX2|Q||Q|

Zakładając hipotezę wykładniczego czasu i inne dobrze znane przypuszczenia (np. Brak degeneracji hierarchii wielomianowej, istnienie funkcji jednokierunkowych), jeśli to konieczne, czy istnieje algorytm rozwiązujący st dla każdego i program rozwiązywania obiecująco w czasie , złożoność czas z ograniczona do wejść w spełniaX M { 0 , 1 } Q X M t M Q ( n ) t M A ( n ) A MAXM{0,1}QXMtQM(n)tAM(n)AM

tAM(n)<f(|Q|)q(n,tQM(n))+g(|Q|)

gdzie jest wielomianem, jest subwykładniczy, a jest arbitralnyf gqfg

Jeśli odpowiedź jest pozytywna, czy może być wielomianowe? Jaka jest stopa wzrostu (wyraźnie co najmniej wykładniczo pod ETH)? Jeśli odpowiedź jest przecząca, czy może istnieć wielomian , jeśli ETH jest błędne, ale ?g f P N PfgfPNP

Odpowiedzi:


12

Rozważ następujący algorytm (wariant algorytmu Levina):

Uruchom równolegle pierwsze algorytmów. Dodatkowo uruchom równolegle algorytm brutalnej siły, który wypróbowuje wszystkie możliwe rozwiązania jeden po drugim. (Uruchom wszystkie algorytmy z tą samą prędkością.)n

Zatrzymaj się, gdy jeden z algorytmów znajdzie rozwiązanie.

Rozważ dwa przypadki (biorąc pod uwagę wejściowej długości ):nxn

  • n O ( n t M Q ( n ) ) p o l y ( n )Q jest jednym z pierwszych algorytmów. Następnie czas działania to .nO(ntQM(n))poly(n)

  • n n < 2 | Q | 2 n O ( 1 ) = 2 2 O ( | Q | )Q nie jest jednym z pierwszych algorytmów (a więc ). Następnie czas działania jest ograniczony przez czas działania algorytmu brutalnej siły. Mamy czas działania .nn<2|Q|2nO(1)=22O(|Q|)

Mamy

tAM(n)poly(n)tQM(n)+22O(|Q|).

(Tutaj jest wielomianem, a jest podwójnie wykładnicze w ; możemy poprawić zależność od , pogarszając zależność od .)g ( n ) n g ( n ) n f ( n ) nf(n)g(n)ng(n)nf(n)n


Istnieje wariant tego, który w pewnym sensie lepiej spełnia ograniczenia, chociaż nie jest to forma, o którą prosiłem. Mianowicie, zamiast używać algorytmu brute-force, uruchom zwykłe wyszukiwanie Levin. Daje to to samo ograniczenie z drugim terminem zastąpionym przez ~2|Q|tQM(2|Q|)
Vanessa
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.