Informatyka

Problem P = NP: klasy złożoności i NP-zupełność

Zestaw wyjaśnia klasy P i NP, weryfikację certyfikatów oraz redukcje wielomianowe. Poznasz znaczenie NP-zupełności, aktualny status problemu P = NP i konsekwencje możliwego rozstrzygnięcia dla algorytmów, optymalizacji i kryptografii.

Studia24 fiszek32 pytań w 4 etapachnotatka

Podcast

Ładuję…

1.Problem decyzyjny

Problem, w którym dla każdego poprawnie zakodowanego wejścia należy odpowiedzieć „tak” albo „nie”. Formalnie reprezentuje się go przez język LL, czyli zbiór kodów instancji z odpowiedzią „tak”.

2.Rozmiar wejścia i kodowanie

Rozmiar wejścia to długość jego reprezentacji, zwykle liczba bitów. Złożoność mierzy się względem tej długości, a nie wartości zapisanych liczb. Kodowanie binarne i unarne może prowadzić do zasadniczo różnych ocen złożoności.

3.Wielomianowy czas działania

Algorytm działa w czasie wielomianowym, jeżeli jego czas w najgorszym przypadku jest ograniczony przez O(nk)O(n^k) dla pewnej stałej kk, gdzie nn jest długością wejścia. Wykładnik nie może zależeć od konkretnego wejścia.

4.Klasa PP

Klasa języków rozstrzyganych przez deterministyczną maszynę Turinga w czasie wielomianowym. Algorytm musi zakończyć działanie i poprawnie odpowiedzieć zarówno dla instancji pozytywnych, jak i negatywnych.

5.Certyfikat i weryfikator

Certyfikat jest dodatkowym ciągiem danych potwierdzającym pozytywną odpowiedź. W definicji NPNP jego długość jest ograniczona wielomianem długości wejścia, a deterministyczny weryfikator sprawdza parę: wejście i certyfikat, w czasie wielomianowym.

6.Klasa NPNP: definicja przez weryfikację

Język należy do NPNP, gdy istnieją wielomian pp i wielomianowy weryfikator VV takie, że wejście xx jest pozytywne wtedy i tylko wtedy, gdy istnieje certyfikat yy długości co najwyżej p(∣x∣)p(|x|) akceptowany przez VV. Dla wejścia negatywnego żaden certyfikat nie może zostać zaakceptowany.

7.Niedeterministyczna maszyna Turinga

Model obliczeń dopuszczający wiele możliwych przejść. Wejście jest akceptowane, jeśli istnieje akceptująca gałąź obliczenia. Wielomianowy czas oznacza wielomianowe ograniczenie długości każdej gałęzi, a nie ich łącznej liczby.

8.Równoważne definicje NPNP

Wielomianowa weryfikacja certyfikatów jest równoważna rozstrzyganiu na niedeterministycznej maszynie Turinga w czasie wielomianowym. Maszyna może zgadnąć certyfikat i go sprawdzić; zapis akceptującego obliczenia może z kolei pełnić rolę certyfikatu.

9.Relacja między PP i NPNP

Każdy język należący do PP należy również do NPNP: weryfikator może zignorować certyfikat i sam rozstrzygnąć instancję. Nie wiadomo, czy istnieje język w NPNP, który nie należy do PP.

10.SAT jako problem z klasy NPNP

SAT pyta, czy formuła boolowska ma wartościowanie, przy którym jest prawdziwa. Certyfikatem pozytywnej odpowiedzi jest wartościowanie zmiennych; jego poprawność sprawdza się przez obliczenie wartości formuły w czasie wielomianowym.

11.Klasa coNPcoNP

Klasa języków, których dopełnienia należą do NPNP. Dla problemu z coNPcoNP istnieją wielomianowo weryfikowalne certyfikaty odpowiedzi negatywnych. Nie wiadomo, czy NP=coNPNP=coNP.

12.Faktoryzacja a NP-zupełność

Weryfikacja podanego rozkładu liczby na czynniki jest efektywna, ale nie dowodzi NP-zupełności. Faktoryzacja jest zasadniczo problemem wyszukiwania; jej standardowe warianty decyzyjne należą do NPNP i coNPcoNP, a ich NP-zupełność nie jest znana.

13.Wielomianowa redukcja wiele-do-jednego

Redukcja języka AA do języka BB jest funkcją ff obliczalną deterministycznie w czasie wielomianowym, taką że xx należy do AA wtedy i tylko wtedy, gdy f(x)f(x) należy do BB. Jedna instancja źródłowa zostaje przekształcona w jedną instancję docelową.

14.Kierunek redukcji

