WYKŁAD : Teoria NP-zupełnoci. Problem decyzyjny naley do klasy P (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM. (przynaleno ta jest zachowana równie dla innych realistycznych modeli obliczeniowych takich jak RAM, RASP) Przykłady: wersje decyzyjne wyznaczania maksymalnego elementu zbioru, najkrótszejcieki w grafie itp. Problem decyzyjny naley do klasy NP (Nondeterministic Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla NDTM (algorytm składa si z kroku odgadywania rozwizania i kroku sprawdzania). Przykłady: spełnialno (SAT), wersje decyzyjne problemu pokrycia zbioru (MINIMUM SET COVER), kliki (CLIQUE), najdłuszejcieki w grafie, komiwojaera (TSP) itp. Czy PNP? Chocia nie udało si
przeprowadzi dowodu zakładamy,e nie! Pojcie NP-zupełnoci Transformacj wielomianow problemu P2 do problemu P1 (co zapisujemy P2 P1) nazywamy funkcj f : D P2 D P1, która spełnia warunki: 1. dla kadego przypadku problemu I 2 D P2 odpowied jest TAK dla przypadku problemu I 1 D P1 odpowied take jest TAK; 2. czas obliczania funkcji f przez DTM dla kadego przypadku problemu I 2 D P2 jest ograniczony od góry przez wielomian NI 2. Mówimy,e problem decyzyjny P1 jest NP-zupełny, jeli P1 NP i dla kadego innego problemu decyzyjnego P2 NP, zachodzi P2 P1. Z powyszych definicji wynika,e klasa P jest podklas właciw klasy NP, a ponadto klasy problemów P i NP-zupełnych s rozłczne.
Dowodzenie NP-zupełnoci 1. relacja pomidzy problemami - transformacja wielomianowa (przechodnia) 2. relacja pomidzy problemem a klas złoonoci - zupełno Dwa kroki dowodu: a) pokazanie,e D P NP ; b) pokazanie wielomianiowej transformacji przypadku znanego problemu NP-zupełnego do D P ( trzy podstawowe techniki: ograniczenie, lokalna zamiana i projektowanie czci składowych). Przykład (technika: ograniczenie) NAJDŁUSZACIEKA Dane: Graf G(V,E) oraz liczba naturalna K V. Pytanie: Czy G zawieraciek prost
zawierajc conajmniej K krawdzi? Dowód NP-zupełnoci: a) Moduł generujcy NDTM generuje sekwencj wierzchołków (wyrocznia odgaduje rozwizanie). DTM sprawdza w czasie wielomianowym czy V K i czy kolejne wierzchołki s połczone krawdziami. Std P1 NP. b) Jako P2 wybieramy problemcieki HAMILTONA. Aby P2 P1, ograniczamy P1 do przypadków dla których zachodzi K V 1. Pojcie silnej NP-zupełnoci Dla niektórych liczbowych problemów NP-zupełnych mona skonstruowa tzw. algorytmy pseudowielomianowe, których funkcja złoonoci czasowej jest ograniczona od góry przez wielomian zalecy zarówno od rozmiaru danych wejciowych NI jak i od maksymalnej wartoci wystpujcych w tym
problemie liczb MaxI. Przykład: problem PLECAK, programowanie dynamiczne. Dla dowolnego problemu decyzyjnego P i dowolnego wielomianu p okrelonego dla liczb całkowitych, niech P p oznacza podproblem otrzymany przez ograniczenie D P tylko do tych przypadków problemu, dla których MaxI pni. Zatem P p nie jest problemem liczbowym. Problem decyzyjny P jest silnie NP-zupełny, jeli naley do NP i istnieje wielomian p okrelony dla liczb całkowitych, dla którego P p jest NP-zupełny. Problemy silnie NP-zupełne: a) NP-zupełne problemy nieliczbowe; b) NP-zupełne problemy liczbowe, takie jak:
KOMIWOJAER, TRÓJPODZIAŁ. Dla wykazania silnej NP-zupełnoci problemu P wystarcza znale wielomian p, dla którego problem P p jest NP-zupełny. Dla ominicia tej trudnoci wprowadzono pojcie transformacji pseudowielomianowej. Transformacj pseudowielomianow problemu P2 do problemu P1 (co zapisujemy P2 P1) nazywamy funkcj f : D P2 D P1, która spełnia warunki: 1. dla kadego przypadku problemu I 2 D P2 odpowied jest TAK dla fi 2 odpowied take jest TAK; 2. funkcja f moe by obliczona przez DTM w czasie ograniczonym od góry przez wielomian zaleny od dwóch zmiennych Max 2 I 2 i N 2 I 2 ; 3. istnieje wielomian q 1 taki,e dla kadego I 2 D P2, q 1 N 1 fi 2 N 2 I 2 ;
4. istnieje wielomian dwóch zmiennych q 2 taki,e dla kadego I 2 D P2, Max 1 fi 2 q 2 Max 2 N 2, N 2 I 2. Rónice w stosunku do transformacji wielomianowej: - funkcja f nie musi by obliczona w czasie wielomianowym; - rozmiar przypadku nie zmaleje wykładniczo; - najwiksza warto liczbowa w danych nie wzronie wykładniczo. Jeeli problem P2 jest silnie NP-zupełny, P1 NP oraz istnieje pseudowielomianowa transformacja problemu P2 do P1, to P1 jest silnie NP-zupełny. Analogia: Teoria P-zupełnoci. Problemy dopuszczalne, wysoce
równoległe i inherentnie sekwencyjne Problem jest dopuszczalny (feasible), jeli moe by rozwizany przez algorytm równoległy o asymptotycznej złoonoci czasowej i liczbie procesorów rzedu n O1 (klasa P). Problem jest dopuszczalny wysoce równoległy, jeli moe by rozwizany przez algorytm równoległy o asymptotycznej złoonoci czasowej log O1 i liczbie procesorów rzedu n O1 (klasa NC - wzamian za wielomianow liczb procesorów osigamy podwielomianowy (podliniowy) czas oblicze ). Problem P jest inherentnie sekwencyjny gdy jest dopuszczalny, ale nie posiada dopuszczalnego wysoce równoległego algorytmu (klasa P-zupełna, niemoliwy kompromis liczba procesorów/czas).
Czy istniej problemy inherenie sekwencyjne? Czy PNC? Przykłady: algorytmyarłoczne (wybór dwóch druyn piłkarskich, PLECAK - wybieramy elementy z max stosunkiem warto/rozmiar, szeregowanie zada w systemie wieloprocesorowym - LPT) Pojcie P-zupełnoci Przykład: CIRCUIT VALUE PROBLEM (CVP) Dowodzenie P-zupełnoci 1. relacja pomidzy problemami - transformacja wielomianowa (przechodnia) 2. relacja pomidzy problemem a klas złoonoci - zupełno