Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.

Ähnliche Präsentationen


Präsentation zum Thema: "1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester."—  Präsentation transkript:

1 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/ Vorlesung Christian Schindelhauer

2 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 22-2 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Komplexitätstheorie - Zeitklassen Die Komplexitätsklassen TIME –DTIME, NTIME –P –NP Das Cook-Levin-Theorem –Polynomial-Zeit-Reduktion –Reduktion von 3SAT auf Clique –NP-vollständigkeit –SAT ist NP-vollständig Weitere NP-vollständige Probleme –Knotenüberdeckung (Vertex-Cover) –Das Hamiltonsche Pfadproblem –Das ungerichtete Hamiltonsche Pfadproblem –Das Teilsummenproblem

3 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 22-3 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Die Polynom-Zeit-Abbildungsreduktion Definition (Abbildungsreduktion, Polynomial Time Mapping Reduction, Many-one) –Eine Sprache A kann durch Abbildung auf eine Sprache B in Polynom-Zeit reduziert werden: A m,p B, falls es eine in Polynom-Zeit berechenbare Funktion f: * * gibt, so dass für alle w: w A f(w) B –Die Funktion f heißt die Reduktion von A auf B.

4 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 22-4 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Polynom-Zeit-Abbildungsreduktion, P & NP Theorem –Falls A m,p B und B ist in P, dann ist A auch in P. Theorem –Falls A m,p B und B ist in NP, dann ist A auch in NP.

5 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 22-5 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Besondere Boolesche Funktionen Literal: –ist eine einfache oder negierte Variable –z.B.: x, y, z, ¬x, ¬y, ¬z Klausel: –ist eine Disjunktion von Literalen –z.B.: x y, z ¬x ¬y, x ¬z Konjunktive Normalform (CNF) –Konjunktion von Klauseln –z.B.: (x y) (z ¬x ¬y) (x ¬z) k-konjunktive Normalform (k-CNF) –Konjunktion von Klauseln aus k Literalen, z.B. 3-CNF (x y y) (z ¬x ¬y) (x ¬z ¬z) Disjunktive Normalform (DNF) –Disjunktion aus Konjunktion von Literalen (x y) (z ¬x ¬y) (x ¬z)

6 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 22-6 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Das Erfüllbarkeitsproblem Boolescher Funktionen Eine Boolesche Funktion f(x 1,x 2,..,x n ) ist erfüllbar, wenn es eine Wertebelegung für x 1,x 2,..,x n gibt, so dass f(x 1,x 2,..,x n ) = 1 (x y) (z ¬x ¬y) (x ¬z) ist erfüllbar, da die Belegung x = 1, y = 0, z = 0 (1 0) (0 0 1) (1 1) = = 1 liefert. Definition (Satisfiability Problem of Boolean Formulas) –Das Erfüllbarkeitsproblem der Booleschen Funktion ist definiert als: –SAT = { | ist eine erfüllbare Funktion}, d.h. –Gegeben: Boolesche Funktion –Gesucht: Gibt es x 1,x 2,..,x n so dass (x 1,x 2,..,x n ) = 1 Spezialfall: 3-SAT –3-SAT = { | ist eine erfüllbare Funktion in 3-CNF} –z.B.:

7 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 22-7 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Der Satz von Cook und Levin Definition: –Eine Sprache S ist NP-vollständig (NP-complete) wenn: S NP S ist NP-schwierig d.h. für alle L NP: L m,p S Theorem (Cook/Levin) –SAT ist NP-vollständig

8 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 22-8 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Beweis-Strategie Definition: –Eine Sprache S ist NP-vollständig (NP-complete) wenn: S NP S ist NP-schwierig d.h. für alle L NP: L m,p S Theorem (Cook/Levin) –SAT ist NP-vollständig Beweis-Idee: –Sei L NP. Wir beweisen folgende Reduktionen: 1.Es gibt ein k, so dass L m,p A NTIME(n k ) 2.Für alle k: A NTIME(n k ) m,p A NTIME(n) 3. A NTIME(n) m,p PARKETT 4. PARKETT m,p FinPred 5. FinPred m,p SAT –Daraus folgt für alle L NP: L m,p S –Dann zeigen wir SAT NP