Jeżeli AA redukuje się wielomianowo do BB, to algorytm wielomianowy dla BB daje algorytm wielomianowy dla AA. Aby wykazać trudność nowego problemu, redukuje się do niego problem już znany jako trudny.

15.Problem NP-trudny

Problem jest NP-trudny, jeżeli każdy język z NPNP redukuje się do niego wielomianowo. Dla języków przyjmuje się zwykle redukcje wiele-do-jednego. NP-trudność sama nie wymaga przynależności do NPNP ani nawet rozstrzygalności.

16.Problem NP-zupełny

Problem decyzyjny jest NP-zupełny, jeżeli należy do NPNP i jest NP-trudny. Dowód NP-zupełności wymaga osobno wykazania wielomianowej weryfikacji i odpowiedniej redukcji dowodzącej trudności.

17.Twierdzenie Cooka–Levina

SAT jest NP-zupełny. Każde wielomianowo ograniczone obliczenie niedeterministyczne można zakodować jako formułę boolowską rozmiaru wielomianowego, która jest spełnialna dokładnie wtedy, gdy istnieje obliczenie akceptujące.

18.Dowodzenie NP-zupełności przez redukcję

Aby dowieść NP-zupełności języka BB, wykazuje się, że BB należy do NPNP, oraz konstruuje wielomianową redukcję do BB z języka już znanego jako NP-zupełny. Trzeba uzasadnić zachowanie obu odpowiedzi i wielomianowy rozmiar konstrukcji.

19.Status problemu P=NPP=NP

Nie wiadomo, czy P=NPP=NP, czy PP i NPNP są różne. Pytanie dotyczy tego, czy każdy problem decyzyjny z wielomianowo sprawdzalnymi certyfikatami ma deterministyczny algorytm wielomianowy. Nie jest to twierdzenie o konkretnym obecnie znanym algorytmie.

20.Jeden algorytm dla problemu NP-zupełnego

Deterministyczny algorytm wielomianowy dla dowolnego problemu NP-zupełnego dowodziłby P=NPP=NP. Z kolei udowodnienie, że dowolny język z NPNP nie należy do PP, dowodziłoby nierówności tych klas.

21.Rozstrzyganie a wyszukiwanie świadectwa

Problem decyzyjny pyta o istnienie rozwiązania, a problem wyszukiwania wymaga jego znalezienia. Dla SAT algorytm decyzyjny pozwala odzyskać wartościowanie przez kolejne ustalanie zmiennych. Ogólniej P=NPP=NP zapewnia wielomianowe wyszukiwanie wielomianowo ograniczonych, weryfikowalnych świadectw.

22.NP-zupełność a wykładniczy czas

NP-zupełność nie dowodzi konieczności czasu wykładniczego. Nawet nierówność klas PP i NPNP wykluczałaby jedynie algorytmy wielomianowe dla problemów NP-zupełnych. Silniejsze dolne ograniczenia wymagają dodatkowych założeń, takich jak ETH.

23.Złożoność najgorszego przypadku a praktyka

Przynależność do PP nie gwarantuje praktycznej szybkości: wielomian może mieć wysoki stopień i duże stałe. NP-zupełność nie oznacza trudności każdej instancji; ograniczenia strukturalne, heurystyki i algorytmy parametryzowane mogą być skuteczne.

24.P=NPP=NP a funkcje jednokierunkowe

Gdyby P=NPP=NP, nie istniałyby standardowe funkcje jednokierunkowe: przeciwobraz można byłoby znaleźć w czasie wielomianowym przez wyszukiwanie świadectwa. Nierówność PP i NPNP sama nie gwarantuje ich istnienia, ponieważ dotyczy najgorszego, a nie przeciętnego przypadku.

Notatka

Problemy decyzyjne, kodowanie i czas obliczeń

Teoria złożoności bada zasoby potrzebne do rozwiązywania całych rodzin instancji. Problem decyzyjny opisuje się przez język formalny: do języka należą dokładnie kody wejść, dla których odpowiedź brzmi „tak”. Algorytm rozstrzygający musi zakończyć działanie również na wejściach z odpowiedzią „nie”.

Podstawową zmienną jest długość wejścia, oznaczana przez nn. Jeżeli liczba jest zapisana binarnie, jej wartość może być wykładniczo większa od długości zapisu. Algorytm wykonujący liczbę operacji proporcjonalną do wartości tej liczby nie musi więc być wielomianowy względem wejścia; takie zależności występują w algorytmach pseudowielomianowych.

Czas wielomianowy oznacza ograniczenie O(nk)O(n^k) dla stałego wykładnika kk. Klasa PP obejmuje problemy decyzyjne rozwiązywane deterministycznie z takim ograniczeniem w najgorszym przypadku. Standardowe modele deterministyczne symulują się z narzutem wielomianowym, dlatego klasa jest odporna na wiele zmian szczegółów modelu.

