Algebraische Graphentheorie und Komplexitätstheorie Dr. Markus Severitt L A TEX-Mitschrift von Christina und Jan

Größe: px
Ab Seite anzeigen:

Download "Algebraische Graphentheorie und Komplexitätstheorie Dr. Markus Severitt L A TEX-Mitschrift von Christina und Jan"

Transkript

1 1 Algebraische Graphentheorie und Komplexitätstheorie Dr. Markus Severitt L A TEX-Mitschrift von Christina und Jan Dies ist unsere Vorlesungsmitschrift der Veranstaltung Algebraische Graphentheorie und Komplexitätstheorie (Graphentheorie II) von Herrn Dr. Severitt, gelesen im Wintersemester 2011/2012. Das Dokument ist weder final, noch fehlerfrei. Kontaktinformationen und eventuell aktuellere Versionen sind auf cnaundor bzw. jgoepfer zu finden. Dort befindet sich ebenfalls eine Mitschrift zur Vorläuferveranstaltung Graphentheorie, gelesen im Sommersemester Weil im Sommersemester 2013 wieder eine Veranstaltung Graphentheorie gehalten werden wird, haben wir diese Mitschrift technisch leicht überarbeitet. Anmerkungen und Verbesserungsvorschläge sind deutlich erwünscht. Christina und Jan Januar 2013

2

3 Inhaltsverzeichnis 3 Inhaltsverzeichnis 1 N P-Vollständigkeit Motivation Sprachen und Turing-Maschinen Reduzierbarkeit und die Unentscheidbarkeit des Halteproblems Nicht-deterministische Turingmaschinen Laufzeiten und Effizienz von Algorithmen N P-Vollständigkeit und das Erfüllbarkeitsproblem Das Färbbarkeitsproblem Das Hamilton-Pfad(-Kreis)-Problem Färbungen von Produkten Summen und Produkte revisited Exponentialgraphen Hedetniemis Vermutung Rundflüsse und Spannungen Algebraische Grundlagen Rundflüsse und Spannungen von Multidigraphen Rundflüsse und Spannungen von Multigraphen Die Struktur des Rundfluss- und Spannungsmoduls Die Vektorraumstruktur des Rundfluss- und des Spannungsraums Das Flusspolynom k-flüsse und die Flusszahl Dualitätstheorie Geometrische Duale Die N P-Vollständigkeit des 3-Flussproblems Algebraische Duale

4

5 5 1 N P-Vollständigkeit 1.1 Motivation Entscheidungsprobleme {(a, b) a + b = 0} N N (3-FARB) (HAM) (CLIQUE) {G Z(G) 3} Graphen {G G hat Hamilton-Kreis } Graphen {(G, K) G enthält K-Clique} Graphen N Aufgabe: Entscheide rechnerisch (algorithmisch), ob etwa für G Graphen gilt: χ(g) 3 oder χ(g) 4 Also: Algorithmisch die Teilmengenzugehörigkeit entscheiden. 2 Problemklassen: P= Entscheidungsprobleme, die deterministisch algorithmisch in polynomieller Laufzeit entscheidbar sind. N P= Entscheidungsprobleme, die nicht-deterministisch algorithmisch in polynomieller Laufzeit entscheidbar sind. Nicht-deterministisch heißt: der Algorithmus darf raten. Zum Beispiel 3-FARB.

6 6 KAPITEL 1. N P-VOLLSTÄNDIGKEIT Es gilt: Frage: Gilt P = N P? Ein Problem heißt N P-vollständig, wenn: i) Es ist ein N P-Problem P N P. ii) Es ist mindestens so schwer wie alle anderen N P-Probleme Beispiel. 3-FARB, HAM, CLIQUE, Travelling-Salesman, Erfüllbarkeitsproblem der Aussagenlogik Fragen: Was ist ein Algorithmus? Was ist Laufzeit? Was heißt mindestens so schwer wie? 1.2 Sprachen und Turing-Maschinen Defintion. Ein Alphabet Σ ist eine endliche Menge. Sei Σ ein Alphabet, i 1: ist die Menge der Worte der Länge i. Σ i := {w 1... w i w s Σ} i = 0 : Σ 0 = {ε} ε ist das leere Wort mit Länge 0. Für w = w 1... w i ist w = i die Länge von w Eine Sprache L über einem Alphabet Σ ist eine Teilmenge L Σ Beispiel. L = {a i b j i, j 0} {a, b} (a 0 = ε) L = {a i b i i 0} {a, b} L = {(a, b) a + b = 0} N N {0, 1} {0, 1} {0, 1, #} : (v, w) v#w L = {G χ(g) 3} Graphen Adjazenzmatrix Matrizen mit Einträgen 0, 1 {0, 1, #} v 1... v 1 #v 2 #... #v n v n

7 1.2. SPRACHEN UND TURING-MASCHINEN Defintion. Sei G = (V, E) ein Graph. Die Adjazenzmatrix A ist die V V - Matrix { 1, v G w A = (a vw ) (v,w) V V : a vw = 0, sonst A = #1010#0101# Allgemeine Aufgabe: Gegeben eine Sprache L über Alphabet Σ. Entscheide algorithmisch, ob für w Σ gilt: w L oder w L Bemerkung. Sei Σ ein geordnetes Alphabet. Dann ist Σ lexikographisch geordnet, wobei für w 1, w 2 mit w 1 w 2 und w 2 > w 1 w 2 > w 1 Beispiel: Σ = {0, 1}, 0 < 1. Aufsteigend: Damit: Σ ist abzählbar. ε, 0, 1, 00, 01, 10, 11, 000, 001, Übungsaufgabe. Sei Σ fixiert. Die Menge aller Σ-Sprachen ist überabzählbar Turing-Maschine (Alan Turing, 1936) Eine Turingmaschine besteht aus einem unendlichen Band mit Einträgen aus dem Alphabet Γ oder dem Blanksymbol und einem programmgesteuerten Lese- und Schreibkopf, der sich auf dem Speicherband feldweise bewegen und die Zeichen verändern kann. Input = w Σ, Σ Γ. Schreibe das auf das Band. Start der Maschine: w = w 1... w i

8 8 KAPITEL 1. N P-VOLLSTÄNDIGKEIT Zustände: q 0 Startzustand Endzustände: q accept : akzeptiert, q reject : lehnt ab Übergangsfunktion (Zustand, Input-Buchstaben) Beispiel. Input = n N binär kodiert (Σ = {0, 1}) ( Zustand, Output, links/rechts-bewegung vom Kopf 1. Gehe nach rechts solange, bis das Ende des Inputs erreicht ist. { 0 akzeptiert 2. Ist der letzte Buchstabe eine 1 lehnt ab Diese Turingmaschine entscheidet, ob n gerade ist oder nicht Defintion. Eine Turing-Maschine ist ein 7-Tupel wobei M = (Q, Σ, Γ, δ, q 0, q accept, q reject ) 1. Q endliche Zustandsmenge mit q 0, q acc, q rej Q 2. Σ Input-Alphabet mit Σ 3. Γ Bandalphabet mit Σ Γ und Γ (Blanksymbol) 4. Übergangsfunktion 5. q 0 Q Startzustand 6. q accept : akzeptierender Zustand 7. q reject ( q acc ): ablehnender Zustand δ : Q {q acc, q rej } Γ Q Γ {L, R} Bemerkung. Befindet sich M in q acc oder q rej, so hält M an, daher ist δ auf Q {q acc, q rej }. Die Menge aller Turingmaschinen mit fixiertem Input-Alphabet Σ ist abzählbar Notation. Ist δ(q, γ) = (q, γ, L/R), schreibe: )

9 1.2. SPRACHEN UND TURING-MASCHINEN 9 γ γ, L/R q q Beispiel revisited: Σ = {0, 1}, Γ = {0, 1, } Q = {q 0, q 1, q acc, q rej } 0, 1 R q 0 L q 1 0 R 1, R q acc q rej

10 10 KAPITEL 1. N P-VOLLSTÄNDIGKEIT Erinnerung. Eine Turingmaschine M ist ein 7-Tupel M = (Q, Σ, Γ, δ, q 0, q acc, q rej ) δ : Q {q acc, q rej } Γ Q Γ {L, R} Defintion. Sei M eine Turingmaschine. i) Eine Konfiguration (von M) ist C = uqv mit u, v Γ, q Q Interpretation: u, v Bandinhalt. Maschine ist im Zustand q. Vereinbarung: uqv = uqv = uqv ii) Eine Konfiguration C heißt akzeptierend, falls C = uq acc v und ablehnend, falls C = uq rej v. iii) Für w Σ ist C = q 0 w die Startkonfiguration Defintion. Seien C, C Konfigurationen einer Turingmaschine M. i) C geht durch M direkt aus C hervor, notiert C M C falls: a) C = uaq i bv, C = uq j acv mit u, v Γ, a, b, c Γ und δ(q i, b) = (q j, c, L) b) oder C = uaq i bv, C = uacq j v und δ(q i, b) = (q j, c, R) ii) C geht (durch M) aus C hervor, notiert C C, falls Konfigurationen C 1,..., C k existieren mit: a) C 1 = C, C k = C b) C i M C i+1 i = 1,..., k 1

11 1.2. SPRACHEN UND TURING-MASCHINEN Beispiel. Σ = {0, 1} 0, 1 R q 0 L q 1 0 R 1, R q acc q rej q 0 01 ist die Startkonfiguration von w w = 01 {0, 1} q 0 01 M 0q 0 1 M 01q 0 M 0q 1 1 M 01q rej Defintion. Sei M eine Turingmaschine, w Σ. i) M akzeptiert w, falls eine akzeptierende Konfiguration C existiert mit q 0 w C. ii) M lehnt w ab, falls eine ablehnende Konfiguration C existiert mit q 0 w C Bemerkung. Gegeben eine Turingmaschine M und w Σ. Es treten 3 disjunkte Fälle auf: 1. M akzeptiert w 2. M lehnt w ab 3. M gerät bei Input w in eine Endlosschleife Beispiel. Σ = {a}, Γ = {a, }

12 12 KAPITEL 1. N P-VOLLSTÄNDIGKEIT q 0 a, R a, R q 1 q rej q acc Für diese Turingmaschine existiert nur Fall 3. (Endlosschleife) Zu Beispiel : Für w {0, 1} gilt: m akzeptiert w w = w 1 w i mit w i = 0 m lehnt w ab w = ε oder w = w 1 w i mit w i = 1 Das heißt, für diese Turingmaschine tritt Fall 3 nie ein Defintion. Sei M eine Turingmaschine, Σ ein Input-Alphabet. i) L(M) := {w Σ M akzeptiert w} Σ heißt die von M akzeptierte (erkannte) Sprache. Die Turingmaschinen M, M heißen äquivalent, falls L(M) = L(M ). ii) L Σ heißt Turing-erkennbar, falls eine Turingmaschine M existiert mit L = L(M). iii) M heißt Entscheider, falls gilt: u Σ L(M) : M lehnt u ab iv) L Σ heißt (Turing-)entscheidbar, falls ein Entscheider M existiert mit L = L(M) Beispiel. Beispiel entscheidet Sei M die Turingmaschine L = {w 1 w i w i = 0} {0, 1}