9 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 22-9 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Das Parkett-Problem Definition –Das Parkettproblem ist das Problem, eine gegebene quadratische Fläche mit Parkettstücken verschiedener Form lückenlos abzudecken –Auch bekannt als zweidimensionales Domino-Problem, also: Parkett-Teil S: 4-Tupel (S(1), S(2), S(3), S(4)) mit S(i) {0,1}* H(S,S) := S und S passen horizontal, d.h. S(2)=S(4) V(S,S) := S und S passen vertikal, d.h. S(3)=S(1) –Gegeben: Menge von Bauteilen M = {B 1,B 2,B 3,..., B k } Oberer Rand S 1,1,..., S 1,m Unterer Rand S m,1,..., S m,m –Gesucht: Gibt es eine Menge von Bauteilen S i,j, für i {1,..,m}, j {2,..,m-1} die passen, d.h. H(S i,j,S i,j+1 ) für alle i {1,..,m}, j {1,..,m-1} und V(S i,j,S i+1,j ) für alle i {1,..,m-1}, j {1,..,m}.

10 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Das Parkett-Problem

11 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer A NTIME(n) m,p PARKETT Betrachte NTM M –die nach der Berechnung das gesamte Band mit _ beschreibt –mit eindeutigen akzeptierenden Zustand q akz –und die am linken Rand der Eingabe akzeptiert

12 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer A NTIME(n) m,p PARKETT

13 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Beispielreduktion

14 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer A NTIME(n) m,p PARKETT Die Reduktionsfunktion: –Auf Eingabe 1-Band NTM M mit Zustandsmenge Q, Startzustand q 0 und akzeptierenden Zustand q akz welche in Linearzeit rechnet und die Eingabe löscht –und Eingabe x * 1. Erzeuge oberen und unteren Rand durch die Teile S 1,1 = (0, 0, 1 bin(x 1 ) bin(q 0 ), 0), S 1,i = (0, 0, 0 bin(x i ), 0) für i 2 S m,1 = (1 bin(_) bin(q akz ) 0, 0, 0, 0), S m,i = (0 bin(_), 0, 0, 0) für i 2 2. Erzeuge die folgenden Parkett-Teile –Standardzellen: (0z,0,0z,0) für alle z –Schiebezellen: (0 bin(z), 0, 1 bin(z) bin(q), 1 bin(q)) für alle z, q Q (0 bin(z), 1 bin(q), 1 bin(z) bin(q), 0) für alle z, q Q –Rechenzellen: Falls (q,z) (q,z,l) in der Übergangsfunktion von M: (1 bin(z) bin(q), 0, 0 bin(z), 1 bin(q)) –Falls (q,z) (q,z,r) in der Übergangsfunktion von M (1 bin(z) bin(q), 1 bin(q), 0 bin(z), 0) Laufzeit: O(n) (Reduktion besteht hauptsächlich aus Kopieren) Korrektheit: –Jede akzeptierende Berechnung ergibt eine vollständige Parkettierung –Jede vollständige Parkettierung kann einer akzeptierenden Berechnung zugeordnet werden

15 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer PARKETT m,p FinPred Endliches Prädikat –Ist eine Funktion P(x 1,...,x k ) die für Variablen x 1,...,x k {0,1} p die Wert 0 (falsch) oder 1 (wahr) liefert –Wir beschränken uns auf die folgenden Prädikate auf Konstanten oder Variablen Element : Für x,y 1,...,y k {0,1} p : für Konstanten y 1,...,y k und Variable x Element (x, y 1,...,y k ) := 1 gdw x {y 1,...,y k } Teile sind gleich: Für Variablen x,y {0,1} p mit x= x 1,...,x p und y= y 1,...,y p Teilgleich a,b,c (x,y) = (x a = y b ) (x a+1 = y b+1 )... (x b+c-1 = y b+c-1 ) Definition FinPred (Endliche Prädikate) –Gegeben: Eine Menge von endlichen Prädikaten –Gesucht: Gibt es eine Belegung der Variablen x 1,...,x k {0,1} p so dass alle Prädikate erfüllt werden Lemma –PARKETT m,p FinPred Beispiel: –Element (x,010,100,111) –Element (y,110,000) –Teilgleich 2,3,1 (x,y) –Element (z,110,011,101) –Teilgleich 1,2,2 (x,z) Lösung: –x = 100 –y = 110 –z = 110 –Teilgleich 2,3,1 (x,y) x= 100, y=110 –Teilgleich 1,2,2 (x,z) x= 100, z=110

