Theoretische Informatik
Transcription
Theoretische Informatik
Wiederholung: Entscheidbarkeit von Problemen (Entscheidungs-)Problem Sprache Q ⊆ X ∗ (Menge aller positiven Instanzen) Instanz des Problemes w ∈ X ∗ Frage: Gilt w ∈ Q? Problem Q heißt entscheidbar gdw. Sprache Q entscheidbar z.B. Suchen, Sortieren, Wortproblem für kontextfreie Grammatiken unentscheidbar gdw. Sprache Q nicht entscheidbar z.B. Halteprobleme, PCP, Parkettierungsproblem Entscheidbarkeit ist ein theoretische Eigenschaft von Problemen. Theoretisch entscheidbare Probleme könne praktisch unlösbar sein, weil alle (bekannten) Entscheidungsverfahren für dieses Problem zu aufwendig zur tatsächlichen Durchführung sind. Wie misst man den Aufwand zur Lösung eines Problems? Wann sind zwei Probleme gleich schwer (aufwendig)? 175 Wiederholung: Reduktion Reduktion des Problems Q auf Problem R: totale berechenbare Funktion f : X ∗ → Y ∗ mit ∀w ∈ X ∗ : w ∈ Q ↔ f (w) ∈ R (Übersetzung jeder Instanz des Problems Q in eine Instanz des Problems R) Anwendung zum Nachweis der (Un-)Entscheidbarkeit eines Problemes Q I Ist R entscheidbar und Q ≤ R, dann ist auch Q entscheidbar (Entscheidungsverfahren durch Übersetzung in R) I Ist Q unentscheidbar und Q ≤ R, dann ist auch R unentscheidbar. Beispiel: spezielles HP S = {c(M) | M hält auf c(M)} allgemeines HP A = {c(M) • w | M hält auf w} S ≤ A durch Reduktion f (w) = w • w Da S unentscheidbar, ist auch A unentscheidbar 176 Hamiltonkreis (HC) gegeben: (ungerichteter) Graph G = (V , E) Wiederholung: Hamiltonkreis in G: Kreis (V , E 0 ) in G, der jeden Knoten in V genau einmal enthält Frage: Gibt es in G einen Hamiltonkreis? Problem: HC = {(V , E) | ∃ Hamiltonkreis C in G} Instanz: spezieller Graph G = (V , E) DHC: dasselbe Problem für gerichtete Graphen 177 Problem des Handelsreisenden (Traveling Salesman, TSP) (ungerichteter) Graph G = (V , E, l) mit Kantenmarkierung l : E → \ {0} N Frage: Gibt es in G einen Hamiltonkreis der Länge (Summe der Kantenmarkierungen) ≤ n? Problem: TSP = {((V , E, l), n) | ∃ Hamiltonkreis der Länge ≤ n} Instanz: (G, n) mit 1. Graph G = (V , E, l) 2. Schranke n 178 Beispiel HC ≤ DHC durch Reduktion f , wobeiS∀ G = (V , E): f (G) = G0 = (V , E 0 ) mit E 0 = {u,v }∈E {(u, v ), (v , u)} G hat HC gdw. G0 hat DHC DHC ≤ HC durch Reduktion f , wobei ∀ G = (V , E): f (G) = G0 = (V 0 , E 0 ), wobei jeder Knoten ersetzt durch Kette (Tafel) G hat DHC → G0 hat HC HC ≤ TSP durch Reduktion f mit für G = (V , E): f (G) = G0 = ((V , E, l), |V |) mit ∀e ∈ E : l(e) = 1 G hat HC gdw. (G0 , |V |) ∈ TSP 179 Ressourcenverbrauch bei Berechnungen Ressorcenverbrauch einer Ausführung eines Algorithmus (Programm) im Maschinenmodell RAM: Laufzeit Anzahl der Schritte Speicherplatz maximale Anzahl der gleichzeitig belegten Speicherzellen als Funktion der Länge n des Eingabewortes (O-Notation) (abhängig von der Zahldarstellung, Codierung) Ressourcenverbrauch einer TM-Berechnung (Programm, Algorithmus): Laufzeit Anzahl der Schritte (Konfigurationsübergänge) der Berechnung Speicherplatz Länge der längsten Konfiguration in der Berechnung als Funktion der Länge n des Eingabewortes 180 Aufwandsabschätzung für Probleme Aufwand (Zeit oder Platz) zur Lösung eines Problems Q ⊆ X ∗ : I Minimum des (worst-case-)Aufwandes über alle Entscheidungverfahren (Algorithmen, TM-Programme) zur Lösung des Problems (Gilt w ∈ Q ?) I Maximum des Aufwandes für alle Instanzen w ∈ X ∗ des Problems mit einem Verfahren (Aufwand zur Lösung einer schwierigsten Instanz mit einem besten Algorithmus) Abschätzung (von Zeit- oder Platzbedarf) zur Lösung eines Problems nach oben (worst case): logarithmisch O(log n) linear O(n) N polynomiell O(nk ) für ein k ∈ (hier Abstraktion vom Grad des Polynoms) exponentiell O(2n ) 181 Polynomielle Reduzierbarkeit Wiederholung: Reduktion des Problems Q auf Problem R: Transformation der Sprache Q ⊆ X ∗ in die Sprache R ⊆ Y ∗ , d.h. berechenbare Funktion f : X ∗ → Y ∗ mit ∀w ∈ X ∗ : w ∈ Q ↔ f (w) ∈ R (Übersetzung jeder Instanz des Problems Q in eine Instanz des Problems R) jetzt zusätzlich Betrachtung des zeitlichen Aufwandes der Reduktion Problem Q heißt genau dann polynomiell reduzierbar auf Problem R (Q ≤P R), wenn eine Reduktion f von Q auf R mit polynomieller Laufzeit existiert. 182 Beispiel HC ≤p DHC durch polynomielle Reduktion f , wobeiS∀ G = (V , E): f (G) = G0 = (V , E 0 ) mit E 0 = {u,v }∈E {(u, v ), (v , u)} G hat HC gdw. G0 hat DHC HC ist also höchstens so schwer wie DHC DHC ≤p HC wegen für G = (V , E): f (G) = G0 = (V 0 , E 0 ) jeder Knoten ersetzt durch Kette (Tafel) G hat DHC gdw. G0 hat HC DHC ist also höchstens so schwer wie HC HC und DHC sind also „gleich schwer“ 183 Berechnung nichtdeterministischer TM Wiederholung: Jede durch eine nichtdeterministische TM akzeptierte Sprache wird auch von einer deterministischen TM akzeptiert. Aber: Aufwand (Zeit-, Platzbedarf) steigt (informale) Funktionsweise einer nichtdeterministischen TM: Raten einer Antwort (eines endlichen Pfades im Berechnungsbaum) Überprüfen , ob die geratene Antwort eine Lösung des Problems ist (d.h. Konfigurationen auf dem geratenen Pfad bilden akzeptierende Berechnung) Nichtdeterministische TM raten optimale korrekte Lösungen, wenn diese existieren. 184 Beispiel SAT Verfahren zur Entscheidung, ob eine gegebene aussagenlogische Formel ϕ ∈ AL(P) erfüllbar ist: Suche nach einer erfüllenden Belegung Ausgabe: 1, falls eine erfüllende Belegung gefunden 0, falls keine erfüllende Belegung gefunden Berechnung durch eine nichtdeterministische TM M: Raten einer Belegung W : P → {0, 1} Überprüfung , ob W (ϕ) = 1 Ausgabe W (ϕ) (1, falls W die Formel ϕ erfüllt, 0 sonst) Falls eine erfüllende Belegung W existiert, rät M diese. (ein Test) Berechnung durch eine deterministische TM: I schrittweise Berechnung aller möglichen Belegungen W : P → {0, 1} (2|P| ), I Test für jede berechnete Belegung W : P → {0, 1}, ob W (ϕ) = 1 (2|P| Tests), falls ja : Abbruch mit Ausgabe 1 nein : Überprüfung der nächsten Belegung 185 Prominente Komplexitätsklassen Komplexitätsklasse K : Menge von Problemen etwa gleicher Schwierigkeit Zeit-Komplexitätsklassen: P (PTIME): Problem in polynomieller Laufzeit von einer deterministischen TM lösbar Probleme in P nennt man effizient lösbar. NP (NPTIME): Problem in polynomieller Laufzeit von einer nichtdeterministischen TM lösbar EXPTIME: Problem in exponentieller Laufzeit von einer deterministischen TM lösbar NEXPTIME: Problem in exponentieller Laufzeit von einer nichtdeterministischen TM lösbar Platz-Komplexitätsklassen: PSPACE (= NPSPACE): Problem durch DTM (TM) mit polynomiell beschränktem Band lösbar 186 Zusammenhänge zwischen Komplexitätsklassen P ⊆ NP ⊆ PSPACE = NPSPACE ⊆ EXPTIME ⊆ NEXPTIME P-NP-Problem: Gilt P = NP ? (Antwort noch unbekannt) Problem Q heißt genau dann vollständig in einer Komplexitätsklasse K , wenn 1. Q ∈ K und 2. für jedes Problem R ∈ K gilt R ≤P Q 187 Komplexitätsklasse NP Problem (Sprache) Q ist ∈ NP , falls Q in polynomieller Laufzeit von einer nichtdeterministischen TM lösbar ist (Lösungsvorschlag lässt sich von einer DTM in polynomieller Zeit verifizieren) ∈ CO-NP , falls Q ∈ NP (Lösungsvorschlag lässt sich von einer DTM in polynomieller Zeit falsifizieren) NP-schwer , falls für jedes Problem R ∈ NP gilt: R ≤p Q (wenigstens so schwer wie alle anderen Probleme in NP) NP-vollständig , falls Q ∈ NP und Q NP-schwer 188 NP-vollständige Probleme – Beispiele I SAT (Satz von Cook) Eingabe: aussagenlogische Formel ϕ Frage: Gilt Mod(ϕ) 6= ∅? I 3-SAT Eingabe: Frage: I HC Eingabe: Frage: aussagenlogische Formel ϕ in DNF, wobei jede Klausel ≤ 3 Literale enthält Gilt Mod(ϕ) 6= ∅? Graph G Existiert in G ein Hamiltonkreis? I TSP Ziel: Rundreise der Länge ≤ n (minimaler Länge) Eingabe: gerichteter Graph mit markierten Kanten (Entfernungen) Frage: Existiert eine Reihenfolge der Städte für eine Rundreise der Länge ≤ n I Äquivalenz regulärer Ausdrücke 189 NP-vollständige Probleme – Beispiele I Bin Packing Ziel: Verteilung von Gegenständen auf Behälter Eingabe: Menge B von k Behältern bi mit Maximalvolumen v (bi ), Menge G von Gegenständen gi mit Volumen v (gi ) Frage: Existiert eine P Zuordnung: G → B, so dass ∀b ∈ B : g∈b v (g) ≤ v (b)? I Vertex Cover (VC) Ziel: Knotenmenge in einem Graphen, die von jeder Kante wenigstens eine Ecke enthält Eingabe: Graph G = (V , E), k ∈ Frage: Existiert eine Teilmenge V 0 ⊆ V mit |V | ≤ k und ∀{u, v } ∈ E : V 0 ∩ {u, v } = 6 ∅? N I Färbbarkeit von Graphen Eingabe: Graph G = (V , E), k ∈ Frage: Existiert eine Zuordnung c : V → {1, . . . , k } (Farben), so dass ∀{u, v } ∈ E : c(u) 6= c(v )? N 190 PSPACE-vollständige Probleme – Beispiele I QBF (quantifizierte Boolesche Formeln, z.B. ∃a∀b(a ∨ b)) I Planungsprobleme I Sokoban I Lunar Lockout I temporale und andere nichtklassische Logiken I Model Checking, Programmverifikation gängige Meinung auf dem Gebiet der künstlichen Intelligenz: Jede Logik, deren Entscheidungsproblem weniger komplex als PSPACE ist, ist (zur Wissensrepräsentation) nicht ausdruckstark genug. 191