Ważne

Wielomianowość ocenia się względem długości kodu wejścia, nie względem wartości występujących w nim liczb.

Weryfikacja świadectwa i niedeterminizm

W klasie NPNP kluczowe jest istnienie krótkiego świadectwa pozytywnej odpowiedzi. Dla wejścia xx szuka się ciągu yy o długości ograniczonej wielomianem w ∣x∣|x|. Weryfikator otrzymuje oba ciągi i sprawdza postulowaną własność w czasie wielomianowym. Wejście pozytywne musi mieć przynajmniej jedno poprawne świadectwo, a wejście negatywne nie może mieć żadnego.

Na przykład w problemie kolorowania grafu trzema kolorami świadectwem jest przypisanie koloru każdemu wierzchołkowi. Weryfikator kontroluje, czy końce każdej krawędzi otrzymały różne kolory. Ta kontrola nie dostarcza sama z siebie metody znalezienia kolorowania.

Równoważny opis wykorzystuje niedeterministyczną maszynę Turinga. Maszyna dokonuje wyborów tworzących różne gałęzie obliczenia i akceptuje wtedy, gdy przynajmniej jedna gałąź kończy się akceptacją. Wielomianowo ograniczona jest długość gałęzi, choć całe drzewo może mieć wykładniczo wiele węzłów.

Niedeterminizm nie oznacza losowości, fizycznej równoległości ani obliczeń kwantowych. Skrót NP pochodzi od angielskiego „nondeterministic polynomial time”, a nie od „non-polynomial”. Każdy język z PP należy do NPNP, ponieważ jego weryfikator może sam obliczyć odpowiedź i zignorować świadectwo.

Zapamiętaj

Łatwość sprawdzenia kandydata nie jest dowodem łatwości jego znalezienia.

Dopełnienia, coNP i ostrożna klasyfikacja przykładów

Dopełnienie języka zamienia odpowiedzi pozytywne i negatywne w obrębie ustalonego zbioru wszystkich słów. Klasa coNP składa się z języków, których dopełnienia są w NPNP. Dzięki temu negatywne odpowiedzi dla problemu z coNPcoNP mają wielomianowo sprawdzalne świadectwa.

Przykładowo problem tautologii pyta, czy formuła boolowska jest prawdziwa przy każdym wartościowaniu. Świadectwem odpowiedzi negatywnej jest jedno wartościowanie, przy którym formuła jest fałszywa. Problem tautologii jest coNP-zupełny przy standardowych redukcjach wielomianowych.

Nie wiadomo, czy NP=coNPNP=coNP. Gdyby P=NPP=NP, równość z coNPcoNP również by zachodziła, ponieważ PP jest zamknięta na dopełnienie: wystarczy zamienić końcową akceptację z odrzuceniem. Sama hipotetyczna równość NP=coNPNP=coNP nie daje obecnie znanego dowodu P=NPP=NP.

Faktoryzacja wymaga dodatkowego rozróżnienia: znalezienie czynników jest problemem wyszukiwania, a nie bezpośrednio językiem. Standardowy wariant decyzyjny pyta, czy liczba ma nietrywialny dzielnik nieprzekraczający podanego progu. Należy on do NPNP i coNPcoNP; pełny rozkład wraz z efektywnym testem pierwszości pozwala również sprawdzić brak odpowiednio małego dzielnika. Nie znamy dowodu NP-zupełności tego wariantu.

Redukcje i mechanizm NP-zupełności

Redukcja wiele-do-jednego przekształca instancję problemu AA w instancję problemu BB za pomocą funkcji obliczalnej w czasie wielomianowym. Warunkiem jest zachowanie odpowiedzi w obie strony. Rozmiar wyniku jest wielomianowo ograniczony, ponieważ samo zapisanie wyniku wymaga czasu.

Jeżeli umiemy efektywnie rozwiązywać BB, redukcja pozwala rozwiązywać AA: najpierw wykonujemy przekształcenie, następnie uruchamiamy algorytm docelowy. Kierunek redukcji opisuje więc kierunek korzystania z algorytmu, a nie potoczne podobieństwo problemów.

Problem NP-trudny przyjmuje redukcje ze wszystkich języków z NPNP. Problem NP-zupełny musi dodatkowo sam należeć do NPNP. Dowodząc NP-zupełności nowego problemu, zwykle wykazuje się:

  • wielomianowy rozmiar świadectwa i czas jego sprawdzania;
  • konstrukcję redukcji ze znanego problemu NP-zupełnego;
  • równoważność odpowiedzi dla instancji źródłowej i docelowej;
  • wielomianowy czas i rozmiar konstrukcji.