13 1.2. SPRACHEN UND TURING-MASCHINEN 13 0, 1 R q 0 1, R L q 1 0 R q acc q rej Dann gilt L(M ) = L, aber M entscheidet L nicht Satz. i) L Σ ist entscheidbar L und L := Σ L sind Turing-erkennbar. ii) L Σ ist entscheidbar L = Σ L ist entscheidbar. Beweis. (ii): ist klar oder folgt aus (i). (i): klar: nimm einen Entscheider M für L M = Input w Σ 1. Lasse M auf w los. 2. Akzeptiert M w, so lehne ab. 3. Lehnt M w ab, so akzeptiere. Sei M 1 ein Erkenner von L, das heißt L(M 1 ) = L und sei M 2 ein Erkenner von L, das heißt L(M 2 ) = L. Konstruiere eine neue Turingmaschine N. N = Input w Σ 1. Lasse parallel M 1 und M 2 auf w los. (parallel heißt: abwechselnd ein Rechenschritt) 2. Akzeptiert M 1, akzeptiere. 3. Akzeptiert M 2, lehne ab. Dann ist N ein Entscheider mit L(N) = L.

14 14 KAPITEL 1. N P-VOLLSTÄNDIGKEIT Bemerkung. Die Menge aller Turingmaschinen ist abzählbar Übungsaufgabe. Die Menge aller Σ-Sprachen ist überabzählbar. Das heißt, es existieren nicht Turing-erkennbare Σ-Sprachen. Insbesondere existieren unentscheidbare Σ-Sprachen Beispiel. L := {a 2n n 1} {a} Informelle Angabe eines L-Entscheiders: Σ = {a}, Γ = {a,, x} M = Input w {a}. 1. Laufe nach rechts und ersetze jedes zweite a durch x. 2. Falls in 1. ungerade Anzahl von a s übrig bleibt, lehne ab. 3. Gehe zurück nach links. Falls genau ein a vorkommt, akzeptiere. Sonst gehe zu 1. x L x, a L q 5 a L q 4 R q acc R a L q 3 x L x R q 0 a x, R q 1 a x, R q 2 a R x R L R, x R R q rej L(M) = {a 2n n 1} {a}

15 1.3. REDUZIERBARKEIT UND DIE UNENTSCHEIDBARKEIT DES HALTEPROBLEMS Reduzierbarkeit und die Unentscheidbarkeit des Halteproblems Ziel: Das Problem HALT TM := {(M, w) M ist TM und M hält bei Input w} TM Inputs ist unentscheidbar. Dafür: Turingmaschinen müssen (berechenbar) als Zeichen-Ketten injektiv codiert werden: Alphabet {0, 1, #} oder {0, 1}. Genauer: Q = {q 0, q 1,..., q n } Σ = {δ 1,..., δ m } TM {0, 1} M M soll berechenbar sein Spezielle Form des Halteproblems A T M := {(M, w) M akzeptiert w} TM Inputs Bemerkung. A T M ist Turing-erkennbar. N = Input (M, w) 1. Simuliere M auf w. 2. Falls M w akzeptiert: akzeptiere. 3. Falls M w ablehnt: lehne ab. Also: L(N) = A T M Satz. A T M ist unentscheidbar. Beweis. Angenommen, H sei ein A T M -Entscheider, d.h. { akzeptiert falls M w annimmt H(M, w) = lehnt ab sonst Konstruiere nun eine Turingmaschine D, die entscheidet, was M angesetzt auf M (M codiert) tut. D = Input M

16 16 KAPITEL 1. N P-VOLLSTÄNDIGKEIT 1. Wende H auf (M, M ) an. 2. akzeptiert H, lehne ab 3. lehnt H ab, akzeptiere Also: Widerspruch! { akzeptiert D(M) = lehnt ab { akzeptiert D( D ) = lehnt ab falls M M nicht akzeptiert falls M M akzeptiert falls D D nicht akzeptiert falls D D akzeptiert Nächstes Ziel: A T M unentscheidbar HALT TM unentscheidbar.

17 1.3. REDUZIERBARKEIT UND DIE UNENTSCHEIDBARKEIT DES HALTEPROBLEMS Erinnerung. ist unentscheidbar. Ziel: ist unentscheidbar. A T M = {(M, w) M akzeptiert w} T M Inputs HALT T M = {(M, w) M hält auf w} Defintion. Sei Σ ein Alphabet. Eine Funktion f : Σ Σ heißt (Turing-)berechenbar, falls eine Turingmaschine M existiert so, dass w Σ gilt: M stoppt auf w mit Bahninhalt f(w) Beispiel. {0, 1} {0, 1} {0, 1} (w, v) w + v im Sinne der Binärdarstellung von natürlichen Zahlen ist berechenbar. Anmerkung: {0, 1} {0, 1} {0, 1, #}... (w, v) w#v Defintion. A, B seien Σ-Sprachen. A ist abbildungsreduzierbar auf B, notiert A m B, falls eine berechenbare Funktion f : Σ Σ existiert mit: Solch ein f heißt Reduktion Satz. w Σ : w A f(w) B A T M m HALT T M Beweis. Man braucht eine berechenbare Funktion so, dass gilt: f(m, w) = (M, w ) M akzeptiert w (M, w) A T M! (M, w ) HALT T M M hält auf w Die folgende Turingmaschine K definiert f: K = Input (M, w)

18 18 KAPITEL 1. N P-VOLLSTÄNDIGKEIT 1. Konstruiere M wie folgt: Input x a) Simuliere M auf x b) akzeptiert M, so akzeptiere c) lehnt M ab, so gehe in eine Endlosschleife 2. Output: (M, w) Es gilt (M, w) A T M M akzeptiert w M hält auf w (M, w) HALT T M Proposition. Seien A, B Σ-Sprachen mit A m B, dann gilt: 1. Ist B Turing-erkennbar, so auch A. 2. Ist B Turing-entscheidbar, so auch A. Beweis. Sei f : Σ Σ eine Reduktion von A auf B und sei M ein Erkenner bzw. Entscheider für B. Definiere eine Turingmaschine N wie folgt: N = Input w Σ 1. Berechne f(w). 2. Wende M auf f(w) an. 3. akzeptiert M, so akzeptiere. 4. lehnt M ab, so lehne ab. Es gilt: Für 2.: (M ist B-Entscheider) w A f(w) B w A f(w) B M akzeptiert f(w) N akzeptiert w L(N) = A (1.) M lehnt f(w) ab N lehnt w ab N ist A-Entscheider. (2.) Korollar. Da A T M m HALT T M und A T M unentscheidbar ist, ist auch HALT T M unentscheidbar.

19 1.4. NICHT-DETERMINISTISCHE TURINGMASCHINEN Nicht-deterministische Turingmaschinen Idee: Die Übergangsfunktion δ : Q {q acc, q rej } Γ Q Γ {L, R} ist nicht mehr deterministisch, sondern bietet (endlich viele) Optionen Defintion. Eine nicht-deterministische Turingmaschine ist ein 7-Tupel wobei M = (Q, Σ, Γ, δ, q 0, q accept, q reject ) 1. Q endliche Zustandsmenge mit q 0, q acc, q rej Q 2. Σ Input-Alphabet mit Σ 3. Γ Bandalphabet mit Σ Γ und Γ (Blanksymbol) 4. Übergangsfunktion δ : Q {q acc, q rej } Γ P(Q Γ {L, R}) Das ist der einzige Unterschied zur deterministischen Turingmaschine! 5. q 0 Q Startzustand 6. q accept : akzeptierender Zustand 7. q reject ( q acc ): ablehnender Zustand Interpretation: Für (q, j) ist δ(q, j) die Menge der möglichen Übergänge Bemerkung. Jede deterministische Turingmaschine ist auch eine nicht-deterministische Turingmaschine Defintion. Sei M eine nicht-deterministische Turingmaschine und seien C, C Konfigurationen. 1. C M C, falls: a) C = uaq i bv, C = uq j acv und (q j, c, L) δ(q i, b) b) C = uaq i bv, C = uacq j v und (q j, c, R) δ(q i, b) 2. C C, falls Konfigurationen C 1,..., C k existieren mit: C 1 = C, C k = C, C i M C i+1 3. M hält auf w, falls keine unendliche Kette von Konfigurationen C 1,..., C k,... existiert mit: q 0 w M C 1 M C 2 M C 3 M M C k M...

20 20 KAPITEL 1. N P-VOLLSTÄNDIGKEIT 4. M akzeptiert w, falls eine akzeptierende Konfiguration C existiert mit q 0 w C Bemerkung. Im Allgemeinen gilt: Aus M akzeptiert w folgt nicht M hält auf w Beispiel. Σ = {a} a, R q 1 q 0 a, R q acc a, L Veranschaulichung Für eine nicht-deterministische Turingmaschine angesetzt auf w ergibt sich ein Rechenbaum: q 0 w C 1 C 2 C 3 Mit {C 1, C 2, C 3 } = {C q 0 w M C} usw. Es gilt: Defintion. M hält auf w der Baum ist endlich M akzeptiert w gerichteter Pfad q 0 w C mit C akzeptierend 1. Sei M eine nicht-deterministische Turingmaschine. L(M) := {w Σ M akzeptiert w} 2. M entscheidet L(M) M hält auf allen w Σ. L(M) heißt dann entscheidbar und M ist ein Entscheider für L(M) Proposition. Sei M eine nicht-deterministische Turingmaschine. Dann existiert eine deterministische Turingmaschine M mit L(M) = L(M )

21 1.5. LAUFZEITEN UND EFFIZIENZ VON ALGORITHMEN 21 Ist M ein Entscheider, so existiert ein deterministischer Entscheider M mit L(M) = L(M ) Idee: Führe für gegebenen Input w Σ eine Suche im Rechenbaum nach einer akzeptierenden Konfiguration durch. Schlechte Idee: Tiefensuche. Besser: Breitensuche. M = Input w Σ 1. Führe Breitensuche im Rechenbaum von M auf w durch. 2. Wird akzeptiertende Konfiguration gefunden: akzeptiere. L(M) = L(M ) Sei nun M ein Entscheider von L(M) (Rechenbaum ist endlich): 3. wird keine akzeptierende Konfiguration gefunden: lehne ab. Dann ist M auch ein deterministischer Entscheider für L(M) Korollar. Sei L Σ eine Sprache. Dann gilt: 1. L ist Turing-erkennbar L ist nicht-deterministisch Turing-erkennbar. 2. L ist entscheidbar L ist nicht-deterministisch entscheidbar. 1.5 Laufzeiten und Effizienz von Algorithmen Defintion. Sei M eine nicht-deterministische Turingmaschine, die Entscheider ist, also auf allen w Σ hält. Die Laufzeit von M ist eine Funktion f : N N mit f(n) := max { k w Σ mit w = n und C 1,..., C k mit q 0 w M C 1 M C 2 M M C k } Beispiel. Σ = {0, 1}, f(n) = n + 2

22 22 KAPITEL 1. N P-VOLLSTÄNDIGKEIT 0, 1 R q 0 L q 1 0 R 1, R q acc q rej Bemerkung. 1. Es wird der worst case betrachtet. 2. Sei M ein nicht-deterministischer Entscheider mit definierter Simulation M durch Breitensuche. Dann gilt: Hat M Laufzeit f(n), so hat M Laufzeit r f(n), wobei r = 2 Q Γ.

