1 2 Grundlgen der Theoretischen Informtik Till Mosskowski Fkultät für Informtik Otto-von-Guericke Universität Mgdeurg Komplexitätstheorie Wintersemester 201/15 Zeitkomplexität 3 Die Komplexitätsklsse P Sei M eine deterministische oder eine nichtdeterministische Turing-Mschine üer einem Alphet Σ. Die Turing-Mschine M heißt polynomiell zeiteschränkt, flls es ein Polynom p(n) git, so dss für lle n N 0 und lle w Σ mit w = n jede Berechnung von M ei Einge w nch höchstens p(n) Schritten in einem Hltezustnd endet. Zur Erinnerung: Flls eine nichtdeterministische Turingmschine M eine Sprche L entscheidet, so ist w L genu dnn wenn es eine Berechnung git, die in q ccept endet. Es müssen nicht lle Berechnungen für w L im Hltezustnd q ccept enden, sondern nur mindestens eine! Aer es müssen lle Berechnungen für w mit w = n nch p(n) Schritten eendet sein, flls M polynomiell zeiteschränkt ist. Eine Sprche L heißt deterministisch mit polynomiellem Zeitufwnd entscheidr oder uch deterministisch in Polynomilzeit entscheidr, flls es eine deterministische polynomiell zeiteschränkte Turing-Mschine git, die L entscheidet. Die Klsse der deterministisch mit polynomiellem Zeitufwnd entscheidren Sprchen wird mit P ezeichnet. 5 6 Beispiele für Proleme in P: Elementeindeutigkeit: {w 1 #w 2 # #w k w 1,...,w k {0,1} und w i w j für lle i j} Grphenproleme: pth = { G,s,t G ist ein ungerichteter Grph, s und t sind Knoten in G, und in G git es einen Pfd der s und t verindet} Sei G = (V,E) ein gerichteter Grph. Ein geschlossener Pfd, der jede Knte in G genu einml enutzt, heißt Euler-Tour. euler-tour = { G G ist ein ungerichteter Grph, der eine Euler-Tour esitzt} Primzhltest: primes = {in(n) {0,1} n ist eine Primzhl} 7 8 Geometrische Proleme: polyline-simplifiction = { P, t, k P ist ein einfcher Polygonzug (mit gnzzhligen Eckpunktkoordinten), der sich zu einem einfchen Polygonzug P mit höchstens k Eckpunkten vereinfchen lässt, so dss P zu P höchstens Astnd t ht} Die Komplexitätsklsse NP Eine Sprche L heißt nichtdeterministisch mit polynomiellem Zeitufwnd entscheidr oder uch nichtdeterministisch in Polynomilzeit entscheidr, flls es eine nichtdeterministische polynomiell zeiteschränkte Turing-Mschine git, die L entscheidet. Die Klsse der nichtdeterministisch mit polynomiellem Zeitufwnd entscheidren Sprchen wird mit NP ezeichnet.
9 10 Lemm: P NP. Beispiele für Proleme in NP: Grphenproleme: clique = { G,k G = (V,E) ist ein ungerichteter Grph, k N, und es git eine Teilmenge V V mit V = k, so dss für lle v i,v j V, v i v j, gilt, dss die Knte zwischen v i und v j zu E gehört} independent-set = { G,k G = (V,E) ist ein ungerichteter Grph, k N, und es git eine Teilmenge V V mit V = k, so dss für lle v i,v j V, v i v j, gilt, dss es keine Knte zwischen v i und v j in G git} vertex-cover = { G,k G = (V,E) ist ein ungerichteter Grph, k N, und es git eine Teilmenge V V mit V = k, so dss für lle Knten {u,v} E gilt [ u V oder v V ], d.h., mindestens einer der Endknoten jeder Knte gehört zu V } 11 12 Ein Hmilton-Kreis in einem gerichteten Grphen ist ein geschlossener Pfd, der jeden Knoten genu einml esucht. hmilton-kreis = { G G esitzt einen Hmilton-Kreis} 3 3 0 0 5 5 6 6 1 1 2 2 7 7 13 1 Beim Prolem der Hndlungsreisenden, engl. trveling slesperson prolem (TSP), sind n Orte und eine Distnzmtrix (d ij ) mit nichtnegtiven gnzzhligen Einträgen und d ii = 0 für i = 1,...,n sowie K N gegeen. Es ist zu entscheiden, o die Kosten der kürzesten Rundreise, lso ds Minimum von c(π) = d π(1)π(2) + d π(2)π(3) + d π(n 1)π(n) + d π(n)π(1) üer lle Permuttionen π von {1,2,...,n}, höchstens K sind. tsp = { (D ij ),K (D ij ) ist eine Distnzmtrix mit nichtnegtiven gnzzhligen Einträgen, so dss die Kosten der kürzesten Rundreise höchstens K sind} 15 16 Pckungsproleme: Bei Sum of Suset sind 1, 2,..., n N und K N, gegeen und es ist zu entscheiden, o es I {1,2,...,n} git, so dss i = K sum-of-suset = {in( 1 )# #in( n )#in(k) es git I {1,2,...,n} so dss i = K} Beim Prolem Prtition sind 1, 2,..., n N gegeen und es ist zu entscheiden, o es I {1,2,...,n} git, so dss i = i i I prtition = {in( 1 )# #in( n ) es git I {1,2,...,n} so dss i = i I i }
17 18 Beim Rucksckprolem sind w 1,w 2,...,w n N und v 1,v 2,...,v n N gegeen sowie W N und V N und es ist zu entscheiden, o es I {1,2,...,n} git, so dss w i W und v i V Geometrische Proleme: re-preserving-polyline-simplifiction = { P, k P ist ein einfcher Polygonzug (mit gnzzhligen Eckpunktkoordinten), so dss es einen P vereinfchenden Polygonzug Q mit höchstens k Eckpunkten git, derrt dss die Flächen zwischen P und Q links von P und die Flächen zwischen P und Q rechts von P gleich groß sind} 19 20 Üerdeckungsproleme: Gegeen eine endliche Menge U = {u 1,...,u n } und eine Fmilie F = {S 1,...,S m } von Teilmengen von U, gesucht ist eine Teilmenge C F, so dss die Mengen in C prweise disjunkt sind und ihre Vereinigung U ergit. exct-cover = { U,F es git C F mit C 1,C 2 C : (C 1 C 2 C 1 C 2 = /0) und C C = U} Erfüllrkeitsprolem der Aussgenlogik: Eine Vrile, die Whrheitswerte nnehmen knn, nennen wir eine Boolesche Vrile. Im Folgenden steht 1 für whr und 0 für flsch. Eine Boolesche Formel ist ein Ausdruck üer Booleschen Vrilen und den Opertionen, und. Beispiel: (X 1 X 3 ) (X 2 X 3 X X 5 ) (X 1 X X 5 ) (X 2 X 3 X 5 ) Eine Boolesche Formel φ ist erfüllr, flls es eine Belegung der Vrilen mit Konstnten us {0,1} git, so dss sich für φ der Wert 1 ergit. 21 22 Beim Erfüllrkeitsprolem, engl. stisfiility prolem, ist eine Boolesche Formel gegeen und es ist zu entscheiden, o die Formel erfüllr ist. Flls X i eine Boolesche Vrile ist, dnn sind X i und X i Literle. Flls Y 1,...,Y k Literle sind, dnn ist (Y 1 Y 2 Y k ) eine Klusel vom Grd k. Flls C 1,...,C m Kluseln sind, dnn ist C 1 C 2 C m eine Boolesche Formel in konjunktiver Normlform. Für keine der Sprchen us oigen Beispielen für NP ist eknnt, o die Sprche uch in P liegt! Alle etrchteten Sprchen hen er die folgende Eigenschft: Es lässt sich für eine ngeliche Lösung in Polynomilzeit üerprüfen, o die ngeliche Lösung uch eine ttsächliche Lösung ist. st = { φ φ ist eine Boolesche Formel in konjunktiver Normlform und φ ist erfüllr} 23 2 verify-tsp = { (D ij ),K,π (D ij ) ist eine symmetrische Distnzmtrix mit nichtnegtiven gnzzhligen Einträgen, so dss die Kosten der durch π gegeenen Rundreise höchstens K sind} P Verifizierer und Zertifikte Eine Turing-Mschine V ist ein Verifizierer für eine Sprche L genu dnn wenn gilt w L c : w,c L(V) Ein c mit w,c L(V) heißt Zertifikt für w. Eine Sprche L heißt in Polynomilzeit verifizierr, flls es einen Verifizierer V git mit L(V) P und ein Polynom p(n), so dss us w,c L(V) folgt, dss c p( w ) gilt.
25 26 Polynomilzeitreduktion Die Klsse der in Polynomilzeit verifizierren Sprchen stimmt genu mit der Klsse NP üerein. Eine Funktion f : Σ Σ heißt in polynomieller Zeit erechenr oder uch in Polynomilzeit erechenr, flls es eine polynomiell zeiteschränkte deterministische Turingmschine git, die f erechnet. Seien L 1,L 2 Σ Sprchen. L 1 heißt in Polynomilzeit uf L 2 reduzierr, flls es eine in polynomieller Zeit erechenre Reduktion f : Σ Σ von L 1 uf L 2 git. Die Reduktion f heißt dnn Polynomilzeitreduktion. Wir schreien L 1 P L 2, flls L 1 in Polynomilzeit uf L 2 reduzierr ist. 27 28 Zur Erinnerung: τ : Σ Σ ist eine Reduktion von A uf B flls für lle x Σ gilt x A τ(x) B Flls A P B und B P C gilt, so gilt uch A P C. τ AB : Σ A Σ B τ BC : Σ B Σ C τ BC τ AB : Σ A Σ C x A x B x A τ AB (x) B τ BC (x) C τ BC (τ AB (x)) C independent-set P vertex-cover. Bei einem ungerichteten Grphen G = (V,E) ist V V eine unhängige Knotenmenge, lso eine Teilmenge, deren Knoten prweise nicht miteinnder verunden sind, genu dnn wenn V V ein Vertex-Cover ist: Sei V eine unhängige Knotenmenge. Flls {u,v} E, so können nicht eide Knoten in V liegen; lso muss mindestens einer in V V liegen. Sei V V ein Vertex-Cover. Flls u und v eide in V liegen, gilt {u,v} E, d sonst mindestens einer der eiden in V V liegen müsste. p(n) q(n) p(n) + q(p(n)) 29 30 Beispiel für eine vernünftige Kodierung: Wir definieren eine Funktion τ : Σ Σ. Die Funktion τ ildet Wörter us Σ, die nicht von der Form G,k sind, uf eensolche. Ansonsten gilt G,k τ( G,k ) = G,n k woei G = (V,E) und n = V. Die Funktion τ ist wie een gezeigt eine Reduktion von independent-set uf vertex-cover. Ferner ist sie, eine vernünftige Kodierung vorusgesetzt, in polynomieller Zeit erechenr. G = ({v 1,...,v n },E) wird drgestellt mit Hilfe der n n Adjzenzmtrix ( ij ) mit { 1 flls {vi,v ij = j } E 0 sonst Eine Zeile der Adjzenzmtrix wird drgestellt ls Folge von n Nullen und Einsen, umrhmt von $-Zeichen, eine Adjzenzmtrix ls Folge von n solchen Zeilendrstellungen. k wird inär drgestellt, umrhmt von #-Zeichen. G,k ist die Konktention der Drstellungen von G und k. 31 32 Flls B P und A P B, so gilt uch A P. Sei M τ eine Turingmschine, die eine Polynomilzeitreduktion τ von A uf B in Zeit q(n) erechnet. Wegen B P git es eine Turingmschine M B, die B in Polynomilzeit p(n) entscheidet. Zunächst wird τ(w) vi M τ in Zeit q( w ) erechnet. Mn echte, dss τ(w) q( w ). Dnn wird vi M B in Zeit p( τ(w) ) entschieden, o τ(w) B. w τ(w) M A M τ M B τ(w) B τ(w) B w A w A Die Gesmtlufzeit ist in O( q( w ) + p(q( w ))), lso polynomiell in w. Also knn uch A in Polynomilzeit entschieden werden und somit gilt A P. Anlog zeigt mn Flls B NP und A P B, so gilt uch A NP.
33 3 hmilton-kreis P tsp. Zu G = ({v 1,...,v n },E) konstruieren wir eine tsp-instnz mit Distnzmtrix (D ij ) mit 0 i = j D ij = 1 {v i,v j } E 2 sonst Diese tsp-instnz esitzt eine Rundreise der Länge höchstens n genu dnn wenn G einen Hmilton-Kreis esitzt. Dies liefert uns, vernünftige Kodierung vorusgesetzt, eine Polynomilzeitreduktion. NP-Vollständigkeit Eine Sprche C heißt NP-vollständig, flls C NP und für lle L NP gilt L P C. Eine Sprche C heißt NP-hrt, flls für lle L NP gilt L P C. C ist lso NP-vollständig genu dnn wenn C eine NP-hrte Sprche ist, die in NP liegt. 35 36 Sei L eine NP-vollständige Sprche. Dnn gilt P = NP genu dnn wenn L P. Nehmen wir n, es sei P = NP. Als NP-vollständige Sprche liegt L in NP und somit in P = NP. Nehmen wir n, L sei eine NP-vollständige Sprche in P. Sei ferner A eine elieige Sprche in NP. D L eine NP-vollständige Sprche ist, gilt A P L. Nch dem zuvor ewiesenen Stz folgt us L P und A P L uch A P. Also gilt NP P. D P NP, ergit sich P = NP. NP-vollständige Sprchen (zw. Proleme) sind lso deshl so wichtig, weil ds Finden eines Polynomilzeitlgorithmus für uch nur eine von ihnen schon Polynomilzeitlgorithmen für lle Sprchen (zw. Proleme) in NP nch sich ziehen würde. Gelänge es ndererseits, zu zeigen, dss P NP, so würde dies edeuten, dss es für keine NP-vollständige Sprche (zw. Prolem) einen Polynomilzeitlgorithmus git. 37 38 Ein NP-vollständiges Prolem Sei L eine Sprche und sei C eine NP-vollständige Sprche. Flls L NP und C P L, so ist uch L eine NP-vollständige Sprche. D C eine NP-vollständige Sprche ist, gilt für lle A NP, dss A P C. Wegen C P L und der Trnsitivität von P somit uch A P L für lle A NP. Ein eschränktes Kchelprolem ist gegeen durch ein Fünftupel D = (D,f 0,H,V,l), woei D eine endliche Menge von Kcheltypen ist, l N eine ntürliche Zhl, f 0 : [ l : l] D eine Funktion und H,V D D inäre Reltionen uf D sind. Gesucht ist eine Funktion f : [ l : l] [0 : l + 1] D, so dss f (m,0) = f 0 (m) für l m l (f (m,n),f (m + 1,n)) H für l m < l, 0 n l + 1 (f (m,n),f (m,n + 1)) V für l m l, 0 n l Eine solche Funktion f heißt D-Kchelung. 39 0 domino = { D D ist ein eschränktes Kchelprolem, für ds es eine D-Kchelung git} domino ist NP-vollständig. Sei A NP elieig. Wir müssen A P domino zeigen. A NP, d.h., es git eine nichtdeterministische Turing-Mschine M A = (K,Σ,Γ,,q s,q,q r ), die A in polynomieller Zeit p(n) entscheidet. Zu einer Einge w Σ konstruieren wir ein eschränktes Kchelprolem D mit l = p( w ), so dss eine Kchelung einer kzeptierenden Berechnung von M A entspricht. D.h., D esitzt eine Kchelung genu dnn wenn w A. Die Kchelreihen einer Kchelung repräsentieren relevnten Bndinhlt und Zustnd. f 0 stellt sicher, dss die unterste Kchelreihe dem Bndinhlt zu Beginn einer Berechnung von M A mit Einge w entspricht.
1 2 Detils: Sei Γ = {,..., }. Dnn git es in D die Kcheltypen (...,...,,...,L),,, Ferner git es Kcheltypen, die zu Üergängen in korrespondieren: (q i,σ j,,σ r,s) (q i,σ j,,σ r,l) (q i,σ j,,σ r,r) (...,...,,...,R),σ r σ r σ r,,, q i,σ j q i,σ j q i,σ j 3 Schließlich enthält D die Kcheltypen Beim Erreichen des verwerfenden Hltezustnds q r ist es nicht möglich, eine zugehörige Kchelreihe nch oen hin fortzusetzen. q s, q s, und q, q, q, q, Eine Reduktion τ A, die w Σ wie een eschrieen uf ein eschränktes Kchelsystem ildet, ist in Polynomilzeit erechenr, und es gilt für lle w Σ Kchelpre gehören zu H zw. V, wenn die zugehörigen Rndteile frlich und in der Beschriftung üereinstimmen, flls vorhnden. w A τ A (w) domino D A eine elieige Sprche us NP wr, hen wir somit gezeigt, dss lles Sprchen in NP in Polynomilzeit uf domino reduzierr sind. Es gilt ferner domino NP. 5 6 D enthält die folgenden Kcheltypen: Beispiel(e): ;, R q s ;, S ;, R ;, R ;, S q ;, R q ;, R q r q s q s q s q q,,, q s,, q r q s,, q, q r, q s q s q q s,, q s,, q,, q,, q,, q s, q s, q s, q, q,,,,,, q, q r, q r, q r, q s, r q r r,,,,, q s, q s, q, q, q,,, q,, q,, q, 7 8 (ε,q s,) M (ε,q,) M (ε,q,) M (ε,q s,ε) M (ε,q,ε) q, (ε,q s,) M (ε,q s,) M (ε,q,) M (ε,q,ε) M (ε,q r,ε) q, q, q r, q s, q s, q s q s q, q, q, q, q s, q s, q, q, q, q, q s, q s, q s q s q s, q s,
9 (ε,q s,) M (ε,q r,) q s, q s, q r q r, q r