2x2

Werbung
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
Reduzierbarkeit
Vorlesung “Berechenbarkeit und Komplexität”
alias
“Theoretische Informatik: Komplexitätstheorie und
effiziente Algorithmen”
Wie bei der Berechenbarkeitstheorie beschäftigen wir uns auch hier
mit dem Konzept der Reduzierbarkeit. Damit wollen wir Aussagen
folgender Form ableiten:
Wenn B lösbar ist, dann ist auch A lösbar und man
benötigt nur einen polynomial großen zusätzlichen
Zeitaufwand. (A ist auf B polynomial reduzierbar.)
Wintersemester 2011/12
Damit haben wir auch die Möglichkeit, die “schwersten” Probleme
der Komplexitätsklasse NP (sogenannte NP-vollständige Probleme)
zu definieren. Das sind Probleme in NP, auf die alle anderen
NP-Probleme polynomial reduzierbar sind.
Prof. Barbara König
Übungsleitung: Henning Kerstan & Jan Stückrath
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
1
Komplexitätsklassen
NP-Vollständigkeit
Reduzierbarkeit
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
257
Komplexitätsklassen
NP-Vollständigkeit
Reduzierbarkeit
Analog zum Begriff der Reduzierbarkeit in der
Berechenbarkeitstheorie definieren wir nun den Begriff der
polynomialen Reduzierbarkeit.
Polynomiale Reduzierbarkeit (Lemma)
Polynomiale Reduzierbarkeit (Definition)
Σ∗ ,
Falls A ≤p B, so gilt:
Γ∗ .
Gegeben seien Sprachen A ⊆
B⊆
Dann heißt A auf B
polynomial reduzierbar (in Zeichen A ≤p B), falls es eine totale
und mit polynomialer Laufzeit (deterministisch) berechenbare
Funktion f : Σ∗ → Γ∗ gibt, so dass für alle x ∈ Σ∗ gilt:
Aus B ∈ P folgt A ∈ P.
Aus B ∈ NP folgt A ∈ NP.
x ∈ A ⇐⇒ f (x) ∈ B.
Barbara König
BeKo/TI
258
Barbara König
BeKo/TI
259
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
Reduzierbarkeit
Komplexitätsklassen
NP-Vollständigkeit
NP-Vollständigkeit
Begründung für: (A ≤p B und B ∈ P) ⇒ A ∈ P
MA
x
f
f (x)
Laufzeit p(|x|)
MB
NP-hart, NP-vollständig (Definition)
Ja
Eine Sprache A heißt NP-hart, falls für alle Sprachen L ∈ NP gilt:
L ≤p A.
Eine Sprache A heißt NP-vollständig, falls A NP-hart ist und
A ∈ NP gilt.
Nein
Laufzeit q(|f (x)|)
Außerdem: |f (x)| ≤ p(|x|)
Das bedeutet: eine NP-vollständige Sprache ist mindestens so
schwierig wie jedes andere Problem in NP.
In polynomialer Laufzeit kann f höchstens eine polynomial große
Ausgabe f (x) produzieren.
Dann gilt für die Gesamtlaufzeit:
p(|x|) + q(|f (x)|) ≤ p(|x|) + q(p(|x|)), und das ist wiederum ein
Polynom
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
260
Komplexitätsklassen
NP-Vollständigkeit
NP-Vollständigkeit
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
261
Komplexitätsklassen
NP-Vollständigkeit
NP-Vollständigkeit
Sobald man von einer NP-vollständigen Sprache zeigen könnte,
dass sie in P (nicht) enthalten ist, wäre das P 6= NP-Problem
gelöst.
Bemerkung: Sobald man von einer Sprache A nachgewiesen hat,
dass sie NP-hart ist, kann man dieses Resultat nutzen, um die
NP-Härte einer anderen Sprache B zu beweisen.
NP-Vollständigkeit und P
Sei A NP-vollständig. Dann gilt
Es reicht in diesem Fall aus zu zeigen, dass A ≤p B gilt. Aufgrund
der Transitivität von ≤p folgt dann auch L ≤p B für alle L ∈ NP.
A ∈ P ⇐⇒ P = NP
Bemerkung: Daraus folgt unmittelbar, dass auch
A 6∈ P ⇐⇒ P 6= NP für jedes NP-vollständige Problem A gilt.
Barbara König
BeKo/TI
262
Barbara König
BeKo/TI
263
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
NP-Vollständigkeit
Komplexitätsklassen
NP-Vollständigkeit
NP-Vollständigkeit
Dazu nochmal ein Comic (aus Garey/Johnson: Computers and
Intractability):
Nicht so gut . . .
Bedeutung des Konzepts der NP-Vollständigkeit
Klassifizierung von Problemen: viele in der Praxis relevanten
Probleme sind NP-vollständig.
Das bedeutet, dass es für diese Probleme aufwändig ist,
exakte Lösungen zu finden und man in den meisten Fällen
Heuristiken einsetzen muss, die annähernde Lösungen liefern.
Strukturtheorie für die Komplexitätstheorie
Hoffnung für das P 6= NP-Problem?
“I can’t find an efficient algorithm. I guess I’m just too dumb.”
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
264
Komplexitätsklassen
NP-Vollständigkeit
NP-Vollständigkeit
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
265
Komplexitätsklassen
NP-Vollständigkeit
SAT ist NP-vollständig
Besser . . .
Wir zeigen nun, dass das Erfüllbarkeitsproblem SAT für
aussagenlogische Formeln NP-vollständig ist.
Dazu nehmen wir an, dass aussagenlogische Formeln geeignet
kodiert einer Turingmaschine als Eingabe übergeben werden
können.
NP-Vollständigkeit von SAT (Satz von Cook)
Das Erfüllbarkeitsproblem der Aussagenlogik SAT ist
NP-vollständig.
“I can’t find an efficient algorithm, but neither can all these
famous people.”
Barbara König
BeKo/TI
266
Barbara König
BeKo/TI
267
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
SAT ist NP-vollständig
Komplexitätsklassen
NP-Vollständigkeit
SAT ist NP-vollständig
1. Schritt: Man muss zeigen, dass SAT in NP liegt. Das folgt
unmittelbar aus den Überlegungen im vorherigen Abschnitt
(Belegung raten und überprüfen, ob sie die Formel erfüllt).
2. Schritt: Wir müssen zeigen, dass SAT NP-hart ist, das heißt,
dass L ≤p SAT für alle L ∈ NP gilt.
Jedes Problem L ∈ NP wird durch eine nicht-deterministische
polynomzeitbeschränkte Turingmaschine M akzeptiert.
Gegeben sei ein beliebiges Problem L ∈ NP. Zeige, dass es zu
jedem Wort x = x0 . . . xn−1 eine aussagenlogische Formel F gibt
mit:
Sei also M eine solche Turingmaschine für L.
Wir nehmen an, dass Γ = {a1 , . . . , a` } das Bandalphabet und
Z = {z0 , z1 , . . . , zk } die Zustandsmenge bezeichnen.
x ∈ L ⇐⇒ F ist erfüllbar
Die Kodierung von F ist immer kürzer als (oder gleich) q(n),
wobei q ein Polynom ist, d.h., F ist polynomial durch die
Größe von x beschränkt (wg. polynomialer Reduzierbarkeit)
und die Berechnung von F erfordert weniger als q(n) Schritte.
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
268
Komplexitätsklassen
NP-Vollständigkeit
SAT ist NP-vollständig
BeKo/TI
269
Komplexitätsklassen
NP-Vollständigkeit
SAT ist NP-vollständig
Position:
Idee: Jede Berechnung von M auf x kann man als Tableau
darstellen, bei dem die Bandinhalte in den aufeinanderfolgenden
Schritten untereinandergeschrieben werden.
Beobachtungen:
M akzeptiert x, wenn es ein Tableau gibt, das mit Bandinhalt
x und Anfangszustand z0 beginnt und mit einem beliebigen
Bandinhalt und einem Endzustand endet.
Da die Rechenzeit von M polynomial beschränkt ist (durch
ein Polynom p), reicht es aus, Tableaus zu mit folgenden
Schritten und Positionen zu betrachten:
Schritte: 0, . . . , p(n)
Positionen: −p(n), . . . , −1, 0, 1, . . . , p(n) (an andere
Positionen kann der Kopf in p(n) Schritten nicht gelangen)
Barbara König
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
. . . −1 0
1
2
3
4
5 ...
Schritte:
Zustand: z0
1
0
1
1
1
0
z0
1
0
1
1
1
1
z0
1
0
1
1
1
2
z0
1
0
1
1
1
3
z0
1
0
1
1
1
4
z0
1
0
1
1
1
5
z1
1
0
1
1
1
6
z1
1
0
1
1
0
7
...
270
Barbara König
BeKo/TI
271
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
SAT ist NP-vollständig
SAT ist NP-vollständig
Position:
Wir bestimmen nun die atomaren Aussagen (Variablen) der
aussagenlogischen Formel. Diese beschreiben vollständig den Inhalt
eines Tableaus:
Atomare
Aussage
zust t,z
pos t,i
band t,i,a
Indizes
t = 0, . . . , p(n)
z ∈Z
Bedeutung
zust t,z = 1 ⇐⇒
nach t Schritten befindet
sich M im Zustand z
pos t,i = 1 ⇐⇒
der Kopf von M befindet sich nach
t Schritten auf Position i
band t,i,a = 1 ⇐⇒
nach t Schritten befindet
sich auf Position i das Zeichen a
t = 0, . . . , p(n)
i = −p(n), . . . , p(n)
t = 0, . . . , p(n)
i = −p(n), . . . , p(n)
a∈Γ
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
272
Komplexitätsklassen
NP-Vollständigkeit
SAT ist NP-vollständig
Position:
pos 6,4 = 1
Komplexitätsklassen
NP-Vollständigkeit
zust 2,z0 = 1
. . . −1 0
1
2
3
4
5 ...
Schritte:
Zustand: z0
1
0
1
1
1
0
z0
1
0
1
1
1
1
z0
1
0
1
1
1
2
z0
1
0
1
1
1
3
z0
1
0
1
1
1
4
z0
1
0
1
1
1
5
z1
1
0
1
1
1
6
z1
1
0
1
1
0
7
...
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
273
Komplexitätsklassen
NP-Vollständigkeit
SAT ist NP-vollständig
. . . −1 0
1
2
3
4
5 ...
Schritte:
Zustand: z0
1
0
1
1
1
0
z0
1
0
1
1
1
z0
1
0
1
1
1
z0
1
0
1
1
z0
1
0
1
z0
1
0
z1
1
z1
1
Position:
. . . −1 0
1
2
3
4
5 ...
Zustand: z0
1
0
1
1
1
0
1
z0
1
0
1
1
1
1
2
z0
1
0
1
1
1
2
1
3
z0
1
0
1
1
1
3
1
1
3
z0
1
0
1
1
1
4
1
1
1
5
z0
1
0
1
1
1
5
0
1
1
1
6
z1
1
0
1
1
1
6
0
1
1
0
7
z1
1
0
1
1
0
7
band 5,−1, =
1
...
Barbara König
BeKo/TI
Schritte:
...
273
Barbara König
BeKo/TI
273
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
SAT ist NP-vollständig
Komplexitätsklassen
NP-Vollständigkeit
SAT ist NP-vollständig
Wir geben nun eine aussagenlogische Formel F mit folgendem
Inhalt an:
(Anfang) Die erste Zeile des Tableaus enspricht der
Anfangskonfiguration mit x auf dem Band
(Randbedingungen) Die Formel ist in sich konsistent, insbesondere
befindet sich zu jedem Zeitpunkt
die Turingmaschine in genau einem Zustand
der Kopf an genau einer Position
genau ein Zeichen in jedem Feld
(Übergang 1) Jede nachfolgende Zeile folgt aus der
vorhergehenden Zeile, wobei sich der Zustand, die
Kopfposition und der Bandinhalt ändert, so wie dies
durch die Überführungsfunktion δ beschrieben wird.
(Übergang 2) Alle Bandfelder, die nicht vom Übergang betroffen
sind, behalten ihren Inhalt.
(Ende) In der letzten Zeile des Tableaus wird ein Endzustand
erreicht.
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
274
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
SAT ist NP-vollständig
BeKo/TI
275
Komplexitätsklassen
NP-Vollständigkeit
SAT ist NP-vollständig
Die erste Zeile des Tableaus enspricht der Anfangskonfiguration
mit x auf dem Band.
Dann gilt: die akzeptierenden Berechnungen der Turingmaschine
entsprechen genau den erfüllenden Belegungen der Formel.
(Anfang)
Wir beschreiben nun die fünf Bedingungen (Anfang),
(Übergang 1), (Übergang 2), (Ende) und (Randbedingungen) als
aussagenlogische Formeln. Die Formel F ergibt sich dann durch
Konjunktion (UND-Verknüpfung) dieser fünf Formeln.
Formel A
A = zust 0,z0 ∧ pos 0,0 ∧
n−1
^
band 0,j,xj ∧
j=0
−1
^
band 0,j,
j=−p(n)
p(n)
∧
^
band 0,j,
j=n
Barbara König
BeKo/TI
276
Barbara König
BeKo/TI
277
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
SAT ist NP-vollständig
SAT ist NP-vollständig
Jede Zeile folgt aus der vorhergehenden Zeile, wobei sich der
Zustand, die Kopfposition und der Bandinhalt ändert, so wie dies
durch die Überführungsfunktion δ beschrieben wird.
(Übergang 1)
U1
=
^ (zust t,z ∧ pos t,i ∧ band t,i,a )
t,z,i,a
→
Alle Bandfelder, die nicht vom Übergang betroffen sind, behalten
ihren Inhalt.
Formel U1
_
Komplexitätsklassen
NP-Vollständigkeit
(zust t+1,z 0
(Übergang 2)
∧ pos t+1,i+d(y ) ∧ band t+1,i,a0 )
U2 =
Formel U2
^
(¬pos t,i ∧ band t,i,a ) → band t+1,i,a
t,i,a
z 0 , a0 , y mit
0
(z , a0 , y ) ∈ δ(z, a)

 −1 falls y = L
0
falls y = N
wobei d(y ) =

1
falls y = R
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
278
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
SAT ist NP-vollständig
BeKo/TI
279
Komplexitätsklassen
NP-Vollständigkeit
SAT ist NP-vollständig
Für die Beschreibung der Randbedingung benötigen wir eine
Hilfsformel G mit
In der letzten Zeile des Tableaus wird ein Endzustand erreicht.
(Ende)
G (x1 , . . . , xm ) = 1 ⇐⇒ für genau ein i ist xi = 1
Formel E
E
=
_
G kann beispielsweise folgende Form haben:
zust p(n),z
z∈E
G=
_
m
xi
∧
m−1
m
^ ^
¬(xj ∧ x` )
j=1 `=j+1
| i=1
{z }
|
{z
}
mindestens ein xi = 1 falls j =
6 ` ⇒ ¬(xj = 1 ∧ x` = 1)
Barbara König
BeKo/TI
280
Barbara König
BeKo/TI
281
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
SAT ist NP-vollständig
SAT ist NP-vollständig
Die Formel ist in sich konsistent, insbesondere befindet sich zu
jedem Zeitpunkt
Die Formel F sieht dann wie folgt aus:
die Turingmaschine in genau einem Zustand
der Kopf an genau einer Position
F = A ∧ U1 ∧ U2 ∧ E ∧ R
genau ein Zeichen in jedem Feld
(Randbedingungen)
Bei genauerer Betrachtung stellt man auch fest, dass die Größe
von F durch q(|x|) beschränkt ist, wobei x die Eingabe und q ein
Polynom ist.
Formel R
^
R =
G (zust t,z1 , . . . , zust t,zk ) ∧ G (pos t,−p(n) , . . . , pos t,p(n) )
t
∧
^
Komplexitätsklassen
NP-Vollständigkeit
Da x in der entsprechenden Sprache enthalten ist, genau dann,
wenn F erfüllbar ist, folgt daraus die Existenz einer polynomialen
Reduktion von L nach SAT, was zu beweisen war.
G (band t,i,a1 , . . . , band t,i,a` )
i
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
282
Komplexitätsklassen
NP-Vollständigkeit
SAT ist NP-vollständig
BeKo/TI
283
Komplexitätsklassen
NP-Vollständigkeit
Weitere NP-vollständige Probleme
Konsequenzen aus dem Satz von Cook:
Wir betrachten nun folgende Reduktionskette und weisen dadurch
nach, dass alle diese Probleme NP-vollständig sind.
Da SAT in exponentieller Zeit 2O(n) entscheidbar ist
(Wahrheitstafel, alle Belegungen durchprobieren) und alle
NP-Probleme polynomial auf SAT reduzierbar sind, sind damit
auf jeden Fall alle NP-Probleme in exponentieller Zeit
entscheidbar.
SAT ≤p 3KNF-SAT ≤p GER.HAM.KREIS
≤p UNGER.HAM.KREIS ≤p TSP
3KNF-SAT: Erfüllbarkeit von aussagenlogischen Formeln in
konjunktiver Normalform mit höchstens drei Literalen pro
Klausel.
Es gibt Erfüllbarkeits-Checker für aussagenlogische Formeln in
konjunktiver Normalform (sogenannte SAT-Solver), die in der
Praxis gut funktionieren.
GER.HAM.KREIS: Enthält ein Graph einen gerichteten
Hamiltonkreis?
Für bestimmte Formeln zeigen sie jedoch ein schlechtes
Laufzeitverhalten.
UNGER.HAM.KREIS: Enthält ein Graph einen ungerichteten
Hamiltonkreis?
Diese SAT-Solver kann man über Reduktionen nutzen, um
damit auch andere NP-vollständige Probleme in der Praxis zu
lösen.
Barbara König
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
TSP: Travelling Salesman Problem
284
Barbara König
BeKo/TI
285
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
3KNF-SAT ist NP-vollständig
3KNF-SAT ist NP-vollständig
NP-Vollständigkeit von 3KNF-SAT (Satz)
Erfüllbarkeitsproblem 3KNF-SAT
Eingabe: eine aussagenlogische Formel F in konjunktiver
Normalform mit höchstens drei Literalen pro Klausel.
Das Problem 3KNF-SAT ist NP-vollständig.
Beweis: Wir bestimmen eine Reduktionsfunktion für
SAT ≤p 3KNF-SAT wie folgt: sei F eine beliebige aussagenlogische
Formel. Wir müssen eine Formel F 0 in konjunktiver Normalform
mit maximal drei Literalen pro Klausel bestimmen, so dass
Ausgabe: Hat F eine erfüllende Belegung?
Beispiel: Die Formel F = (x1 ∨ ¬x2 ) ∧ (x1 ∨ x2 ∨ x3 ) ∧ ¬x1 ∧ ¬x3 ist
in der geforderten Form und hat keine erfüllende Belegung. Das
heißt F 6∈ 3KNF-SAT.
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
BeKo/TI
F erfüllbar ⇐⇒ F 0 erfüllbar
286
Komplexitätsklassen
NP-Vollständigkeit
3KNF-SAT ist NP-vollständig
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
287
Komplexitätsklassen
NP-Vollständigkeit
3KNF-SAT ist NP-vollständig
1. Schritt: Stelle alle Operatoren durch ∨, ∧ und ¬ dar.
3. Schritt: Betrachte die so entstandene Formel als binären Baum,
bei dem an den inneren Knoten die Operatoren ∧, ∨ stehen und
die Blätter mit xi bzw. ¬xi beschriftet sind.
F1 → F2 ≡ ¬F1 ∨ F2
F1 ↔ F2 ≡ (F1 → F2 ) ∧ (F2 → F1 )
≡ (¬F1 ∨ F2 ) ∧ (¬F2 ∨ F1 )
∨
2. Schritt: Bringe alle Negationen ¬ zu den atomaren Aussagen,
durch Anwendung der Regeln von de Morgan und einer weiteren
Negationsregel:
∨
x1
¬(F1 ∨ F2 ) ≡ ¬F1 ∧ ¬F2
∧
¬x2
x2
¬x1
¬(F1 ∧ F2 ) ≡ ¬F1 ∨ ¬F2
¬¬F
Barbara König
≡ F
BeKo/TI
288
Barbara König
BeKo/TI
289
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
3KNF-SAT ist NP-vollständig
3KNF-SAT ist NP-vollständig
4. Schritt: Ordne jedem inneren Knoten eine neue Variable
y0 , y1 , y2 , . . . zu. Der Wurzel wird y0 zugeordnet.
5. Schritt: Sei yi die Beschriftung eines inneren Knotens mit
Operator ◦. Außerdem seien die Kinder mit u, v beschriftet. Dann
ordne diesem Knoten die Formel yi ↔ u ◦ v zu. Alle diese Formeln
werden mit ∧ verknüpft und die neue Formel y0 hinzugefügt.
∨ y0
∨ y1
x1
In unserem Beispiel ergibt sich:
∧ y2
¬x2
y0 ∧ (y0 ↔ (y1 ∨ y2 )) ∧ (y1 ↔ (x1 ∨ ¬x2 )) ∧ (y2 ↔ (x2 ∧ ¬x1 ))
¬x1
x2
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
290
Komplexitätsklassen
NP-Vollständigkeit
3KNF-SAT ist NP-vollständig
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
291
Komplexitätsklassen
NP-Vollständigkeit
3KNF-SAT ist NP-vollständig
Alternativer Vorschlag (schlechte Idee):
6. Schritt: Forme diese Formel in die verlangte konjunktive
Normalform mit maximal drei Literalen pro Klausel um. Und zwar
mit Hilfe folgender Regeln:
Warum wird die Formel F nicht mit Hilfe der Regeln von
de Morgan und des Distributivgesetzes in konjunktive
Normalform gebracht? (Und dann weiter umgeformt, so
dass man weniger als drei Literale pro Klausel hat?)
y ↔ (u ∨ v ) ≡ (¬y ∨ u ∨ v ) ∧ (¬(u ∨ v ) ∨ y )
≡ (¬y ∨ u ∨ v ) ∧ ((¬u ∧ ¬v ) ∨ y )
Antwort: Bei dieser Umwandlung kann die Formel exponentiell
größer werden!
Beispiel: Die Größe der Formel
≡ (¬y ∨ u ∨ v ) ∧ (¬u ∨ y ) ∧ (¬v ∨ y )
(Distributivgesetz!)
(x1 ∧ x2 ) ∨ (x3 ∧ x4 ) ∨ · · · ∨ (x2n−1 ∧ x2n )
Analog: y ↔ (u ∧ v ) ≡ (¬y ∨ u) ∧ (¬y ∨ v ) ∧ (¬u ∨ ¬v ∨ y )
ist linear in n. Bei Umformung in konjunktive Normalform mittels
des Distributivgesetzes (“ausmultiplizieren”) erhält man jedoch 2n
Klauseln, jede der Größe n. Eine solche Klausel ist beispielsweise
F 0,
Damit erhält man eine Formel
die erfüllbar ist, genau dann,
wenn F erfüllbar ist. Außerdem wurden alle Umformungsschritte
mit nur polynomialem Aufwand durchgeführt.
Barbara König
Komplexitätsklassen
NP-Vollständigkeit
BeKo/TI
(x1 ∨ x3 ∨ · · · ∨ x2n−1 )
292
Barbara König
BeKo/TI
293
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
Betrachtung von 2KNF-SAT
Komplexitätsklassen
NP-Vollständigkeit
Betrachtung von 2KNF-SAT
Für das Resolutionsverfahren benötigen wir die folgenden beiden
Sätze:
Wir betrachten nun das Problem 2KNF-SAT, analog zu
3KNF-SAT, bei dem jede Klausel höchstens zwei Literale enthält.
Resolutionsregel (Satz)
Es gilt:
Behauptung: Mit Hilfe des Resolutionsverfahrens ist in
Polynomialzeit entscheidbar, ob eine Formel F dieser Form
erfüllbar ist. D.h., 2KNF-SAT liegt in P.
(F1 ∨ xi ) ∧ (F2 ∨ ¬xi ) ≡ F ∧ (F1 ∨ F2 )
{z
}
|
F
Das Argument “man muss aber doch alle Belegungen
durchprobieren” ist also nicht in allen Fällen stichhaltig.
Das heißt man kann neu gebildete Klauseln zu einer Formel
hinzufügen, ohne ihren Wahrheitswert und ihre Erfüllbarkeit zu
verändern.
Beispiel: (x1 ∨ x2 ) ∧ (x3 ∨ ¬x2 ) ≡ (x1 ∨ x2 ) ∧ (x3 ∨ ¬x2 ) ∧ (x1 ∨ x3 ).
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
294
Komplexitätsklassen
NP-Vollständigkeit
Betrachtung von 2KNF-SAT
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
295
Komplexitätsklassen
NP-Vollständigkeit
Betrachtung von 2KNF-SAT
Beispiel: Aus F = (x1 ∨ ¬x2 ) ∧ (x1 ∨ x2 ∨ x3 ) ∧ ¬x1 ∧ ¬x3 kann
man folgende Klauseln ableiten:
Resolutionsverfahren (Satz)
Eine Formel F ist nicht erfüllbar, genau dann, wenn man mit Hilfe
der Resolutionsregel die einelementigen Klauseln xi und ¬xi (für
ein beliebiges i) ableiten kann.
(x1 ∨ ¬x2 ), ¬x1
¬x2
(x1 ∨ x2 ∨ x3 ), ¬x1
(Daraus kann man dann noch in einem weiteren Schritt die
sogenannte leere Klausel ableiten.)
(x2 ∨ x3 )
(x2 ∨ x3 ), ¬x3
x2
x2 , ¬x2
(leere Klausel)
Daraus folgt, dass F unerfüllbar ist.
Barbara König
BeKo/TI
296
Barbara König
BeKo/TI
297
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
Betrachtung von 2KNF-SAT
GER.HAM.KREIS ist NP-vollständig
Im folgenden betrachten wir das Problem zu bestimmen, ob ein
Graph einen Kreis enthält, der durch jeden Knoten genau einmal
führt.
Bei der Resolution von zwei zweielementigen Klauseln ergibt sich
wieder nur eine maximal zweielementige Klausel (das ist bei
dreielementigen Klauseln anders!).
2n(2n−1)
Da es bei n verschiedenen atomaren Formeln nur 2n
2
2 =
viele zweielementige und 2n viele einelementige Klauseln gibt,
werden nach spätestens dieser polynomialen Anzahl von Schritten
keine neuen Klauseln mehr abgeleitet.
GER.HAM.KREIS – Gerichteter Hamiltonkreis
Eingabe: ein gerichteter Graph G = (V , E ) mit Knotenmenge
V und Kantenmenge E ⊆ V × V . Sei außerdem m = |V | die
Anzahl der Knoten.
Ausgabe: Besitzt der Graph G einen Hamiltonkreis? Das heißt,
gibt es eine Anordnung v1 , . . . , vm der Knoten, so dass gilt:
Je nachdem, ob die leere Klausel entstanden ist oder nicht, kann
man jetzt entscheiden, ob die ursprüngliche Formel unerfüllbar ist.
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
BeKo/TI
V = {v1 , . . . , vm } (jeder Knoten kommt genau einmal vor)
(vi , vi+1 ) ∈ E für i ∈ {1, . . . , m − 1} und (vm , v1 ) ∈ E (es gibt
einen Kreis, der genau einmal durch jeden Knoten führt)
298
Komplexitätsklassen
NP-Vollständigkeit
GER.HAM.KREIS ist NP-vollständig
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
299
Komplexitätsklassen
NP-Vollständigkeit
GER.HAM.KREIS ist NP-vollständig
NP-Vollständigkeit von GER.HAM.KREIS (Satz)
Beispiele für Graphen mit und ohne Hamiltonkreis:
Das Problem GER.HAM.KREIS ist NP-vollständig.
Beweis: Es ist zu zeigen, dass 3KNF-SAT ≤p GER.HAM.KREIS.
Kein Hamiltonkreis!
Kein Hamiltonkreis!
Barbara König
BeKo/TI
Wir bestimmen dazu eine Reduktionsfunktion, die einer gegebenen
aussagenlogischen Formel F einen gerichteten Graphen G
zuordnet, so dass F erfüllbar ist, genau dann, wenn G einen
Hamiltonkreis besitzt.
Hamiltonkreis
existiert!
Dabei können wir davon ausgehen, dass F in konjunktiver
Normalform ist und höchstens drei Literale pro Klausel hat.
300
Barbara König
BeKo/TI
301
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
GER.HAM.KREIS ist NP-vollständig
Komplexitätsklassen
NP-Vollständigkeit
GER.HAM.KREIS ist NP-vollständig
Sei F also von der Form F = K1 ∧ K2 ∧ · · · ∧ Km , wobei jede
Klausel Ki genau drei Literale hat. Das kann erreicht werden,
indem Literale in einer Klausel verdoppelt oder verdreifacht werden.
Außerdem kommen die atomaren Aussagen x1 , . . . , xn in F vor.
Die Entscheidungsknoten haben je zwei ein- und ausgehende
Kanten. Sie sollen in der Reihenfolge 1, . . . , n durchlaufen werden.
Vom Knoten n aus führen Pfade zurück zum Knoten 1.
Aufbau des Graphen G : G besteht aus folgenden Komponenten.
n Entscheidungsknoten, einen für jede atomare Aussage xj .
Die Kante, über die der Entscheidungsknoten verlassen wird,
bestimmt den Wahrheitswert, den xj in einer erfüllenden
Belegung erhalten soll.
...
...
m Klausel-Subgraphen, einen für jede Klausel Ki . Die Art und
Weise wie diese Subgraphen durchlaufen werden ist davon
abhängig, welche Wahrheitswerte die einzelnen Literale in
einer erfüllenden Belegung haben.
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
A
b
B
c
C
1
...
2
...
...
...
...
...
n
...
Falls ein Knoten i auf der Kante nach oben verlassen wird,
entspricht das einer Belegung xi = 1, ansonsten einer Belegung
xi = 0.
302
Komplexitätsklassen
NP-Vollständigkeit
GER.HAM.KREIS ist NP-vollständig
a
...
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
303
Komplexitätsklassen
NP-Vollständigkeit
GER.HAM.KREIS ist NP-vollständig
Angenommen, der Klausel-Subgraph wird folgendermaßen
durchlaufen:
Klausel-Subgraphen sehen wie links
angegeben aus und werden durch einen
Kasten wie unten symbolisiert.
Wir werden zeigen, dass ein
Klausel-Subgraph, der auf einem
Hamiltonkreis in a betreten wird, immer
durch A verlassen werden muss.
Analoges gilt für b/B und c/C .
Pfad a – A – B
Knoten b wird zu einer Sackgasse
a
A
b
B
c
C
K
Barbara König
BeKo/TI
304
Barbara König
BeKo/TI
305
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
GER.HAM.KREIS ist NP-vollständig
GER.HAM.KREIS ist NP-vollständig
Angenommen, der Klausel-Subgraph wird folgendermaßen
durchlaufen:
Pfad a – A – B – C
Knoten b und c werden zu Sackgassen
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Angenommen, der Klausel-Subgraph wird folgendermaßen
durchlaufen:
a
A
b
B
c
C
BeKo/TI
Pfad a – c – C
Knoten A nicht mehr erreichbar
305
Komplexitätsklassen
NP-Vollständigkeit
GER.HAM.KREIS ist NP-vollständig
Barbara König
BeKo/TI
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
a
A
b
B
c
C
BeKo/TI
305
Komplexitätsklassen
NP-Vollständigkeit
GER.HAM.KREIS ist NP-vollständig
Angenommen, der Klausel-Subgraph wird folgendermaßen
durchlaufen:
Pfad a – c – b – B
Knoten A und C nicht mehr erreichbar
Komplexitätsklassen
NP-Vollständigkeit
Angenommen, der Klausel-Subgraph wird folgendermaßen
durchlaufen:
a
A
b
B
c
C
Pfad a – c – b – B – C
Knoten A nicht mehr erreichbar
305
Barbara König
BeKo/TI
a
A
b
B
c
C
305
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
GER.HAM.KREIS ist NP-vollständig
GER.HAM.KREIS ist NP-vollständig
Es gibt also nur drei zulässige Pfade (beginnend bei a), die sich auf
einem Hamiltonkreis befinden können:
Angenommen, der Klausel-Subgraph wird folgendermaßen
durchlaufen:
Pfad a – c – C – A – B
Knoten b wird zu einer Sackgasse
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
a
A
b
B
c
C
BeKo/TI
a
c
C
c
C
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Bedeutung: das erste Literal hat den
Wahrheitswert 1, das dritte jedoch
nicht, daher muss seine Verbindung
jetzt durchlaufen werden (das zweite
Literal hat wieder Wahrheitswert 1)
BeKo/TI
BeKo/TI
306
Komplexitätsklassen
NP-Vollständigkeit
Es gibt also nur drei zulässige Pfade (beginnend bei a), die sich auf
einem Hamiltonkreis befinden können:
a
Barbara König
Bedeutung: das erste Literal hat den
Wahrheitswert 1 (und auch das dritte, daher muss seine Verbindung jetzt
nicht durchlaufen werden)
GER.HAM.KREIS ist NP-vollständig
A
B
B
305
Es gibt also nur drei zulässige Pfade (beginnend bei a), die sich auf
einem Hamiltonkreis befinden können:
b
A
b
Komplexitätsklassen
NP-Vollständigkeit
GER.HAM.KREIS ist NP-vollständig
a
Komplexitätsklassen
NP-Vollständigkeit
306
A
b
B
c
C
Bedeutung: nur das erste Literal hat
den Wahrheitswert 1, nicht jedoch die
anderen beiden.
Barbara König
BeKo/TI
306
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
GER.HAM.KREIS ist NP-vollständig
Komplexitätsklassen
NP-Vollständigkeit
GER.HAM.KREIS ist NP-vollständig
Dann werden zwischen den Knoten i und i + 1 die
Klausel-Subgraphen wie folgt verknüpft:
Diese Klausel-Subgraphen werden nun folgendermaßen verknüpft:
Angenommen, die atomare Aussage xi kommt
K1
in Klausel 1 an Position 2 und
K4
i
in Klausel 4 an Position 3 vor.
Außerdem kommt ¬xi
i +1
K2
K5
K6
in Klausel 2 an Position 1,
in Klausel 5 an Position 3 und
in Klausel 6 an Position 2 vor.
(· · · ∨ xi ∨ . . . ) ∧ (¬xi ∨ · · · ∨ . . . ) ∧ (· · · ∨ · · · ∨ . . . )
|
{z
} |
{z
} |
{z
}
Position 1 entspricht a/A, Position 2 entspricht b/B und
Position 3 entspricht c/C .
K1
K2
∧ (· · · ∨ · · · ∨ xi ) ∧ (· · · ∨ · · · ∨ ¬xi ) ∧ (· · · ∨ ¬xi ∨ . . . )
|
{z
} |
{z
} |
{z
}
K4
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
307
Komplexitätsklassen
NP-Vollständigkeit
GER.HAM.KREIS ist NP-vollständig
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
K6
BeKo/TI
308
Komplexitätsklassen
NP-Vollständigkeit
Im nächsten Schritt zeigen wir, dass auch das analoge Problem für
ungerichtete Graphen unentscheidbar ist.
Wenn die Formel erfüllbar ist, dann gibt es auch die
Möglichkeit, alle Knoten zu durchlaufen. D.h., ein
Hamiltonkreis existiert.
UNGER.HAM.KREIS – Ungerichteter Hamiltonkreis
Eingabe: ein ungerichteter Graph G = (V , E ) mit
Knotenmenge V und Kantenmenge E , die aus
zweielementigen Mengen von Knoten besteht. Sei außerdem
m = |V | die Anzahl der Knoten.
Ausgabe: Besitzt der Graph G einen Hamiltonkreis? Das heißt,
gibt es eine Anordnung v1 , . . . , vm der Knoten, so dass gilt:
Die Existenz eines Hamiltonkreises bedeutet andererseits, dass
jeder Klauselgraph mindestens einmal durchlaufen wird, d.h.,
mindestens einem Literal in der Klausel wird der
Wahrheitswert 1 zugeordnet.
Daher kann man zeigen:
V = {v1 , . . . , vm } (jeder Knoten kommt genau einmal vor)
{vi , vi+1 } ∈ E für i ∈ {1, . . . , m − 1} und {vm , v1 } ∈ E (es
gibt einen Kreis, der genau einmal durch jeden Knoten führt)
Die Formel ist erfüllbar, genau dann, wenn der konstruierte Graph
einen Hamiltonkreis hat.
Außerdem benötigt man nur polynomiale Zeit, um den Graphen
aus der Formel zu konstruieren.
BeKo/TI
K5
UNGER.HAM.KREIS ist NP-vollständig
Man erhält:
Barbara König
K3
309
Barbara König
BeKo/TI
310
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
UNGER.HAM.KREIS ist NP-vollständig
Komplexitätsklassen
NP-Vollständigkeit
UNGER.HAM.KREIS ist NP-vollständig
NP-Vollständigkeit von UNGER.HAM.KREIS (Satz)
Beispiele für Graphen mit und ohne Hamiltonkreis:
Das Problem UNGER.HAM.KREIS ist NP-vollständig.
Beweis: Wir reduzieren
GER.HAM.KREIS ≤p UNGER.HAM.KREIS. Daher müssen wir zu
jedem gerichteten Graphen G einen ungerichteten Graphen G 0
konstruieren, so dass G einen Hamiltonkreis hat, genau dann, wenn
G 0 einen Hamiltonkreis hat.
Hamiltonkreis
existiert!
Kein Hamiltonkreis!
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Idee: Ersetze einen Knoten mit ein- und ausgehenden Kanten wie
folgt
Hamiltonkreis
existiert!
BeKo/TI
311
Komplexitätsklassen
NP-Vollständigkeit
Hamiltonkreise vs. Eulerkreise
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
312
Komplexitätsklassen
NP-Vollständigkeit
Hamiltonkreise vs. Eulerkreise
Wir zeigen nun, dass ein eng verwandtes Problem, nämlich das der
Existenz von Eulerkreisen, viel einfacher zu lösen ist als die
Bestimmung von Hamiltonkreisen.
Ursprung
Das Lösung des Problems der Eulerkreise geht zurück auf Leonhard
Euler, der sich im 18. Jahrhundert fragte, ob man alle Brücken
seiner Heimatstadt Königsberg begehen könne, ohne eine Brücke
doppelt zu laufen.
EULER – Ungerichteter Eulerkreis
Eingabe: ein ungerichteter Graph G = (V , E ) mit
Knotenmenge V und Kantenmenge E , wobei auch
Mehrfachkanten erlaubt sind. Sei außerdem k = |E | die
Anzahl der Kanten.
Ausgabe: Besitzt der Graph G einen Eulerkreis? Das heißt,
gibt es eine Tour, die durch den ganzen Graphen verläuft und
jede Kante genau einmal passiert? (Knoten dürfen mehrfach
durchlaufen werden.)
Barbara König
BeKo/TI
313
Barbara König
BeKo/TI
314
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
Hamiltonkreise vs. Eulerkreise
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
Hamiltonkreise vs. Eulerkreise
BeKo/TI
315
Komplexitätsklassen
NP-Vollständigkeit
Hamiltonkreise vs. Eulerkreise
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
315
Komplexitätsklassen
NP-Vollständigkeit
Hamiltonkreise vs. Eulerkreise
Man kann die Inseln bzw. Stadtteile von Königsberg als Knoten
und die Brücken als Kanten auffassen. Das ergibt folgenden Graph:
Existenz einer Eulertour (Satz)
Durch einen ungerichteten Graphen G existiert eine Eulertour,
genau dann, wenn der Graph zusammenhängend ist und der Grad
jedes Knotens gerade ist.
Damit ist dieses Problem auf jeden Fall in Polynomialzeit lösbar.
Barbara König
BeKo/TI
316
Barbara König
BeKo/TI
317
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
TSP ist NP-vollständig
Komplexitätsklassen
NP-Vollständigkeit
TSP ist NP-vollständig
Wir zeigen nun, dass auch das Travelling-Salesman-Problem
NP-vollständig ist.
NP-Vollständigkeit von TSP (Satz)
Das Problem TSP ist NP-vollständig.
TSP – Travelling Salesman
Beweis: Wir reduzieren UNGER.HAM.KREIS ≤p TSP.
Eingabe: eine n × n-Matrix (Mi,j ) von Entfernungen zwischen
n Städten und eine Zahl d.
Ausgabe: Gibt es eine Tour durch alle Städte, die maximal die
Länge d hat? Das heißt, gibt es eine Indexfolge i1 , . . . , in , so
dass gilt:
Sei G = (V , E ) ein ungerichteter Graph, wobei wir annehmen, dass
die Knotenmenge das Aussehen V = {1, . . . , n} hat. Wir
konstruieren dazu folgende Matrix:
1 falls {i, j} ∈ E
Mi,j =
2 falls {i, j} 6∈ E
{i1 , . . . , in } = {1, . . . , n} (jede Stadt kommt vor)
Mi1 ,i2 + Mi2 ,i3 + · · · + Min−1 ,in + Min ,i1 ≤ d (die Länge der Tour
ist kleiner gleich d)
Außerdem setzen wir d = n.
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
318
Komplexitätsklassen
NP-Vollständigkeit
NP-Vollständigkeit des Tourenplanungsproblems
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
319
Komplexitätsklassen
NP-Vollständigkeit
Weitere wichtige Probleme
Wir betrachten nun einige weitere interessante und wichtige
Probleme und ordnen sie in die Komplexitätsklassen P und NP ein.
Färbbarkeit von Graphen
Bemerkung: Man kann nun auch leicht zeigen, dass das
Tourenplanungsproblem NP-vollständig ist (durch eine Reduktion
von TSP auf das Tourenplanungsproblem).
Eingabe: Ein ungerichteter Graph G = (V , E ) und eine Zahl
k ∈ N0 .
Ausgabe: Gibt es Zuordnung von k verschiedenen Farben zu
Knoten in V , so dass keine zwei benachbarten Knoten v1 , v2
dieselbe Farbe haben?
Dabei beläßt die Reduktion die n × n-Entfernungsmatrix und den
Wert d, ordnet jedem Knoten das Gewicht 1 kg zu und nimmt
einen Lastwagen mit Ladebeschränkung n kg an. Damit entspricht
eine Lösung des Tourenproblems einer Lösung des TSP.
Benachbart bedeutet, dass {v1 , v2 } ∈ E .
Dieses Problem ist NP-vollständig (Reduktion von 3KNF-SAT).
Effiziente Lösungen des Färbbarkeitsproblems sind relevant für die
Lösung von Scheduling-Problemen (z.B. Erstellung von
Stundenplänen).
Barbara König
BeKo/TI
320
Barbara König
BeKo/TI
321
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
Weitere wichtige Probleme
Weitere wichtige Probleme
Primzahlproblem
Eingabe: Eine natürliche Zahl k ∈ N0 .
Bin Packing
Eingabe: Eine Behältergröße b ∈ N0 , die Anzahl k ∈ N0 der
Behälter und Objektgrößen a1 , a2 , . . . , an ≤ b.
Ausgabe: Ist k eine Primzahl?
Ausgabe: Können die n Objekte so auf die k Behälter verteilt
werden, dass kein Behälter überläuft?
Es war lange bekannt, dass dieses Problem in NP liegt (der Beweis
ist jedoch nicht offensichtlich). Im Jahr 2002 wurde dann von
Agrawal, Kayal, Saxena gezeigt, dass dieses Problem sogar in
Polynomzeit lösbar ist.
Dieses Problem ist NP-vollständig (Reduktion von 3KNF-SAT über
verschiedene Zwischenprobleme).
Der derzeit beste bekannte Algorithmus hat Laufzeit O(n6 ). Daher
werden für konkrete Anwendungen (vor allem in der
Kryptographie) noch randomisierte Primzahltests verwendet.
Auch dieses Problem ist in der Praxis relevant (Verpackung und
Lagerung von Objekten).
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
BeKo/TI
322
Komplexitätsklassen
NP-Vollständigkeit
Weitere wichtige Probleme
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
323
Komplexitätsklassen
NP-Vollständigkeit
Weitere wichtige Probleme
Während inzwischen bekannt ist, dass es in Polynomialzeit möglich
ist, zu bestimmen, ob eine Zahl eine Primzahl ist, ist es
anscheinend schwieriger, die Faktorisierung einer Zahl k in
Primfaktoren zu bestimmen.
Wenn man dieses Problem lösen könnte, dann könnte man durch
binäre Suche auch den kleinsten Faktor von k bestimmen und
damit k faktorisieren.
Die Aufgabe, eine Zahl k in Primfaktoren zu zerlegen, ist eine
Funktion und kein Problem bzw. keine Sprache in unserem Sinne.
Wir benötigen daher eine “Sprachversion” des
Faktorisierungsproblems.
Der Status dieses Problems ist nicht geklärt. Es ist offensichtlich in
NP (Primzahlfaktorisierung von k raten, überprüfen und den
kleinsten Faktor mit r vergleichen). Es ist bisher jedoch weder
bekannt, ob es in P liegt, noch, ob es NP-vollständig ist.
Faktorisierung
Eingabe: Zwei Zahlen k, r ∈ N0 .
Ausgabe: Besitzt k einen Faktor s 6= 1, der kleiner als r ist?
Barbara König
BeKo/TI
324
Barbara König
BeKo/TI
325
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
Weitere wichtige Probleme
Komplexitätsklassen
NP-Vollständigkeit
Weitere wichtige Probleme
Anwendungen in der Kryptographie:
Graphisomorphie
Die Schwierigkeit, das Faktorisierungsproblem zu lösen, ist die
Grundlage einiger kryptographischer Verfahren (z.B. RSA).
Eingabe: Zwei ungerichtete Graphen G1 = (V1 , E1 ),
G2 = (V2 , E2 )
Interessanterweise ist das Faktorisierungsproblem dazu besser
geeignet als viele als NP-vollständig bekannte Probleme, weil
bestimmte Zahlen (insbesondere Produkte zweier großer
Primzahlen) immer schwer zu faktorisieren sind. Bei
bekannten NP-vollständigen Problemen gibt es dagegen oft
viele leicht zu lösende Instanzen.
Ausgabe: Sind die Graphen G1 , G2 isomorph? Das heißt, gibt
es eine bijektive Abbildung f : V1 → V2 , so dass {v1 , v2 } ∈ E1
genau dann, wenn {f (v1 ), f (v2 )} ∈ E2 ?
Der Status dieses Problems ist ebenfalls nicht geklärt. Es ist
offensichtlich in NP (Abbildung f raten). Es ist bisher jedoch
weder bekannt, ob es in P liegt, noch, ob es NP-vollständig ist.
Es gibt Algorithmen für Quantencomputer (Algorithmus von
Shor), die das Faktorisierungsproblem effizient lösen könnten
(wenn es funktionierende Quantencomputer gäbe).
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
Weitere wichtige Probleme
BeKo/TI
327
Komplexitätsklassen
NP-Vollständigkeit
Weitere wichtige Probleme
Clique
Folgendes Problem ist jedoch NP-vollständig.
Eingabe: Ein Paar (G , k) bestehend aus einem ungerichteten
Graph G = (V , E ) mit Knotenmenge V und Kantenmenge E
und einer natürlichen Zahl k.
Subgraphisomorphie
Eingabe: Zwei ungerichtete Graphen G1 = (V1 , E1 ),
G2 = (V2 , E2 )
Ausgabe: Besitzt der Graph G einen vollständigen Teilgraphen
der Größe k?
Ein Teilgraph ist genau dann vollständig, wenn jeder Knoten
mit jedem anderen verbunden ist.
Ausgabe: Hat G1 einen Teilgraphen, der isomorph zu G2 ist?
Dieses Problem ist relevant für Mustererkennung und Auffinden
von komplexen Strukturen.
Barbara König
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
326
Komplexitätsklassen
NP-Vollständigkeit
BeKo/TI
Dieses Problem ist ein Speziallfall von Subgraphisomorphie. Es ist
jedoch noch NP-vollständig.
328
Barbara König
BeKo/TI
329
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
Zusammenfassung (Komplexitätstheorie)
Komplexitätsklassen
NP-Vollständigkeit
Zusammenfassung (Vorlesung)
Die Hauptbotschaften dieser Vorlesung (und der
Vorgängervorlesung “Automaten und Formale Sprachen”):
Bemerkungen:
Sprachen und Funktionen
Wir haben uns mit der Berechnung von Sprachen und Funktionen
beschäftigt:
Man kann entscheidbare Probleme klassifizieren bezüglich der
Resourcen, die zu ihrer Lösung benötigt werden (Zeit, Platz).
Man unterscheidet insbesondere zwischen Problemen, die in
Polynomialzeit gelöst werden können (Probleme in P) und
Problemen, bei denen in Polynomialzeit überprüft werden
kann, ob eine geratene Lösung korrekt ist (Probleme in NP).
Sprachen, d.h., Mengen von Wörtern
Fragestellung: Liegt ein Wort w in der Sprache L?
Funktionen auf Wörtern bzw. Zahlen
Die schwersten Probleme in der Komplexitätsklasse NP heißen
NP-vollständig. Für sie gibt es keine bekannten polynomialen
Algorithmen.
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
Fragestellung: Wie sieht der Funktionswert an einer
bestimmten Stelle aus? Ist die Funktion berechenbar?
Funktionen können zur Beschreibung von Sprachen verwendet
werden ( charakteristische Funktion).
330
Komplexitätsklassen
NP-Vollständigkeit
Zusammenfassung (Vorlesung)
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
331
Komplexitätsklassen
NP-Vollständigkeit
Zusammenfassung (Vorlesung)
Maschinenmodelle und Grammatiken
Es gibt Maschinenmodelle von unterschiedlicher Mächtigkeit, die
die Berechnung von Sprachen bzw. Funktionen beschreiben:
Turingmaschinen und Programme
Turingmaschinen – die allgemeinste Form von Automaten –
entsprechen in ihrer Mächtigkeit herkömmlichen Programmen
(While-, Goto-Programme).
Endliche Automaten
Kellerautomaten
Turingmaschinen mit Zeit- bzw. Platzschranken
Die Churchsche These behauptet, dass die Funktionen, die durch
Turingmaschine bzw. While-/Goto-Programme berechnet
werden können, genau den intuitiv berechenbaren Funktionen
entsprechen.
Beliebige Turingmaschinen
Zu diesen Automaten, die man als Sprachakzeptierer ansehen
kann, gibt es entsprechende Grammatiken (Spracherzeuger):
Typ-i-Grammatiken für i ∈ {0, 1, 2, 3}.
Man kann Automaten in die entsprechenden Grammatiken
umwandeln (und umgekehrt).
Barbara König
BeKo/TI
332
Barbara König
BeKo/TI
333
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
Komplexitätsklassen
NP-Vollständigkeit
Zusammenfassung (Vorlesung)
Zusammenfassung (Vorlesung)
Hierarchien
Neben den Hierarchien auf Maschinenmodellen bzw. Grammatiken
gibt es eine entsprechende Hierarchie auf Sprachen
(Chomsky-Hierarchie).
Endliche Darstellung von unendlichen Objekten
Sowohl Automaten als auch Grammatiken liefern endliche
Darstellungen für unendliche Mengen. Operationen auf diesen
Mengen haben teilweise entsprechende Konstruktionen auf
Automaten bzw. Grammatiken (siehe Abschlusseigenschaften).
Diese Hierarchie ist echt, d.h., es gibt in jeder Hierarchiestufe
Sprachen, die nicht in der darunterliegenden Hierarchiestufe liegen.
Solche Hierarchien gibt es auch für Sprachen, die von zeit- bzw.
platzbeschränkten Turingmaschinen erkannt werden
(P ⊆ NP ⊆ PSPACE). Hier ist jedoch nicht klar, ob diese
Hierarchie echt ist.
Damit hat man eine Datenstruktur für unendliche Sprachen, die
man maschinell verarbeiten kann.
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
Komplexitätsklassen
NP-Vollständigkeit
334
Komplexitätsklassen
NP-Vollständigkeit
Zusammenfassung (Vorlesung)
Barbara König
Kontextsensitive und Typ-0-Sprachen
Berechenbarkeitstheorie
Komplexitätstheorie
BeKo/TI
335
Komplexitätsklassen
NP-Vollständigkeit
Zusammenfassung (Vorlesung)
Anwendungen
Vor allem für die regulären Sprachen (Typ-3) und die kontextfreien
Sprachen (Typ-2) gibt es viele Anwendungen, beispielsweise in
folgenden Bereichen:
Schwere Probleme
Es gibt verschiedene Typen von schweren Problemen:
Unentscheidbare Probleme: Es gibt kein Verfahren, mit dem
man dieses Problem lösen kann (z.B. Halteproblem)
Suchen in Texten
Compilerbau
NP-vollständige Probleme: Schwer für die Komplexitätsklasse
NP, kein bekanntes Verfahren zur Lösung in Polynomialzeit
(z.B. SAT)
Barbara König
BeKo/TI
Modellierung von Systemverhalten und Verifikation
Die Nützlichkeit der Berechenbarkeits- und Komplexitätstheorie
liegt vor allem darin, schwere Probleme zu erkennen und
einzuordnen.
336
Barbara König
BeKo/TI
337
Herunterladen