23 1.5. LAUFZEITEN UND EFFIZIENZ VON ALGORITHMEN Erinnerung. Sei M = (Q, Σ, Γ,... ) ein nicht-deterministische Turingmaschine mit Laufzeit f(n). Sei M die deterministische Simulation über Breitensuche. Dann ist die Laufzeit von M r f(n), wo r = 2 Q Γ Beispiel. Betrachte wieder die Turingmaschine M aus Beispiel Für die Laufzeit von M gilt: Der worst case tritt ein für w = a 2m, m 1. In diesem Fall durchläuft der Algorithmus m 1 Halbierungsphasen (1. Schritt) mit m = log 2 w. Jedes Durchlaufen der Schritte 1. und 2. des Algorithmus entspricht 2 w Schritten der Turingmaschine. f(n) 2 n (log 2 n 1) Defintion. Sei g : N R + eine Funktion. O(g(n)) := {f : N R + c, n 0 N >0 mit: n n 0 ist f(n) c g(n)} Notation: f(n) O(g(n)). Schreibe f(n) = O(g(n)) Bemerkung Beispiel. 1. f(n) = O(g(n)) O(f(n)) O(g(n)) f(n) = O(g(n)) und g(n) = O(f(n)) O(f(n)) = O(g(n)) n + 2 = O(n) (c = 2, n 0 = 3) 2. 2 (log 2 n 1) n = O(n log 2 n) 3. Übungsaufgabe: f(n) sei ein Polynom vom Grad k f(n) = O(n k )

24 24 KAPITEL 1. N P-VOLLSTÄNDIGKEIT Schreibe nur O(log n) n k 1 = O(n k ) log b n = log 2 n log 2 b log b n = O(log 2 n) und log 2 n = O(log b n) O(log b n) = O(log 2 n) Defintion. Sei M eine nicht-deterministische Turingmaschine. M hat O(g(n))- Laufzeit, falls für die Laufzeit f(n) von M gilt: f(n) = O(g(n)) Beispiel. Beispiel hat O(n)-Laufzeit. Beispiel hat O(n log n)- Laufzeit Defintion. Sei t: N R + ein Funktion. TIME(t(n)) := {L Σ determinischer L-Entscheider mit O(t(n))-Laufzeit} NTIME(t(n)) := {L Σ nicht-det. L-Entscheider mit O(t(n))-Laufzeit} Bemerkung. 1. TIME(t(n)) NTIME(t(n)) 2. Wir wissen nun: Für L NTIME(t(n)) r mit L TIME(r t(n) ) Beispiel. 1. L = {w 1 w i w i = 0} {0, 1} ist in TIME(n) 2. L = {a 2n n 1} a ist in TIME(n log n) Bemerkung. Ist f(n) = O(g(n)), dann gilt: Beispiel. TIME(f(n)) TIME(g(n)) NTIME(f(n)) NTIME(g(n)) TIME(n k 1 ) TIME(n k ) NTIME(n k 1 ) NTIME(n k )

25 1.5. LAUFZEITEN UND EFFIZIENZ VON ALGORITHMEN Defintion Bemerkung. 1. P N P P := N P := TIME(n k ) k=0 NTIME(n k ) k=0 2. Unter Wechsel von Maschinen-Modellen, etwa: 1-bändige Turingmaschine 2-bändige Turingmaschine, sind die Klassen TIME(n k ) und NTIME(n k ) mit fixiertem k nicht invariant. Aber: P und N P sind invariant. Das heißt, um L P oder L N P zu zeigen, reicht eine hight level -Beschreibung eines Algorithmus zusammen mit einer Laufzeituntersuchung. Zum Beispiel in Graphentheorie I: Breiten und Tiefensuche, Ford-Fulkerson-Algorithmus, Einbettungsalgorithmus Satz. {G G ist zusammenhängend} Graphen ist in P. Beweis. Angabe eines polynomiellen deterministischen Entscheiders. Input: Graph G 1. Wähle Knoten v V (G). 2. Wende Tiefensuche auf (G, v) an. 3. Wird jeder G-Knoten aufgelistet: akzeptiere. Falls nicht: lehne ab. Laufzeit: Wir erinnern uns an den Tiefensuch-Algorithmus. Start: v 0 = v Ist v 0,..., v i schon aufgelistet, wähle j maximal(tiefensuche)/minimal(breitensuche) so, dass v j einen Nachbarn w hat, der nicht unter den v 0,..., v i ist. Setze v i+1 := w. Der Input ist eigentlich die Adjazenzmatrix eines Graphen, also ist die Eingabegröße n = V (G) 2. Um zu zeigen, dass die Turingmaschine polynomielle Laufzeit hat reicht es aber, als Eingabegröße n = G = V (G) anzunehmen. n-mal wird eine Liste v 0,..., v i betrachtet. Die Länge der Liste ist immer n. Es werden n Schritte gemacht, um v j von v 0,..., v i zu untersuchen. Pro v j -Nachbar w ( n viele) wird v 0,..., v i durchgegangen ( n Schritte), um zu schauen, ob w {v 0,..., v i } Also liegt die Laufzeit des Algorithmus in O(n 4 ) Frage: Wie zeigt man in der Praxis, dass eine Sprache L N P ist? Defintion. 1. Sei L Σ eine Sprache. Ein Verifizierer V für L ist eine 2-stellige deterministische Turingmaschine (d.h.: V (w, c), w Σ, c Σ ) so, dass L = {w Σ c Σ mit V (w, c) akzeptiert} Ein c so, dass V (w, c) akzeptiert heißt Zeuge für w L.

26 26 KAPITEL 1. N P-VOLLSTÄNDIGKEIT 2. Ein L-Verifizierer V heißt polynomiell, falls V in w polynomielle Laufzeit hat, das heißt, es existiert ein Polynom f(n) so, dass c Σ V (, c) Laufzeit f(n) hat. 3. L Σ heißt polynomiell verifizierbar, falls ein polynomieller Verifizierer V von L existiert Bemerkung. Sei V ein polynomieller Verifizierer mit Laufzeit von allen V (, c) f(n), so ist die Größe eines w-zeugen c durch f( w ) begrenzt. Denn V kann nur f( w ) Stellen von c lesen Beispiel. {G χ(g) 3} Graphen ist polynomiell verifizierbar: obda sei eine Knotenmenge des Graphen benannt durch V (G) = {1,..., n}. Die möglichen Zeugen sind Abbildungen {1,..., m} f {1, 2, 3} = c Σ mit Σ = {1, 2, 3} V = Input: Graph G, {1,..., m} f {1, 2, 3} 1. Falls n m lehne ab. Sonst: Gehe zu Für alle i, j mit (i, j) E(G) prüfe, ob f(i) f(j). 3. Falls ja: akzeptiere. Sonst ( (i, j) mit f(i) = f(j)): lehne ab. Es gilt: f ist Zeuge für G {H χ(h) 3} genau dann, wenn f eine 3-Färbung von G ist. V hat bezüglich G mit G = V (G) = n die Laufzeit: ( n 2) Knotenpaare f-auswertung an (i, j): 2 n Schritte 2 ( ) n n = O(n 3 ) 2 {G χ(g) 3} Graphen ist polynomiell verifizierbar Satz. Sei L Σ eine Sprache. Dann gilt: Beweis. L N P L ist polynomiell verifizierbar. Sei V ein polynomieller L-Verifizierer mit Laufzeit f(n). Definiere einen nicht-deterministischen L-Entscheider M wie folgt: M= Input w Σ

27 1.5. LAUFZEITEN UND EFFIZIENZ VON ALGORITHMEN Rate nicht-deterministisch einen möglichen Zeugen x für w L mit L-Länge f(n), n = w. (endlich viele Auswahlen) 2. Wende V auf (w, c) an. 3. Akzeptiert V, so akzeptiere. Lehnt V ab, so lehne ab. Erklärung: In 1. wird c = c 1 c f(n) Zeichen für Zeichen geraten. Es gilt: L = {w c mit V (w, c) akzeptiert } = L(M) und M hält auf allen w. Also ist M ein L-Entscheider. Laufzeit von M: Schritt 1 =f(n) Schritte, Schritt 2 =f(n) Schritte. 2 f(n) = O(f(n)) = O(n k ) für deg f(n) = k Sei M ein nicht-deterministischer polynomieller L-Entscheider, r := 2 Q Γ und x 1,..., x r seien die Elemente aus Q Γ {L, R}. Jedes x i steht für eine Option, die die nicht-deterministische Turingmaschine M wählen könnte (oder eben nicht). V = Input(w Σ, c Σ ) Σ := {1,..., r} 1. Simuliere M auf w. Beim i-ten Rechenschritt wähle, falls möglich, die Option x ci. Sonst: lehne ab. 2. Gerät man bei 1. in eine akzeptierende Konfiguration: akzeptiere. Sonst: lehne ab. Es gilt L = L(M) = {w c mit V (w, c) akzeptiert} Also ist V ein L-Verifizierer. Laufzeit von V (, c): Sei f(n) die polynomielle Laufzeit von M. Dann werden in c = c 1... c s die Stellen ab c f(n)+2 nicht mehr abgefragt. Also ist die V -Laufzeit in n = w in O(f(n)).

28 28 KAPITEL 1. N P-VOLLSTÄNDIGKEIT Erinnerung. Sei L Σ eine Sprache. Ein polynomieller L-Verifizierer ist eine 2-stellige deterministische Turingmaschine V (w, c), w Σ, c Σ mit: L = {w c Σ mit V (w, c) akzeptiert} V muss in w polynomielle Laufzeit haben. Das heißt, Polynom f(n) mit: c ist die Laufzeit V (, c) f(n). Ein c so, dass V (w, c) akzeptiert, heißt Zeuge für w L. 1.6 N P-Vollständigkeit und das Erfüllbarkeitsproblem Defintion. Seien A und B Σ-Sprachen. A heißt auf B polynomiell reduzierbar, falls eine Reduktion f : Σ Σ (w A f(w) B) existiert, die von einer deterministischen Turingmaschine M mit polynomieller Laufzeit berechnet wird. Notation: A P B Bemerkung P ist transitiv: A P B A m B A P B, B P C A P C Sei f : Σ Σ mit: Laufzeit P (n) und w A f(w) B. Sei g : Σ Σ mit: Laufzeit Q(n) und w B g(w) C. Σ g f Σ erfüllt: w A (g f)(w) C und g f ist berechenbar durch Hintereinanderschaltung: erst die f-turingmaschine, dann die g-turingmaschine. Laufzeit: f(w) P ( w ) Laufzeit ist Q(P (n)), also polynomiell Satz. Sei A P B. Dann gilt: 1. B P A P. 2. B N P A N P. Beweis. Sei f : Σ Σ eine Reduktion von A auf B mit berechnender Turingmaschine N mit Laufzeit Q(n) (Polynom). Sei M ein (nicht-)deterministischer B-Entscheider mit Laufzeit P (n) (Polynom). Folgende Turingmaschine ist (nicht-)deterministischer A-Entscheider: M = Input w Σ

29 1.6. N P-VOLLSTÄNDIGKEIT UND DAS ERFÜLLBARKEITSPROBLEM Berechne f(w) mit N auf w. 2. Wende M auf f(w) an. 3. Akzeptiert M: Akzeptiere. Lehnt M ab: Lehne ab. L(M ) = A und M ist ein Entscheider. Für die Laufzeit vom M gilt: f(w) Q( w ) Q(n) Schritte in 1., P (Q(n)) Schritte in 2. Q(n) + P (Q(n)) = O(n deg P deg Q ) Defintion. 1. Eine Sprache L Σ heißt N P-hart, falls gilt: L N P ist L P L (obda: zwei Sprachen haben das gleiche Σ.) 2. L Σ heißt N P-vollständig, falls a) L N P b) L ist N P-hart Beispiel. ist N P-vollständig: CLIQUE := {(G, k) G enthält k-clique} Graphen 1. CLIQUE N P ist Übungsaufgabe. 2. CLIQUE ist N P-hart: später! Lemma. 1. Ist L 1 N P-hart und L 1 P L 2, so ist auch L 2 N P-hart. 2. Ist L N P-vollständig, so gilt: Beweis. 1. Folgt aus der Transitivität von P. 2. Sei L P, L N P: P = N P L P L P L L P N P = P