16 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer PARKETT m,p FinPred Lemma –PARKETT m,p FinPred Reduktion –PARKETT ist gegeben als Menge von Bauteilen M = {B 1,B 2,B 3,..., B k } Ränder S 1,1,..., S 1,m und S m,1,..., S m,m –Verwende für alle Ränder Zeichenketten gleicher Länge p –Kodiere ein Bauteil S als Zeichenkette S= S(1)S(2)S(3)S(4) –Seien V i,j Variablen aus {0,1} 4p –Füge Prädikate ein: Element (V 1,i,S 1,i ) für alle i {1,..,m} Element (V m,i,S m,i ) für alle i {1,..,m} Element (V i,i, B 1,B 2,B 3,..., B k ) für alle i {2,..,m-1}, j {1,..,m} Teilgleich p+1,3p+1,p (V i,i,V i,i+1 ) für alle i {1,..,m}, j {1,..,m-1} d.h. horizontal passend S(2)= S(4) Teilgleich 2p+1,1,p (V i,i,V i+1,i ) für alle i {1,..,m-1}, j {1,..,m} d.h. vertikal passend: S(3)=S(1) Korrektheit: –folgt aus der einfachen aussagenlogischen Umformung Laufzeit: –O(n 2 ), hauptsächlich Erstellen durch der O(m 2 ) Prädikate Teilgleich

17 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer FinPred m,p SAT Definition SAT –Gegeben Eine Menge von Booleschen Variablen x 1,..., x n Eine Boolesche Funktion –Gesucht Gibt es eine Belegung von x 1,..., x n, für welche (x 1,..., x n )=1 Lemma –FinPred m,p SAT Beweis: Reduktion: –Forme jedes Prädikat als Boolesche Funktion um Ersetze Element (x, y 1,...,y k ) für x {0,1} p durch Teilgleich 1,1,p (x, y 1 ) Teilgleich 1,1,p (x, y 2 )... Teilgleich 1,1,p (x, y k ) Ersetze Teilgleich a,b,c (x, y) für x= x 1,...,x p und y= y 1,...,y p durch [x a = y b ] [x a+1 = y b+1 ]... [x a+c-1 = y b+c-1 ] Ersetze [x i = y i ] durch (x i y i ) ( x i y i ) –Ver-unde alle entstehenden Booleschen Prädikate T 1, T 2,..., T r : T 1 T 2... T r Laufzeit: O(n) Korrektheit: folgt aus der Äquivalenz der Umformungen

18 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Beweis-Strategie Definition: –Eine Sprache S ist NP-vollständig (NP-complete) wenn: S NP S ist NP-schwierig d.h. für alle L NP: L m,p S Theorem (Cook/Levin) –SAT ist NP-vollständig Beweis-Idee: –Sei L NP. Wir beweisen folgende Reduktionen: 1.Es gibt ein k, so dass L m,p A NTIME(n k ) 2.Für alle k: A NTIME(n k ) m,p A NTIME(n) 3. A NTIME(n) m,p PARKETT 4. PARKETT m,p FinPred 5. FinPred m,p SAT –Daraus folgt für alle L NP: L m,p SAT ? –Jetzt zeigen wir SAT NP

19 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Transitivität von Abbildungsreduktion Lemma: –Aus A m,p B und B m,p C folgt A m,p C. Beweis: –Sei f die Reduktionsfunktion von A nach B –Sei g die Reduktionsfunktion von B nach C –Dann ist g f die Reduktionsfunktion von A nach C. –Korrektheit: x A f(x) B g(f(x)) C –Laufzeit: f(x) kann in Zeit O(|x| k ) berechnet werden g(y) kann in Zeit O(|y| k ) berechnet werden |f(x)| |x| k Damit hat g(f(x)) die Laufzeit O(|f(x)| k ) = O(|x| k k )