Twierdzenie Cooka–Levina ustanawia NP-zupełność SAT. Historia niedeterministycznego obliczenia zostaje opisana przez zmienne i lokalne warunki poprawności kolejnych konfiguracji. Powstała formuła jest spełnialna dokładnie wtedy, gdy istnieje poprawna historia zakończona akceptacją.

Ważne

Aby dowieść trudności nowego problemu, redukuj do niego problem już znany jako trudny. Redukcja w przeciwnym kierunku nie wystarcza.

Co oznaczałoby rozstrzygnięcie P = NP?

Pytanie P=NPP=NP dotyczy tego, czy wielomianowa weryfikowalność zawsze pociąga za sobą wielomianowe rozstrzyganie. Problem pozostaje otwarty; przekonanie o nierówności tych klas nie zastępuje dowodu. Jest jednym z problemów milenijnych Clay Mathematics Institute.

Algorytm wielomianowy dla jednego problemu NP-zupełnego wystarczyłby do wykazania równości klas. Udowodnienie, że choć jeden język z NPNP nie należy do PP, wystarczyłoby do ich rozdzielenia. Niepowodzenie konkretnego algorytmu ani duża liczba przetestowanych instancji nie stanowią takiego dowodu.

Równość klas miałaby konsekwencje dla wyszukiwania świadectw. Można pytać, czy istnieje poprawne świadectwo rozpoczynające się od określonego prefiksu, a potem ustalać jego kolejne bity. Takie pytania nadal należą do NPNP, więc przy P=NPP=NP cała procedura byłaby wielomianowa.

Dla wielu problemów optymalizacyjnych wersja decyzyjna pyta o istnienie rozwiązania osiągającego dany próg. Jeżeli wartości celu mają wielomianowo ograniczoną długość zapisu, wyszukiwanie binarne progu i odtwarzanie świadectwa często pozwalają odzyskać optimum. Zależność między decyzją a optymalizacją trzeba jednak wykazać dla konkretnej reprezentacji problemu.

Gdyby PP i NPNP były różne, problemy NP-zupełne nie miałyby deterministycznych algorytmów wielomianowych. Nie oznaczałoby to automatycznie wykładniczego dolnego ograniczenia. Hipoteza ETH stawia silniejsze wymaganie dla 3-SAT: wyklucza czas 2o(n)2^{o(n)}, gdzie nn oznacza liczbę zmiennych.

Praktyczne algorytmy i konsekwencje kryptograficzne

Najgorszy przypadek nie opisuje całej praktyki obliczeniowej. Instancje pochodzące z zastosowań mogą mieć strukturę ułatwiającą rozwiązanie. Heurystyki mogą szybko znajdować dobre rozwiązania, ale bez gwarancji czasu lub jakości na wszystkich wejściach.

Ograniczenie problemu może zmienić jego klasę złożoności: 2-SAT należy do PP, natomiast 3-SAT jest NP-zupełny. Aproksymacja zastępuje optimum rozwiązaniem z określoną gwarancją jakości; algorytmy parametryzowane izolują koszt zależny od wybranego parametru. Algorytm FPT ma czas postaci f(k)⋅ncf(k) \cdot n^c, gdzie cc jest stałe niezależne od parametru kk. Nie musi to być czas wielomianowy, gdy parametr rośnie wraz z wejściem.

Przykład

Decyzyjny problem pokrycia wierzchołkowego jest NP-zupełny, ale przy małym limicie liczby wybranych wierzchołków można rozgałęziać obliczenie według końców niepokrytej krawędzi.

Funkcje jednokierunkowe mają być łatwe do obliczenia, lecz trudne do odwrócenia na typowych wejściach. Przy P=NPP=NP można byłoby wielomianowo wyszukiwać przeciwobrazy, więc takie funkcje w standardowym sensie nie istniałyby. Zagrożone byłyby fundamenty wielu konstrukcji kryptografii obliczeniowej, nie zaś bezwarunkowe bezpieczeństwo informacyjne.

Sama nierówność PP i NPNP nie wystarcza do bezpieczeństwa kryptograficznego. Zapewniałaby trudność pewnych problemów w najgorszym przypadku, podczas gdy atakujący mierzy się z instancjami generowanymi według określonego rozkładu. Potrzebne są dodatkowe założenia o trudności przeciętnego przypadku.

Quizy w tym zestawie

32 pytań w 4 etapach

Odblokujesz je po dodaniu zestawu.

Sprawdzian do druku

Arkusz PDF z kluczem, punktacją i oceną

Pierwsze podejście. Klucz z punktacją i oceną jest na ostatniej stronie.

Pobierz sprawdzian (PDF)

Podobne zestawy

Zobacz wszystkie fiszki z informatyki