30 30 KAPITEL 1. N P-VOLLSTÄNDIGKEIT Aussagenlogische Formeln (AL-Formeln) Defintion. 1. Eine AL-Variable x ist eine Variable, die die Werte 0 und 1 annehmen kann. 2. AL-Formeln sind: (rekursiv definiert) a) Jede AL-Variable ist eine AL-Formel. b) Seien F und G AL-Formeln, so sind (F G) und (F G) AL-Formeln. c) Ist F eine AL-Formel, so ist F eine AL-Formel. Notation: Sei x eine AL-Variable, dann ist x := x. 3. F sei eine AL-Formel, die genau die Variablen x 1,..., x n enthält. Eine Belegung b von F ist: a) b: {x 1,..., x n } {0, 1} { 1 b(a) = 1 = b(b) b) b(a B) := 0 sonst { 0 b(a) = 0 = b(b) b(a B) := 1 sonst { 0 b(a) = 1 c) b( A) = 1 b(a) = 0 F heißt erfüllbar, falls es eine Belegung b gibt mit b(f ) = Seien F 1, F 2 AL-Formeln. F 1 und F 2 heißen äquivalent, notiert F 1 F 2, falls b: F 1 -Variablen F 2 -Variablen {0, 1} gilt: Beispiel b(f 1 ) = b(f 2 ) ( F ) F F G G F F G G F F F F F F F

31 1.6. N P-VOLLSTÄNDIGKEIT UND DAS ERFÜLLBARKEITSPROBLEM F 1 (F 2 F 3 ) (F 1 F 2 ) F 3 F 1 (F 2 F 3 ) (F 1 F 2 ) F 3 5. F 1 (F 2 F 3 ) (F 1 F 2 ) (F 1 F 3 ) F 1 (F 2 F 3 ) (F 1 F 2 ) (F 1 F 3 ) 6. (F 1 F 2 ) F 1 F 2 (F 1 F 2 ) F 1 F 2 7. F F (y ȳ), y / F -Variablen Defintion. F := Anzahl der F -Variablen mit Vielfachheiten Beispiel Defintion Proposition. SAT N P. (x y z) ( x y z) = 6 SAT := {F F erfüllbar} AL-Formeln Beweis. Zeige, dass SAT polynomiell verifizierbar ist (Satz ). Sei Σ := {0, 1}. Konstruiere eine Turingmaschine: V = Input (F, c) 1. Seien x 1,..., x m die F -Variablen. Setze b(x i ) = c i. Falls c < m: Lehne ab. Sonst: gehe zu Berechne b(f ). 3. Ist b(f ) = 1: Akzeptiere. Ist b(f ) = 0: Lehne ab. Es gilt: V ist ein SAT-Verifizierer. Laufzeit: 1. m F Im 1. Schritt müssen höchstens F Variablenbelegungen zugewiesen werden.

32 32 KAPITEL 1. N P-VOLLSTÄNDIGKEIT 2. Die Auswertung der aussagenlogischen Formel braucht k F Schritte. (k eine Konstante) Insgesamt ist die Laufzeit von V also in n = F in O(n). (Laufzeiten von Schritt 1 und Schritt 2 werden addiert.) Theorem (Cook-Levin). SAT ist N P-hart. Das Beweis folgt später. (siehe Seite 36) Spezielle Formen von SAT Defintion. 1. Ein Literal L ist: L = x oder L = x, wobei x eine Variable ist. 2. Eine Klausel C ist von der Form C = L 1 L r mit Literalen L i. 3. Eine AL-Formel F heißt in konjunktiver Normalform (CNF), falls Klauseln C 1,..., C s existieren mit s F = i=1 F heißt in n-cnf, falls F = s i=1 C i mit C i = n. 4. SAT CNF := {F F ist in CNF und F erfüllbar} AL-Formeln in CNF n-sat CNF := {F F ist in n-cnf und F erfüllbar} AL-Formeln in n-cnf Bemerkung. 1. SAT CNF, n-sat CNF N P : nehme den SAT-Verifizierer. Übungsaufgabe: 2-SAT P. 2. Übungsaufgabe: Jede AL-Formel ist zu einer in CNF äquivalent (Größe wächst polynomiell). Also SAT P SAT CNF Korollar. Aus Theorem (Cook-Levin) folgt: SAT CNF ist N P-hart, insgesamt also N P-vollständig. C i

33 1.6. N P-VOLLSTÄNDIGKEIT UND DAS ERFÜLLBARKEITSPROBLEM Theorem. SAT ist N P-hart Übungsaufgabe. SAT P SAT CNF ( SAT CNF ist N P-hart, insgesamt also N P-vollständig.) Satz. n 3 gilt: SAT CNF P n-sat. Beweis SAT P n-sat n 3 SAT CNF P 3-SAT ad 1.: Sei s F = C i mit C i = 3 Konstruiere polynomiell berechenbar F in n-cnf so, dass F erfüllbar F erfüllbar Bilde aus C i = L i1 L i2 L i3 C i mit C i = n: i=1 Dann gilt C i C i, also F F und ist polynomiell berechenbar. C i = L i1 L i2 L i3 L i3 L i3 AL-Formeln in 3-SAT AL-Formeln in n-sat F F 3-SAT P n-sat n 3 ad 2.: Sei s F = i=1 in CNF. Konstruiere daraus F in 3-CNF so, dass F erfüllbar F erfüllbar C i C i = 1, 2: wende das Verfahren aus 1. an, um C i mit C i = 3 zu erhalten.

34 34 KAPITEL 1. N P-VOLLSTÄNDIGKEIT C i 4, das heißt C i = L i1 L ir, r 4 Führe neue Variablen z 1,..., z r 3 ein und setze C i := (L i1 L i2 z 1 ) (z 1 L i3 z 2 ) (z 2 L i4 z 3 ) (z r 4 L ir 2 z r 3 ) (z r 3 L ir 1 L ir ) C i ist in 3-CNF und es gilt: Die Abbildung {b: C i-var {0, 1} b(c i) = 1} {b: C i -Var {0, 1} b(c i ) = 1} (1.1) b b Ci-Var (1.2) ist wohldefiniert und surjektiv (Übungsaufgabe). Setze also s F := i=1 F ist in 3-CNF und es gilt F erfüllbar F erfüllbar C i Denn: Sei b: F -Variablen {0, 1} mit b(f ) = 1 i ist b(c i ) = 1 b hat ein Urbild unter (1.1) (surjektiv) Sei b: F -Variablen {0, 1} mit b(c i) = 1 b(f ) = 1 b(f ) = 1 i ist b(c i) = 1 b(c i ) = 1 b(f ) = 1 durch die Wohldefiniertheit von (1.1) SAT CNF P 3-SAT Satz. 3-SAT P CLIQUE Beweis. Sei F = s i=1 C i

35 1.6. N P-VOLLSTÄNDIGKEIT UND DAS ERFÜLLBARKEITSPROBLEM 35 in 3-CNF, das heißt C i = L i1 L i2 L i3. Konstruiere polynomiell berechenbar einen Graphen G F mit einer Zahl k so, dass F erfüllbar ist genau dann, wenn G F eine k-clique enthält. Definiere den einfachen Graphen G F wie folgt: (pro Literal in F einen Knoten) V := {v ij 1 i k, 1 j 3} v ij GF v ls : i = l oder L ij = L ls Behauptung: F (G F, k := F 3 = #Klauseln) ist eine Reduktion von 3-SAT auf CLIQUE. Zeige also: F ist erfüllbar G F enthält eine k-clique Idee: Ein Knoten v ij gehört zur k-clique L ij wird mit 1 belegt. Sei F = k i=1 C i erfüllbar durch die Belegung b wähle solch ein j i und setze Dann ist Cl eine k-clique, denn i = 1,..., k j i {1, 2, 3} mit b(l iji ) = 1 Cl := {v 1j1,..., v kjk } i i : b(l iji ) = 1 = b(l i j i ) das heißt L iji L i j i und v iji GF v i j i Sei Cl V (G F ) eine k-clique. Da für beliebige i {v i1, v i2, v i3 } unabhängig sind, existiert genau ein j i so, dass v iji Cl Cl = {v 1j1,..., v kjk } Belege nun L iji mit 1. Das ist wohldefiniert, denn für i i und L iji L i j i gilt v iji v i j i Da pro Klausel ein Literal mit 1 belegt wurde, ist F erfüllbar Korollar. CLIQUE ist N P-hart, also N P-vollständig (CLIQUE N P ist Übungs auf Blatt 3).

36 36 KAPITEL 1. N P-VOLLSTÄNDIGKEIT Beweis des Cook-Levin-Theorems (Theorem ). Zeige: L Σ N P gilt: L P SAT Sei L Σ in N P und N = (Q, Σ, Γ, δ, q 0, q accept, q reject ) ein nicht-deterministischer polynomieller L-Entscheider mit Laufzeit f(n). Wir brauchen eine polynomiell berechenbare Reduktion { Σ AL-Formeln g : w φ w mit w L! φ w ist erfüllbar. Da w L N akzeptiert w heißt das: N akzeptiert w φ w ist erfüllbar Technischer Punkt: Setze die Übergangsfunktion δ auf ganz Q Γ fort. Das heißt, die Maschine N setzt auch bei Erreichen von q acc oder q rej die Rechnung fort. Ein Tableau für N auf w = w 1... w n ist eine (2f(n) + 3) (f(n) + 2)-Tabelle, die mit möglichen Rechnungen von N auf w gefüllt wird. Dabei sind rechts und links von q 0 jeweils f(n) + 1 Spalten (denn die Turingmaschine kann in beide Richtungen laufen). #... q 0 w 1 w 2... w n... # Startkonfiguration # # 2. Konfiguration # #.... # # f(n)-te Konfig. Ein Tableau heißt akzeptierend, falls es eine akzeptierende Konfiguration enthält. Jedes akzeptierende Tableau für N auf w entspricht einem akzeptierenden Ast des Rechenbaums von N auf w. Also: N akzeptiert w ein akzeptierendes Tableau von N auf w Jeder der Tableau-Einträge heißt Zelle: Cell[i, j], 1 i f(n) und 1 j 2 f(n) + 3

37 1.6. N P-VOLLSTÄNDIGKEIT UND DAS ERFÜLLBARKEITSPROBLEM 37 Definition von g(w) = φ w : Setze C := Q Γ {#} (# Q, Γ) Führe 1 i f(n), 1 j (2 f(n) + 3) und s C die Variable x i,j,s in φ w ein. Interpretation: x i,j,s = 1 s Cell[i, j] Setze φ := φ cell φ start φ move φ accept, wobei die 4 Formeln das Folgende sicherstellen sollen: φ cell : pro Zelle genau ein Eintrag φ start : In der 1. Zeile steht die Startkonfiguration q 0 w φ move : Zeilenübergänge entsprechen N-Übergängen (Das Tableau stellt tatsächlich eine Rechnung von N dar.) φ accept : mindestens eine Zeile enthält akzeptierende Konfiguration Dann folgt: ein akzeptierendes Tableau von N auf w φ = φ cell φ start φ move φ accept ist erfüllbar. ( ) φ cell := x i,j,s (x i,j,s x i,j,t ) 1 i f(n) 1 j 2 f(n)+3 s C s,t C s t Dabei stellt der erste Teil in den Klammern sicher, dass die Zelle [i, j] mindestens einen Eintrag aus C enthält, der zweite Teil stellt sicher, dass [i, j] höchstens einen Eintrag aus C enthält. Beide Teile sind mit verknüpft, also soll [i, j] genau einen Eintrag aus C enthalten. Das wird für jede Zelle durchgeführt. φ cell akzeptiert also genau dann, wenn jedes Feld des Tableaus genau einen Eintrag aus C enthält. Der Aufwand für die Berechnung von φ cell liegt in O(f(n) 2 ). φ start := x 1,1,# x 1,2, x 1,f(n)+1, x 1,f(n)+2,q0 x 1,f(n)+3,w1... x 1,f(n)+n+2,wn x 1,f(n)+n+3, x 1,2f(n)+2, x 1,2f(n)+3,# φ start akzeptiert also genau dann, wenn in der ersten Zeile des Tableaus die Startkonfiguration q 0 w steht. Der Aufwand für die Berechnung von φ start liegt in O(f(n)). φ accept := 1 i f(n) 1 j 2f(n)+3 x i,j,qacc φ accept akzeptiert also genau dann, wenn der akzeptierende Zustand mindestens einmal im Tableau enthalten ist. Der Aufwand für die Berechnung von φ accept liegt in O(f(n) 2 ). Um φ move zu definieren, betrachte zunächst die (i, j)-fenster

38 38 KAPITEL 1. N P-VOLLSTÄNDIGKEIT (i,j-1) (i,j) (i,j+1) (i+1,j-1) (i+1,j) (i+1,j+1) Ein Fenster heißt legal, falls es δ von N nicht verletzt. Sei zum Beispiel δ(q 1, a) = {(q 1, b, R)} und δ(q 1, b) = {(q 2, c, L), (q 2, a, R)}. Legale Fenster sind dann a) a q 1 b q 2 a c b) a q 1 b a a q 2 c) a a q 1 a a b d) # b a # b a e) a b a a b q 2 f) b b b c b b a) und b) sind legal, weil die Übergangsfunktion es N erlaubt, sich wie angegeben zu bewegen. c) ist legal weil durch das q 1 oben rechts unklar ist, über welchem Symbol sich der Lesekopf der Turingmaschine befindet. Falls sich der Lesekopf über einem a befindet, könnte q 1 dieses zu b machen und sich nach rechts bewegen. Das Fenster ist also im Rahmen von N Übergangsfunktion möglich und folglich legal. d) ist legal weil obere und untere Reihe identisch sind, das ist der Fall, wenn der Lesekopf der Turingmaschine das Fenster nicht berührt. # Kann links oder rechts in beiden Reihen eines legalen Fensters auftauchen. e) ist legal, weil sich möglicherweise rechts von der oberen Zeile ein Zustand q 1, der ein b einliest befindet und sich nach links bewegt, um rechts unten in Erscheinung zu treten. f) ist legal, weil q 1 links von der oberen Reihe stehen könnte, das b zu einem c gemacht und sich nach links bewegt haben könnte. Illegale Fenster sind a) a b a a a a b) a q 1 b q 1 a a c) b q 1 b q 2 b q 2 Fenster a) ist illegal, weil das mittlere Symbol der oberen Reihe sich ohne benachbarte Zustände nicht verändern kann. b) ist illegal weil laut Übergangsfunktion b zu einem c, nicht zu einem a werden müsste. c) ist illegal, weil es in der unteren Zeile zwei Zustände gibt. φ move kann definiert werden durch mit φ(i, j) := φ move := 1 i<f(n) 1<j<2f(n)+3 a 1,a 2,a 3,a 4,a 5,a 6 legale Einträge in (i, j)-fenster ( (das (i, j)-fenster ist legal) }{{} φ(i,j) x i,j 1,a1 x i,j,a2 x i,j+1,a3 x i+1,j 1,a4 x i+1,j,a5 x i+1,j+1,a6 Der Aufwand für die Berechnung von φ move liegt in O(f(n) 2 ). Es gilt w L N akzeptiert w φ w = φ cell φ start φ move φ accept ist erfüllbar )

