Professional Documents
Culture Documents
DEFINICJA. Problem jest NP-trudny, jeli istnienie dla niego algorytmu o wielomianowym czasie dziaania implikowaoby istnienie algorytmu wielomianowego dla SPENIALNOCI.
Po pierwsze naley zaobserwowa, e problem NP-trudny jest co najmniej tak trudny jak kady inny w NP. Po drugie problemy NPI nie s NP-trudne. Po trzecie istniej problemy NP-trudne, ktre s niealgorytmiczne. Po czwarte wystpuj problemy algorytmiczne NP-trudne, ktre nie s NP-zupene. Tylko problem decyzyjny moe by NP-zupeny. Natomiast, problem optymalizacyjny moe by NP-trudny. Jeeli 1 jest problemem decyzyjnym i 2 jest problemem optymalizacyjnym, to moliwe jest, e 1 zredukuje si do 2 (jednak nie jest to redukcja ).
Generalnie mamy 3 rodzaje problemw: Problem decyzyjny Czy istnieje lepsze rozwizanie od zadanej wartoci progowej?? Warto optymalna Jaka jest warto najlepszego moliwego rozwizania?? Rozwizanie optymalne Znajd rozwizanie, ktre osiga warto optymaln!!
Problemy te s uoone wedug rosncej trudnoci. Na przykad, jeeli mamy optymalne kolorowanie grafu, to wystarczy policzy uyte kolory aby okreli warto liczby chromatycznej grafu. A jeeli znamy warto liczby chromatycznej, to jest trywialne, aby okreli czy graf jest k-barwny dla danego k. Przypumy, e kiedy, kto, gdzie udowodni jako, e P = NP. Jeli mamy algorytm o wielomianowym czasie dziaania dla problemw decyzyjnych, to czy moemy wwczas znale rozwizanie optymalne w wielomianowym czasie?? W wielu moemy. przypadkach
Przykad: Kolorowanie grafw Rozwamy problem kolorowania wierzchokw grafu G. Przypumy, e mamy procedur CanColor(G, k), ktra w wielomianowym czasie zwraca warto 1 wtedy i tylko wtedy, gdy G = (V, E) jest k-barwny.
Algorytm deterministyczny: Procedure OptimalColor(G, n, k); begin k := 0; repeat k := k + 1; until CanColor(G, k) ; ChromaticNumber := k; niech E bdzie V x V E; for kada krawd e E do if CanColor(G + e, k) then E := E + e; {G dy do penego grafu k-dzielnego} for i := 1 to n do koloruj vi w zachanny sposb end;
}np(n)
}n2p(n)
}n2
Niech p(n) bdzie zoonoci CanColor. Skoro dowolny graf o n wierzchokach moe by pokolorowany n kolorami, wiemy, e bdzie co najwyej n iteracji ptli repeat. Zoono pierwszej czci jest rwna np(n). W drugiej cz mamy |E| O(n m) = O(n), tak wic zoono pierwszej ptli for jest np(n), czyli wielomianowa. Zoono drugiej ptli for jest dokadnie O(n), bo znalezienie pierwszego wolnego koloru dla wierzchoka vi wymaga wykonania O(n) krokw, po jednym dla kadego ssiada. Zatem cay program wykonuje si w czasie wielomianowym. Problemy optymalizacyjne nie mog by NP-zupene. Mog natomiast by NP-trudne. Z drugiej strony istniej NP-trudne problemy decyzyjne, ktre nie s NP-zupene.
Przykad: Problem stopu Problem stopu jest problemem niealgorytmicznym, wic NP. Aby pokaza, e SPENIALNO moe by zredukowana do STOPU mona atwo skonstruowa, dla kadej formuy logicznej Q, algorytm A, ktry wczytuje t formu. Jeeli Q ma n zmiennych, wwczas A dokadnie sprawdza 2n podstawie zero-jedynkowych, sprawdzajc czy Q jest spenialne. Jeeli jest, wtedy A zatrzymuje si. Jeeli nie, wwczas A wpada w ptl nieskoczon. A zatem algorytm A zatrzymuje si na wejciu Q wtedy i tylko wtedy, gdy Q jest spenialne.
Wersja pseudo-Pascala dla A jest nastpujca: Procedure A; begin read(Q); i:= 0; repeat i := i + 1; generowanie nowego nowego cigu 0-1; if Q jest spenialne then return until i = 2 ; label: goto label; end;
NPH
NPC NPI P
NP
Co powoduje, e problem jest trudny?? Nie wiadomo Jeli zbir danych wejciowych dla problemu NP-zupenego jest ograniczony, problem moe by P lub NP-zupeny. Dla problemw grafowych moemy ograniczy stopie grafu G, tj. maksymalny stopie wierzchoka w G. Problem POKRYCIE WIERZCHOKOWE CYKL HAMILTONA GRAF 3-BARWNY ZBIR WIERZCHOKW ROZRYWAJCYCH CYKLE Tabela: 12.1 P dla (G) NPC dla (G)
2 2 3 2
3 3
4
Grafy podkubiczne:
Twierdzenie Brooksa Dla kadego grafu (G) z wyjtkiem C2k+1 i K 2k+1. Z twierdzenia Brooksa wynika, e w przypadku grafw kubicznych mamy (G) 3 z wyjtkiem grafu K4.
Wszystkie problemy z tabeli 12.1 pozostaj NP-zupene, nawet jeli G jest grafem planarnym! Innym interesujcym zjawiskiem jest to, e dwa problemy, ktre rni si tylko nieznacznie definicj, mog rni si bardzo zoonoci. Jeden problem moe by P podczas gdy ten drugi NP-zupeny.
I Problemy NP-trudne CYKL HAMILTONA ZBIR UKW ROZRYWAJCYCH CYKLE NAJDUSZA CIEKA POKRYCIE WIERZCHOKOWE
II Problemy wielomianowe CYKL EULERA ZBIR KRAWDZI ROZRYWAJCYCH CYKLE NAJKRTSZA CIEKA POKRYCIE KRAWDZIOWE
Zoono II problemu
Tabela: 12.2
Przykady te nie daj adnych odpowiedzi na pytanie: dlaczego jeden problem jest NP-zupeny, a drugi nie. Istnieje jeszcze wiele problemw otwartych w tej dziedzinie, gwnym z nich jest
Czy P = NP ???
W roku 2002 zapytano 100 czoowych informatykwteoretykw, w ktrym roku, ich zdaniem, problem zostanie rozwizany? Odpowiedziao 79 profesorw. Ich odpowiedzi zgrupowano postaci nastpujcej tabeli:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2002 - 09 2010 - 19 2020 - 29 2030 - 39 2040 - 49 2050 - 59 2060 - 69 2070 - 79 2080 - 89 2090 - 99 2100 - 2110 2111 - 2199 2200 - 3000
5 12 13 10 5 12 4 0 1 0 7 0 5 5
Tabela: 12.3
W gronie 79 respondentw 61 sdzio, e P NP, 9 sdzio, e jest przeciwnie, za 9 udzielio innej odpowiedzi (np. adnej lub takiej, e to zaley od modelu obliczeniowego).
14 12 10 Odpowiedzi 8 6 4 2 0 2010- 2020- 2030- 2040- 2050- 2960- 2070- 2080- 2090- 2100- 2111- 220019 29 39 49 59 69 79 89 99 2110 2199 3000 Czas
KONIEC