20 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer SAT NP Folgende NTM löst das SAT-Problem: –Auf Eingabe der Funktion (x 1,x 2,...,x n ) –Rate nichtdeterministisch eine Belegungen aller Variablen x 1,x 2,...,x n –Setze diese Belegung ein –Falls (x 1,x 2,...,x n ) =1 akzeptiere –Sonst, verwerfe Laufzeit: –Die Laufzeit der NTM ist linear, da Boolesche Funktion in Linearzeit ausgewertet werden können Korrektheit –Falls die Formel erfüllbar ist, wird die Belegung durch Nichtdeterministisches Raten gefunden –Ist die Formel nicht erfüllbar, wird niemals akzeptiert Damit ist SAT als erstes NP-vollständiges Problem identifiziert worden.

21 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer SAT m,p 3-SAT Reduktionsfunktion –Füge für jede Konjunktion oder Disjunktion zweier Teilterme eine neue Variable ein –Stelle für alle die Gleichungen auf x = y z oder x = y z, wobei x,y,z Literale sind –Stelle alle Gleichungen als Klauseln dar mit Literalen x,y,z: x = y z äquivalent zu (x (y z)) ( x (y z)) wird dargestellt als Klauseln: (x x y) (x x z) ( x y z) x = y z äquivalent zu (x (y z)) ( x (y z)) wird dargestellt als Klauseln: (x y z) ( x x y) ( x x z)

22 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer SAT m,p 3-SAT

23 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer SAT m,p 3-SAT Reduktionsfunktion –Füge für jede Konjunktion oder Disjunktion zweier Teilterme eine neue Variable ein –Stelle für alle die Gleichungen auf x = y z oder x = y z, wobei x,y,z Literale sind –Stelle alle Gleichungen als Klauseln dar mit Literalen x,y,z: x = y z wird dargestellt als Klauseln: (x x y) (x x z) ( x y z) x = y z wird dargestellt als Klauseln: (x y z) ( x x y) ( x x z) Korrektheit: –folgt aus der Äquivalenz der Teilformeln Zeitaufwand zur Berechnung der Reduktion: –Zerlegen der Teilformeln in Gleichungssysteme: O(n 2 ) –Umwandeln der Gleichungen in 3-KNF: O(n)

24 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Theorem: 3-SAT ist NP-vollständig Beweis: –SAT m,p 3-SAT impliziert dass jedes NP-Problem auf 3-SAT reduziert werden kann daher ist 3-SAT NP-schwierig –3-SAT m,p SAT ist trivial: jede 3-KNF ist eine Boolesche Funktion ist Da SAT NP folgt: 3-SAT NP –Damit ist 3-SAT NP-vollständig

25 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Theorem: PARKETT ist NP-vollständig Beweis: –Wir haben bewiesen: Für alle L NP gilt: L m,p PARKETT Damit ist PARKETT NP-schwierig (nach Definition) –Anderseitis: PARKETT m,p SAT Da SAT NP, folgt PARKETT NP –Damit ist PARKETT NP-vollständig

26 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Theorem: CLIQUE ist NP-vollständig Definition CLIQUE: –Gegeben: Ein ungerichteter Graph G Eine Zahl k –Gesucht: Hat der Graph G eine Clique der Größe k? Beweis: –Wir haben bereits bewiesen: 3-SAT m,p CLIQUE 3-SAT ist NP-schwierig Dann ist CLIQUE auch NP-schwierig –Zu beweisen: CLIQUE ist in NP Konstruiere Verizierer: Sei v 1,v 2,..,v k eine beliebige Knotenmenge der Größe k Sei die Instanz von CLIQUE Verifiziere, ob die Knoten v 1,v 2,..,v k verschieden sind und ob alle Kanten zwischen den Knoten existieren Laufzeit: O(n 2 )

27 27 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Heinz Nixdorf Institut & Institut für Informatik Universität Paderborn Fürstenallee Paderborn Tel.: / Fax: / Vielen Dank Ende der 22. Vorlesung Nächste Vorlesung: Mo Nächste Zentralübung: Mi Nächste Miniklausur:Mi


Herunterladen ppt "1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester."

Ähnliche Präsentationen


Google-Anzeigen