39 1.6. N P-VOLLSTÄNDIGKEIT UND DAS ERFÜLLBARKEITSPROBLEM 39 und die Reduktion w φ w ist in polynomieller Zeit berechenbar.

40 40 KAPITEL 1. N P-VOLLSTÄNDIGKEIT 1.7 Das Färbbarkeitsproblem Defintion. Sei n 1. n-farb := {G χ(g) n} Graphen Bemerkung. 1. n 1 ist n-farb N P (analog zu 3-FARB N P) 2. 1-FARB = {G E(G) = } Graphen ist in P FARB P (Übungsaufgabe) 4. Ziel: n 3 ist n-farb N P-hart, also N P-vollständig Erinnerung. Seien G, H Graphen. Ein Morphismus f : G H ist eine Abbildung f : V (G) V (H) mit v G w f(v) H f(w) Bemerkung. 1. Falls E(G) =, so ist jede Abbildung f : V (G) V (H) ein Morphismus. 2. Sei w V (H) und { V (G) V (H) c w : v w (konstante Abbildung) Dann gilt: c w ist ein Morphismus E(G) = oder ww E(H) Beispiel Defintion. Sei H ein Graph. f : V (G) {1,..., n} ist eine Färbung (v G w f(v) f(w)) f : G K n ist ein Morphismus H-FARB := {G Morphismus f : G H} Graphen

41 1.7. DAS FÄRBBARKEITSPROBLEM Bemerkung. i) K n -FARB = n-farb ii) H-FARB N P: 1. Rate Abbildung f : V (G) V (H). 2. Teste, ob f ein Morphismus ist Satz. Sei H bipartit (das heißt χ(h) 2) oder H enthalte eine Schleife, dann ist H-FARB P. Beweis. Sei w V (H) mit ww E(H), also H hat an w eine Schleife. Dann ist für alle G ein Morphismus, also c w : G H H-FARB = Graphen P Sei nun H bipartit, das heißt es existiert ein Morphismus f : H K 2 Fall 1: E(H) = : H-FARB = {G E(G) = } = 1-FARB P Fall 2: v 1 v 2 E(H) { K2 H g : i v i ist ein Morphismus. Behauptung: H-FARB = K 2 -FARB (= 2-FARB P) Beweis: Sei G H-FARB, das heißt, Morphismus ϕ: G H. G ϕ H f K 2 ist Morphismus G K 2 -FARB Sei G K 2 -FARB, das heißt, G ψ K 2. G ψ g K 2 H ist Morphismus G H-FARB

42 42 KAPITEL 1. N P-VOLLSTÄNDIGKEIT Theorem. (Hell, Nesetvil, 1986) Sei H nicht bipartit (d.h. χ(h) 3) und H enthalte keine Schleife. H-FARB ist N P-hart (Bachelorarbeit) Beispiel Übungsaufgabe Lemma. n 1 ist Beweis. Betrachte die Abbildung Nach Übung gilt: H = K n, n 3 : K n -FARB = n-farb H = C 2n+1, n 1 : C 2n+1 -FARB N P-hart χ(g K 1 ) = χ(g) + 1 n-farb P (n + 1)-FARB G n-farb G G K 1 χ(g) n χ(g K 1 ) n + 1 G K 1 (n + 1)-FARB Also ist die Abbildung G G K 1 eine polynomielle Reduktion von n-farb auf n + 1-FARB Satz. n 3 gilt: n-farb ist N P-hart. Beweis. Durch wiederholtes Anwenden von Lemma findet man n 3: 3-FARB P n-farb Zeige also, dass 3-FARB N P-hart ist. Behauptung: 3-SAT P 3-FARB Beweis: Sei F = r i=1 C i mit C i = L i1 L i2 L i3 in 3-CNF. Konstruiere polynomiell berechnbar einen Graphen G F so, dass Betrachte den Graphen H: F ist erfüllbar G F ist 3-färbbar

43 1.7. DAS FÄRBBARKEITSPROBLEM 43 v 1 H v 2 z v 3 Eigenschaften von H: 1. Es existiert eine 3-Färbung von H mit f(v 1 ) = f(v 2 ) = f(v 3 ) = f(z) 2. Für jede 3-Färbung f mit f(v 1 ) = f(v 2 ) = f(v 3 ) gilt f(z) = f(v 1 ) Denn obda sei f(v 1 ) = Konstruktion von G F : Konstruiere pro C i = L i1 L i2 L i3 einen Graphen H i = H v i1 H i v i2 z i v i3

44 44 KAPITEL 1. N P-VOLLSTÄNDIGKEIT Idee: Die Farben von v ij entsprechen Belegungen von L ij. L ij = L rs (i, j) (r, s) Füge zwei neue Knoten hinzu und verbinde: H i v ij v rs H r L ij = L rs verbinde: v ij v rs Füge außerdem einen Knoten α hinzu mit α v ij i, j und einen Knoten ω mit α ω z 1 z r z i Zeige nun: F ist erfüllbar G F ist 3-färbbar Dafür: b : F -Variablen {1, 2} 1 = wahr, 2 = falsch ˆ=0 Sei F mit b F : Variablen {1, 2} erfüllt, das heißt, b(f ) = 1. Konstruiere eine 3-Färbung f von G F. Setze f(v ij ) := b(l ij ). Es gilt b(l ij ) {1, 2}, also kann man α mit 3 färben:

45 1.7. DAS FÄRBBARKEITSPROBLEM ,2 α v ij Die v ij -Färbungen sind untereinander okay: 1. L ij = L rs v ij und v rs sind verschieden gefärbt. Etwa: b(l ij ) = 1 b(l rs ) = 2 v ij L ij = L rs, (i, j) (r, s), etwa b(l ij ) = b(l rs ) = 1. Dann kann man f fortsetzen zu 2 v rs v ij 1 1 v rs Betrachte nun die H i : man weiß, dass b(f ) = 1, daraus folgt b(c i ) = 1, das heißt, i ist mindestens ein Knoten von v i1, v i2, v i3 mit 1 gefärbt. f ist so auf H i fortsetzbar, dass z i mit 1 oder 3 gefärbt wird. Dafür muss man einfach die verschiedenen Fälle ausprobieren. Färbe abschließend ω mit 2. Auch das klappt. α 3 3 ω 2 z 1 1,3 1,3 1,3 z r z i Damit ist F ist erfüllbar G F ist 3-färbbar gezeigt. Sei G F 3-gefärbt mit Färbung f : V (G F ) {1, 2, 3}. obda gilt f(α) = 3 und f(ω) = 2. Dann sind alle v ij mit 1 oder 2 gefärbt. Setze b(l ij ) := f(v ij ) {1, 2}

46 46 KAPITEL 1. N P-VOLLSTÄNDIGKEIT Das ist wohldefiniert: Sei L ij = L rs, (i, j) (r, s). Dann gilt f(v ij ) = f(v rs ). Denn angenommen, f(v ij ) f(v rs ): 3 v ij 1 2 v rs? Sei L ij = L rs v ij v rs f(v ij ) f(v rs ) b(l ij ) b(l rs ) Behauptung: i v ij mit f(v ij ) = 1 = b(l ij )( i ist b(c i ) = 1 b(f ) = 1 F ist erfüllbar) Angenommen, i so, dass f(v i1 ) = f(v i2 ) = f(v i3 ) = 2 v i1 v i2 v i z i Eig 2 von H f(z i ) = 2 Aber: 2 2 w Dann kann f keine G F -Färbung sein. Damit ist F ist erfüllbar G F ist 3-färbbar gezeigt. z i

47 1.7. DAS FÄRBBARKEITSPROBLEM Das Hamilton-Pfad(-Kreis)-Problem Erinnerung. Ein Digraph D = (V, E) hat gerichtete Kanten, das heißt E V V. Notation: (v, w) E : v w Beispiel. D : Sei G ein Graph. Dann ist D(G) der folgende Digraph: V (D(G)) = V (G), (v, w) E(D(G)) vw E(G) Beispiel. G : D(G) : Defintion. Sei G ein Graph, D ein Digraph. 1. Ein Hamilton-Pfad in G ist eine Knotenanordnung {v 1,..., v n } = V (G) mit: v 1 G v 2 G v 3 G G v n 1 G v n v1 v2 v3 vn 1 vn Ein (gerichteter) Hamilton-Pfad in D ist eine Knotenanordnung {v 1,..., v n } = V (D) mit: (v 1, v 2 ), (v 2, v 3 ),..., (v n 1, v n ) E(D) v1 v2 v3 vn 1 vn Beispiel: hat keinen gerichteten Hamilton-Pfad. hat einen gerichteten Hamilton-Pfad. 2. Ein Hamilton-Kreis in G (in D) ist ein Hamilton-Pfad v 1,..., v n so, dass v n G v 1 für G, (v n, v 1 ) E(D) für D.

48 48 KAPITEL 1. N P-VOLLSTÄNDIGKEIT Lemma. DIRHAMPATH := {D D enthält Hamilton-Pfad} Digraphen DIRHAMCYCLE := {D D enthält Hamilton-Kreis} Digraphen HAMPATH := {G G enthält Hamilton-Pfad} Graphen HAMCYCLE := {G G enthält Hamilton-Kreis} Graphen i) HAMPATH P DIRHAMPATH ii) HAMCYCLE P DIRHAMCYCLE Beweis. G D(G) ist eine Reduktion für (i) und (ii) Lemma. Alle 4 Probleme aus Definition sind in N P. Beweis. Wegen des vorigen Lemmas reicht es, einen nicht-deterministischen Entscheider in polynomieller Laufzeit für die gerichteten Versionen anzugeben. M = Input D Digraph, V (D) = {1,..., n} 1. Rate σ S n. 2. Teste, ob (σ(i), σ(i + 1)) E(D) für alle i = 1,..., n 1 (bzw. zusätzlich (σ(n), σ(1) E(D))) 3. Ist 2. erfolgreich (d.h. immer Ja-Antwort): Akzeptiere. Sonst: Lehne ab. σ(1),..., σ(n) ist dann der Hamilton-Pfad(-Kreis). M ist ein nicht-deterministischer polynomieller Entscheider Übungsaufgabe. 1. HAMPATH P HAMCYCLE. 2. DIRHAMPATH P DIRHAMCYCLE Satz. 1. DIRHAMPATH P HAMPATH. 2. DIRHAMCYCLE P HAMCYCLE. Beweis. Konstruiere polynomiell berechenbar D G D wobei D ein Digraph und G D ein Graph ist so, dass D DIRHAMPATH (DIRHAMCYCLE) G D HAMPATH (HAMCYCLE) (1.3) (für 1. und 2. die gleiche Reduktion). Sei V (D) = {1,..., n} V (G D ) := {1,..., n, a 1,..., a n, b 1,..., b n } E(G D ) := {ib i, ia i i = 1,..., n} {a i b j (i, j) E(D)}

