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