49 1.8. DAS HAMILTON-PFAD(-KREIS)-PROBLEM 49 von 1.3: Sei i 1..., i n ein Hamilton-Pfad(-Kreis) in D. Dann ist b i1,i 1, a i1, b i2,..., b in, i n, a in (1.4) ein Hamiltonpfad in G D (mit ain bi1 ein Hamiltonkreis in G D, falls (i n, i 1 ) E(D)). von 1.3: Jeder Hamilton-Pfad(-Kreis) von G D hat die Gestalt 1.4. ist ein Hamilton-Pfad(-Kreis) in D. i 1,..., i n Satz. DIRHAMPATH ist N P-hart. (3-SAT P DIRHAMPATH) Korollar. Alle 4 Probleme sind N P-hart. Beweis. 3-SAT P P HAMPATH P DIRHAMPATH P DIRHAMCYCLE HAMCYCLE P Beweis von Satz Zeige, dass 3-SAT P DIRHAMPATH. Sei r F = C i, C i = L i1 L i2 L i3 i=1 in 3-CNF. Konstruiere polynomiell berechenbar (D F ein Digraph) mit: F D F F erfüllbar D F hat Hamilton-Pfad Konstruktion von D F : Seien x 1,..., x n die F -Variablen. Pro x i bilde Kette aus 6 r Knoten: v1 v2 v3 v6r 1 v6r

50 50 KAPITEL 1. N P-VOLLSTÄNDIGKEIT Führe noch Knoten v start, v end ein mit: v start v1 v6r x 1 -Kette v 1 v 6r x n -Kette v end Verbinde weiterhin i = 1,..., n 1 v1 v 6r x i - Kette v1 v 6r x i+1 -Kette Bisher wurde erreicht, dass ein Hamilton-Pfad in D F mit v start beginnen und mit v end enden muss. Weiterhin wird jede x i -Kette genau einmal komplett durchlaufen, von links nach rechts, oder von rechts nach links: Erst die x 1 -Kette komplett, dann die x 2 -Kette,..., dann die x n -Kette komplett. Interpretation: Es gilt: x i = 1 : x i -Kette wird von links nach rechts durchlaufen x i = 0 : x i -Kette wird von rechts nach links durchlaufen Hamilton-Pfad in D F = Abbildung b : {x 1,..., x n } {0, 1} Baue nun die Klauseln ein: pro Klausel C j neuen Knoten u j. x i in C j : uj v 6(j 1)+1 v 6(j 1)+2 x i -Kette x i ist in C j : uj v 6(j 1)+4 v 6(j 1)+5 x i -Kette

51 1.8. DAS HAMILTON-PFAD(-KREIS)-PROBLEM 51 Jeder Klauselknoten ist also mit 3 Knotenpaaren aus den Variablen, die in der Klausel vorkommen, verbunden. Behauptung: F ist erfüllbar D F enthält einen Hamilton-Pfad (im Sinne der Interpretation) " : Sei F mit b: {x 1,..., x n } {0, 1} erfüllt, das heißt, b(f ) = 1 j ist b(c j ) = 1. Durchlaufe die x i -Kette von links nach rechts, falls b(x i ) = 1 rechts nach links, falls b(x i ) = 0 Ist dabei ein u j unbesucht, aber besuchbar, mache einen Umweg über u j. Es gilt: { b(x i ) = 1 x i C j u j ist besuchbar (1.5) b(x i ) = 0 x i C j Da pro C j mindestens ein Literal mit 1 belegt ist, sind alle u j besuchbar. Das gibt einen Hamiltonpfad in D F und schließt die Hinrichtung ab. Enhalte D F einen Hamiltonpfad. Wenn dieser jede x i -Kette komplett in eine Richtung durchläuft und dabei alle u j besuchbar sind, ist F erfüllbar. Der Hamiltonpfad muss aber mit u j -Umwegen komplett jede x i -Kette durchlaufen, denn die einzige Möglichkeit, eine Kette frühzeitig zu verlassen, sind die Klauselknoten. Jeder Knoten jeder Kette ist mit höchstens einem Klauselknoten verbunden. Das heißt wenn die Kette über einen Klauselknoten verlassen würde, müsste der Hamiltonpfad über den gleichen Knoten zurückkehren, um den Rest der Kette zu besuchen. Der Hamiltonpfad durchläuft die Kette von links nach rechts: b(x i ) := 1 von rechts nach links: b(x i ) := 0 Da es sich um einen Hamiltonpfad handelt, wird jedes u j von mindestens einer x i -Kette besucht. Wegen (1.5) heißt das: b(c j ) = 1 b(f ) = 1 F ist erfüllbar

52 52 KAPITEL 1. N P-VOLLSTÄNDIGKEIT Das Traveling Salesman Problem Defintion. Sei n N, n 1 d: { E(Kn ) N {i, j} d(i, j) i j V (K n ) d ist die Distanzfunktion. Eine Rundreise ist ein Hamilton-Kreis in i 1,..., i n V (K n ). Die Länge der Rundreise ist n 1 d(i j, i j+1 ) + d(i n, i 1 ) j=1 TSP := {(n, d: E(K n ) N, L) es existiert Rundreise der Länge < L} Lemma. TSP N P Beweis. Input (n, d, L) 1. Rate σ S n 2. Berechne Länge von σ(1),..., σ(n) L 3. Teste ob L < L Übungsaufgabe. HAMCYCLE P TSP( TSP ist N P-hart)

53 1.8. DAS HAMILTON-PFAD(-KREIS)-PROBLEM 53 2 Färbungen von Produkten 2.1 Summen und Produkte revisited Lemma. Seien G, H Graphen und es existiere ein Morphismus G f H. Dann gilt χ(g) χ(h) Beweis. Sei n = χ(h) H g K n Morphismus G f H g K n Morphismus n-färbung von G χ(g) χ(h) Erinnerung. Seien G, H Graphen. Die Summe G + H ist die disjunkte Vereinigung Bemerkung. Die Inklusionen ι H : H G + H ι G : G G + H sind Morphismen. Nach Lemma 2.1.1: } χ(h) χ(g + H) max{χ(g), χ(h)} χ(g + H) χ(g) χ(g + H) Ziel: es gilt auch Notation. Seien G, H Graphen. Hom(G, H) := {f : V (G) V (H) f ist ein Morphismus} ist die Menge der Morphismen G H.

54 54 KAPITEL 2. FÄRBUNGEN VON PRODUKTEN Satz (Universelle Eigenschaft der Summe). Für alle G, H 1, H 2 ist die Abbildung φ: { Hom(H1 + H 2, G) Hom(H 1, G) Hom(H 2, G) f (f ι H1, f ι H2 ) eine Bijektion. H 1 ι H1 f 1 ι H2 H 1 + H 2 f G H 2 f 2 Beweis. Behauptung: Die Abbildung ψ : { Hom(H1, G) Hom(H 2, G) Hom(H 1 + H 2, G) (f 1, f 2 ) f mit f(v) := { f 1 (v) v H 1 f 2 (v) v H 2 ist wohldefiniert und Umkehrabbildung von φ. Zeige: ψ(f 1, f 2 ) : H 1 + H 2 G ist ein Morphismus, falls f 1 und f 2 Morphismen sind. Seien v H1+H 2 w. i {1, 2} mit v, w V (H i ) Da ψ(f 1, f 2 )(v) = f i (v) ψ(f 1, f 2 )(w) = f i (w) und f i : H i G ein Morphismus ist, folgt ψ(f 1, f 2 ) Hom(H 1 + H 2, G) und φ ψ = Id ψ φ = Id : klar.

55 2.1. SUMMEN UND PRODUKTE REVISITED Lemma. Seien G, H Graphen. Dann gilt max{χ(g), χ(h)} χ(g + H) Zusammen mit der Bemerkung folgt Gleichheit. Beweis. Sei m := max{χ(g), χ(h)} G f G K m und H f H K m (m n : K n K m ) f : G + H K m χ(g + H) m Lemma. Seien X, Y, Z Graphen und X f Y ein Morphismus. Dann ist auch ein Morphismus. f + Id Z : X + Z Y + Z { v v f(v) v V (Z) v V (X) Beweis. Nutze Satz Prüfe, dass (f + Id Z ) ι X und (f + Id Z ) ι Z Morphismen sind. X f ι X X + Z f+id Y ι Y Y + Z (f + Id Z ) ι X = ι Y f Da ι Y f ein Morphismus ist, ist auch (f + Id Z ) ι X ein Morphismus. X + Z f+id Y + Z ι z Z Da ι Z ein Morphismus ist, ist auch (f + Id) ι Z = ι Z ein Morphismus Erinnerung. Seien G und H Graphen. Das Produkt G H ist ι z V (G H) := V (G) V (H) (v, w) G H (v, w ) : v G v w H w

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, NP 254/ 333 Polynomielle Verifizierer und NP Ḋefinition Polynomieller

Mehr

Polynomielle Verifizierer und NP

Polynomielle Verifizierer und NP Polynomielle Verifizierer und NP Definition Polynomieller Verifizierer Sei L Σ eine Sprache. Eine DTM V heißt Verifizierer für L, falls V für alle Eingaben w Σ hält und folgendes gilt: w L c Σ : V akzeptiert

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

NP-vollständige Probleme

NP-vollständige Probleme NP-vollständige Probleme Dr. Eva Richter 6. Juli 2012 1 / 13 NP-Vollständigkeit Definition Eine Sprache B heißt NP-vollständig, wenn sei zwei Bedingungen erfüllt: (i) B ist in NP (ii) Jedes Problem A in

Mehr

13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie

13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie 13 Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 276/ 333 N P-Vollständigkeit Ḋefinition NP-vollständig Sei

Mehr

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 20.12.2005 18. Vorlesung 1 Komplexitätstheorie - Zeitklassen Komplexitätsmaße Wiederholung: O,o,ω,Θ,Ω Laufzeitanalyse

Mehr

Konjunktive Normalform

Konjunktive Normalform Konjunktive Normalform Eine Formel α in konjunktiver Normalform hat die Form α k 1 k 2... k r. Die Klauseln k 1,..., k r sind Disjunktionen von Literalen, also Disjunktionen von Variablen oder negierten

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 23. November 2017 INSTITUT FÜR THEORETISCHE 0 23.11.2017 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis:

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis: 1 Unentscheidbarkeit 2 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 #include char *s="include

Mehr

Laufzeit einer DTM, Klasse DTIME

Laufzeit einer DTM, Klasse DTIME Laufzeit einer DTM, Klasse DTIME Definition Laufzeit einer DTM Sei M eine DTM mit Eingabealphabet Σ, die bei jeder Eingabe hält. Sei T M (w) die Anzahl der Rechenschritte d.h. Bewegungen des Lesekopfes

Mehr

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21. Theorie der Informatik 19. Mai 2014 21. einige NP-vollständige Probleme Theorie der Informatik 21. einige NP-vollständige Probleme 21.1 Übersicht 21.2 Malte Helmert Gabriele Röger 21.3 Graphenprobleme

Mehr

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen, Entscheidbarkeit, P 239/ 333 Einführung in die NP-Vollständigkeitstheorie

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 17.November 2011 INSTITUT FÜR THEORETISCHE 0 KIT 17.11.2011 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016)

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016) Technische Universität Berlin, Berlin, 28.07.2016 Name:... Matr.-Nr.:... Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016) Einlesezeit: Bearbeitungszeit: Max.

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Nichtdeterminismus David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Nichtdeterminismus NTM Nichtdeterministische Turingmaschine Die

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 25. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 25.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin

Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 11. Januar 2008 Wiederholung

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik 0 KIT 17.05.2010 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik nationales Forschungszentrum Vorlesung in am

Mehr

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Lösungen zur Vorlesung Berechenbarkeit und Komplexität Lehrstuhl für Informatik 1 WS 009/10 Prof. Dr. Berthold Vöcking 0.0.010 Alexander Skopalik Thomas Kesselheim Lösungen zur Vorlesung Berechenbarkeit und Komplexität. Zulassungsklausur Aufgabe 1: (a) Worin

Mehr

Einführung in die Informatik 2

Einführung in die Informatik 2 Einführung in die Informatik 2 NP-Vollständigkeit Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v.

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 9 25. Juli 2011 Einführung in die Theoretische Informatik

Mehr

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1 Zeitkomplexität (1) Proseminar Theoretische Informatik Proseminar Theoretische Informatik: Lisa Dohrmann 1 Warum Komplexitätsbetrachtung? Ein im Prinzip entscheidbares und berechenbares Problem kann in

Mehr

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung! Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 23/4 ILKD Prof. Dr. D. Wagner 2. Februar 24. Klausur zur Vorlesung Informatik III Wintersemester 23/24 Mit Lösung! Beachten Sie:

Mehr

14. Die polynomiell beschränkten Komplexitätsklassen. Die Grenzen der tatsächlichen Berechenbarkeit

14. Die polynomiell beschränkten Komplexitätsklassen. Die Grenzen der tatsächlichen Berechenbarkeit 14. Die polynomiell beschränkten Komplexitätsklassen Die Grenzen der tatsächlichen Berechenbarkeit PRINZIPIELLE VS. TATSÄCHLICHE BERECHENBARKEIT Prinzipielle (theoretische) Berechenbarkeit: Eine Funktion

Mehr

Weitere NP-vollständige Probleme

Weitere NP-vollständige Probleme Weitere NP-vollständige Probleme Wir betrachten nun folgende Reduktionskette und weisen dadurch nach, daß alle diese Probleme NP-hart sind (sie sind auch in NP und damit NP-vollständig). SAT p 3-SAT p

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (V) 16.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Automaten und formale Sprachen Klausurvorbereitung

Automaten und formale Sprachen Klausurvorbereitung Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen

Mehr

Einführung in Berechenbarkeit, Komplexität und formale Sprachen

Einführung in Berechenbarkeit, Komplexität und formale Sprachen Johannes Blömer Skript zur Vorlesung Einführung in Berechenbarkeit, Komplexität und formale Sprachen Universität Paderborn Wintersemester 2011/12 Inhaltsverzeichnis 1 Einleitung 2 1.1 Ziele der Vorlesung...................................

Mehr

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie.

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie. Einführung (1/3) 3 Wir verfolgen nun das Ziel, Komplexitätsklassen mit Hilfe von charakteristischen Problemen zu beschreiben und zu strukturieren Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit

Mehr

abgeschlossen unter,,,, R,

abgeschlossen unter,,,, R, Was bisher geschah Turing-Maschinen können Sprachen L X akzeptieren entscheiden Funktionen berechnen f : X X (partiell) Menge aller Turing-akzeptierbaren Sprachen genau die Menge aller Chomsky-Typ-0-Sprachen

Mehr

Die Komplexitätsklassen P und NP

Die Komplexitätsklassen P und NP Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

Reelle Komplexität - Grundlagen II

Reelle Komplexität - Grundlagen II Reelle Komplexität - Grundlagen II Julian Bitterlich Themenübersicht: Beziehungen zwischen den Komplexitätsklassen Savitchs Theorem conp und Charakterisierungen von NP und conp Reduktion, Vollständigkeit,

Mehr

Formale Grundlagen der Informatik 1 Kapitel 23 NP-Vollständigkeit (Teil 2)

Formale Grundlagen der Informatik 1 Kapitel 23 NP-Vollständigkeit (Teil 2) Formale Grundlagen der Informatik 1 Kapitel 23 (Teil 2) Frank Heitmann heitmann@informatik.uni-hamburg.de 5. Juli 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/37 Die Klassen P und NP P := {L

Mehr

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reduktion. Komplexitätsklassen.

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reduktion. Komplexitätsklassen. Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen

Mehr

Die Klasse NP und die polynomielle Reduktion

Die Klasse NP und die polynomielle Reduktion Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Dezember 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Entscheidungsprobleme

Entscheidungsprobleme Entscheidungsprobleme übliche Formulierung gegeben: Eingabe x aus einer Grundmenge U Frage: Hat x eine bestimmte Eigenschaft P? Beispiel: gegeben: Frage: n N Ist n eine Primzahl? Formalisierung: Grundmenge

Mehr

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Dipl-Math. Wolfgang Kinzner 2.4.2012 Kapitel 1: Grundlagen der algorithmischen Graphgentheorie

Mehr

Präsenzübung Berechenbarkeit und Komplexität

Präsenzübung Berechenbarkeit und Komplexität Lehrstuhl für Informatik 1 WS 2013/14 Prof. Dr. Berthold Vöcking 28.01.2014 Kamal Al-Bawani Benjamin Ries Präsenzübung Berechenbarkeit und Komplexität Musterlösung Name:...................................

Mehr

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012 Die Klassen P und NP Dr. Eva Richter 29. Juni 2012 1 / 35 Die Klasse P P = DTIME(Pol) Klasse der Probleme, die sich von DTM in polynomieller Zeit lösen lassen nach Dogma die praktikablen Probleme beim

Mehr

Statt Turingmaschinen anzugeben, genügt die Angabe eines C++ Programms oder die Angabe eines Pseudocodes.

Statt Turingmaschinen anzugeben, genügt die Angabe eines C++ Programms oder die Angabe eines Pseudocodes. Turingmaschinen Wir haben Turingmaschinen eingeführt. Bis auf einen polynomiellen Anstieg der Rechenzeit haben Turingmaschinen die Rechenkraft von parallelen Supercomputern! Statt Turingmaschinen anzugeben,

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv aufzählbare Sprachen Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben

Mehr

Der Lese-Schreib-Kopf kann auch angehalten werden (H). Die Verarbeitung ist dann beendet.

Der Lese-Schreib-Kopf kann auch angehalten werden (H). Die Verarbeitung ist dann beendet. Die Turingmaschine besteht aus der Steuereinheit, die verschiedene Zustände annimmt dem Band, welches unendlich ausgedehnt ist, aber nur auf einem endlichem Bereich mit Zeichen aus einem Alphabet beschrieben

Mehr

Hier ist ein einfaches Turingprogramm. Außer dem Leerzeichen ist das Band nur mit. 1 belegt.

Hier ist ein einfaches Turingprogramm. Außer dem Leerzeichen ist das Band nur mit. 1 belegt. Die Turingmaschine besteht aus der Steuereinheit, die verschiedene Zustände annimmt dem Band, welches unendlich ausgedehnt ist, aber nur auf einem endlichem Bereich mit Zeichen aus einem Alphabet beschrieben

Mehr

Theoretische Informatik. nichtdeterministische Turingmaschinen NDTM. Turingmaschinen. Rainer Schrader. 29. April 2009

Theoretische Informatik. nichtdeterministische Turingmaschinen NDTM. Turingmaschinen. Rainer Schrader. 29. April 2009 Theoretische Informatik Rainer Schrader nichtdeterministische Turingmaschinen Zentrum für Angewandte Informatik Köln 29. April 2009 1 / 33 2 / 33 Turingmaschinen das Konzept des Nichtdeterminismus nahm

Mehr

Berechenbarkeitstheorie 19. Vorlesung

Berechenbarkeitstheorie 19. Vorlesung 1 Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster WS 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Erinnerung:

Mehr

Vorlesung VL-13. P versus NP. Wdh.: LOOP versus WHILE. Korrektur: Primitiv rekursive Funktionen (2) Wdh.: Kostenmodelle der RAM

Vorlesung VL-13. P versus NP. Wdh.: LOOP versus WHILE. Korrektur: Primitiv rekursive Funktionen (2) Wdh.: Kostenmodelle der RAM Organisatorisches VL-13: P versus NP (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger Nächste Vorlesung: Mittwoch, Dezember 13, 14:15 15:45 Uhr, Roter Hörsaal Webseite: http://algo.rwth-aachen.de/lehre/ws1718/buk.php

Mehr

Berechenbarkeit. Script, Kapitel 2

Berechenbarkeit. Script, Kapitel 2 Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen

Mehr

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07 Vortrag am 17.11.2006 Nichtdeterministische Turingmaschinen und NP Yves Radunz Inhaltsverzeichnis 1 Wiederholung 3 1.1 Allgemeines........................................

Mehr

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p. Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (V) 7.07.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt Endklausur 26. August 2011 Einführung in die Theoretische

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 139 Unentscheidbarkeit Überblick Zunächst einmal definieren wir formal

Mehr

Entscheidungsprobleme

Entscheidungsprobleme Entscheidungsprobleme übliche Formulierung gegeben: Eingabe x aus einer Grundmenge M Frage: Hat x eine bestimmte Eigenschaft P? Beispiel: gegeben: Frage: n N Ist n eine Primzahl? Formalisierung: Grundmenge

Mehr

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann Grundlagen der Informatik Kapitel 20 Harald Krottmaier Sven Havemann Agenda Klassen von Problemen Einige Probleme... Approximationsalgorithmen WS2007 2 Klassen P NP NP-vollständig WS2007 3 Klasse P praktisch

Mehr

Weitere universelle Berechnungsmodelle

Weitere universelle Berechnungsmodelle Weitere universelle Berechnungsmodelle Mehrband Turingmaschine Nichtdeterministische Turingmaschine RAM-Modell Vektoradditionssysteme λ-kalkül µ-rekursive Funktionen 1 Varianten der dtm Mehrkopf dtm Kontrolle

Mehr

Einführung in Algorithmen und Komplexität

Einführung in Algorithmen und Komplexität Einführung in Algorithmen und Komplexität SS2004 w u v High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 Was haben wir bisher gemacht? - Rechenmodell:

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Komplexitätstheorie (I) 22.07.2015 und 23.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie 3. Endliche

Mehr

Universelle Turingmaschinen

Universelle Turingmaschinen Universelle Turingmaschinen bisher: zum Erkennen einer rekursiven Sprache L wurde jeweils eine spezielle dtm M L angegeben jetzt: konstruieren feste dtm ( universelle Turingmaschine ), die als Eingabe

Mehr

Beispiel: NTM. M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) q 2

Beispiel: NTM. M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) q 2 Beispiel: NTM M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) 0,1,R 0,0,R q0 1,0,R q1 #,#,R q2 0,0,L Zustand 0 1 # q 0 {(1, R, q 0 )} {(0, R, q 1 )} q 1 {(0, R, q 1 ),(0, L, q 0 )} {(1, R, q

Mehr

NP-vollständige Probleme. Michael Budahn - Theoretische Informatik 1

NP-vollständige Probleme. Michael Budahn - Theoretische Informatik 1 NP-vollständige Probleme Michael Budahn - Theoretische Informatik 1 Motivation Michael Budahn - Theoretische Informatik 2 Motivation viele praxisrelevante Probleme sind NPvollständig und eine Lösung würde

Mehr

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausurnummer Nachname: Vorname: Matr.-Nr.: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 8 4 7 5 6 8 tats. Punkte Gesamtpunktzahl: Note: Punkte Aufgabe

Mehr

5.2 Endliche Automaten

5.2 Endliche Automaten 114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch

Mehr

8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem

8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem 8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem 8.1 Der Kompaktheitssatz Kompaktheitssatz Endlichkeitssatz Der Kompaktheitssatz ist auch unter dem Namen Endlichkeitssatz bekannt. Unter Verwendung

Mehr

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Einführung in Berechenbarkeit, Komplexität und Formale Sprachen V8, 5.11.09 Willkommen zur Vorlesung Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Friedhelm Meyer auf der Heide 1 Rückblick

Mehr

Kochrezept für NP-Vollständigkeitsbeweise

Kochrezept für NP-Vollständigkeitsbeweise Kochrezept für NP-Vollständigkeitsbeweise Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 11. Januar 2010 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein!

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein! 4 Turingmaschinen Eingabeband nicht nur lesen, sondern auch schreiben kann und die zudem mit ihrem Lese-Schreib-Kopf (LSK) nach links und rechts gehen kann. Das Eingabeband ist zudem in beide Richtungen

Mehr

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie Stefan Schmid TU Berlin & T-Labs, Berlin, Germany Reduktionen in der Berechenbarkeitstheorie Problem: Wie komme ich von hier zum Hamburger Hbf? 2 Beispiel P1 Wie komme ich von hier zum Hamburger Hbf? kann

Mehr

Unentscheidbarkeit von Problemen mittels Turingmaschinen

Unentscheidbarkeit von Problemen mittels Turingmaschinen Unentscheidbarkeit von Problemen mittels Turingmaschinen Daniel Roßberg 0356177 Roland Schatz 0355521 2. Juni 2004 Zusammenfassung In dieser Arbeit befassen wir uns mit der Unentscheidbarkeit von Problemen

Mehr

Einführung in die Logik

Einführung in die Logik Einführung in die Logik Klaus Madlener und Roland Meyer 24. April 2013 Inhaltsverzeichnis 1 Aussagenlogik 1 1.1 Syntax................................. 1 1.2 Semantik............................... 3 1.3

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 11 15. Juli 2010 Einführung in die Theoretische

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (V) 15.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Kapitel L:II. II. Aussagenlogik

Kapitel L:II. II. Aussagenlogik Kapitel L:II II. Aussagenlogik Syntax der Aussagenlogik Semantik der Aussagenlogik Eigenschaften des Folgerungsbegriffs Äquivalenz Formeltransformation Normalformen Bedeutung der Folgerung Erfüllbarkeitsalgorithmen

Mehr

Unentscheidbarkeitssätze der Logik

Unentscheidbarkeitssätze der Logik Unentscheidbarkeitssätze der Logik Elmar Eder () Unentscheidbarkeitssätze der Logik 1 / 30 Die Zahlentheorie ist nicht formalisierbar Satz (Kurt Gödel) Zu jedem korrekten formalen System der Zahlentheorie

Mehr

2.5 Halteproblem und Unentscheidbarkeit

2.5 Halteproblem und Unentscheidbarkeit 38 25 Halteproblem und Unentscheidbarkeit Der Berechenbarkeitsbegriff ist auf Funktionen zugeschnitten Wir wollen nun einen entsprechenden Begriff für Mengen einführen Definition 255 Eine Menge A Σ heißt

Mehr

Dank. Theoretische Informatik II. Teil VI. Vorlesung

Dank. Theoretische Informatik II. Teil VI. Vorlesung Dank Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Diese Vorlesungsmaterialien basieren zum Teil auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität

Mehr

Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben

Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekte mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

Mehr

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2012/13

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2012/13 Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2012/13 Prof. Barbara König Übungsleitung: Henning Kerstan & Sebastian Küpper Barbara

Mehr

Die Klassen P und NP. 4. Dezember / 39

Die Klassen P und NP. 4. Dezember / 39 Die Klassen P und NP 4. Dezember 2017 1 / 39 NP-Vollständigkeit Anfang der 70er Jahre: Erfolg in der Lösung wichtiger algorithmischer Probleme. Aber viele Probleme widersetzen sich: 4. Dezember 2017 2

Mehr

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Einführung in Berechenbarkeit, Komplexität und Formale Sprachen V7, 3.11.09 Willkommen zur Vorlesung Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Friedhelm Meyer auf der Heide 1 Rückblick

Mehr

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Teil VI. Komplexitätstheorie.

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Teil VI. Komplexitätstheorie. Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen

Mehr

NP-Vollständigkeit und der Satz von Cook und Levin

NP-Vollständigkeit und der Satz von Cook und Levin NP-Vollständigkeit und der Satz von Cook und Levin Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 17. Dezember 2010 Berthold Vöcking, Informatik 1 () Vorlesung

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie WS 11/12 155 Überblick Zunächst einmal definieren wir formal den Begriff

Mehr

1.5 Turing-Berechenbarkeit

1.5 Turing-Berechenbarkeit A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine

Mehr

1 Eine Menge M Σ heißt (rekursiv) aufzählbar genau. 2 Die Familie aller aufzählbaren Mengen wird mit RE

1 Eine Menge M Σ heißt (rekursiv) aufzählbar genau. 2 Die Familie aller aufzählbaren Mengen wird mit RE Aufzählbarkeit Formale Grundlagen der Informatik 1 Kapitel 9 Entscheidbarkeit und Aufzählbarkeit Frank Heitmann heitmann@informatik.uni-hamburg.de 5. Mai 2014 Definition 1 Eine Menge M Σ heißt (rekursiv)

Mehr

Übungsblatt Nr. 5. Lösungsvorschlag

Übungsblatt Nr. 5. Lösungsvorschlag Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Dirk Achenbach Tobias Nilges Vorlesung Theoretische Grundlagen der Informatik Übungsblatt Nr. 5 Aufgabe 1: Eine schöne Bescherung (K)

Mehr

Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z}

Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z} u v u v z w z w y x y x Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z} Definition 0.0.1 (Vertex Cover (VC)). Gegeben: Ein ungerichteter

Mehr

Komplexitätstheorie P versus NP

Komplexitätstheorie P versus NP Komplexitätstheorie P versus NP Kurt Mehlhorn und Adrian Neumann Max Planck Institute for Informatics and Saarland University 6. Januar 2014 Gliederung Komplexitätstheorie und die Komplexitätslandschaft

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005 Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2004/05 ILKD Prof. Dr. D. Wagner 24. Februar 2005 1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005 Aufkleber Beachten

Mehr

Kurt Mehlhorn und Adrian Neumann Max Planck Institute for Informatics and Saarland University 1. Dezember 2013

Kurt Mehlhorn und Adrian Neumann Max Planck Institute for Informatics and Saarland University 1. Dezember 2013 P versus NP Kurt Mehlhorn und Adrian Neumann Max Planck Institute for Informatics and Saarland University 1. Dezember 2013 Gliederung Informelle Formulierung des P = NP Problems Das Erfüllbarkeitsproblem

Mehr

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004 Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,

Mehr

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13 Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2003/04 ILKD Prof. Dr. D. Wagner 14. April 2004 2. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004 Hier Aufkleber

Mehr

4.2 Varianten der Turingmaschine. 4 Turingmaschinen

4.2 Varianten der Turingmaschine. 4 Turingmaschinen 4 Turingmaschinen Alles was intuitiv berechenbar ist, d.h. alles, was von einem Menschen berechnet werden kann, das kann auch von einer Turingmaschine berechnet werden. Ebenso ist alles, was eine andere

Mehr

1.5 Turing-Berechenbarkeit

1.5 Turing-Berechenbarkeit A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine

Mehr

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 25. September 2013 Aufgabe 1 Geben Sie jeweils eine kontextfreie Grammatik an, welche die folgenden Sprachen erzeugt, sowie einen Ableitungsbaum

Mehr

Theoretische Informatik. Komplexitätstheorie

Theoretische Informatik. Komplexitätstheorie Theoretische Informatik Komplexitätstheorie Inhalt Komplexität Nichtdeterministisch Polynomiale Probleme SAT ist NP-hart Polynomiale Reduzierbarkeit NP-Vollständige Probleme Effizienz von Lösungen Wir

Mehr

Probleme aus NP und die polynomielle Reduktion

Probleme aus NP und die polynomielle Reduktion Probleme aus NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 15. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2011 15. DIE POLYNOMIELL BESCHRÄNKTEN KOMPLEXITÄTSKLASSEN Theoretische Informatik (SoSe 2011) 15. Polynomiell beschränkte

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 29.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Motivation 2. Terminologie 3. Endliche Automaten und reguläre

Mehr

THEORETISCHE INFORMATIK UND LOGIK

THEORETISCHE INFORMATIK UND LOGIK THEORETISCHE INFORMATIK UND LOGIK 4. Vorlesung: Das Halteproblem und Reduktionen Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 19. April 2017 Ankündigung Wegen großer Nachfrage wird eine

Mehr