Professional Documents
Culture Documents
Inhaltsverzeichnis
Inhaltsverzeichnis
5.1
5.2
5.3
5.4
5.5
5.6
Inhaltsverzeichnis
1 Einleitung
2 Regulre Sprachen
2.1 Endliche Automaten . . . . . . . . . . . . . . .
2.2 Nichtdeterministische endliche Automaten . .
2.3 Regulre Ausdrcke . . . . . . . . . . . . . . .
2.4 Relationalstrukturen . . . . . . . . . . . . . . .
2.4.1 Ordnungs- und quivalenzrelationen .
2.4.2 Abbildungen . . . . . . . . . . . . . . .
2.4.3 Homo- und Isomorphismen . . . . . .
2.5 Minimierung von DFAs . . . . . . . . . . . . .
2.6 Das Pumping-Lemma . . . . . . . . . . . . . .
2.7 Grammatiken . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Kontextfreie Sprachen
3.1 Chomsky-Normalform . . . . . . . . . . . . . . . .
3.2 Das Pumping-Lemma fr kontextfreie Sprachen
3.3 Der CYK-Algorithmus . . . . . . . . . . . . . . . .
3.4 Kellerautomaten . . . . . . . . . . . . . . . . . . .
3.5 Deterministisch kontextfreie Sprachen . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
5
7
10
14
17
17
19
23
25
.
.
.
.
.
28
30
33
35
36
40
4 Kontextsensitive Sprachen
45
4.1 Kontextsensitive Grammatiken . . . . . . . . . . . . . . 45
4.2 Turingmaschinen . . . . . . . . . . . . . . . . . . . . . . . 45
4.3 Linear beschrnkte Automaten . . . . . . . . . . . . . . 47
5 Entscheidbare und semi-entscheidbare Sprachen
51
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
54
56
58
59
62
64
6 Komplexittsklassen
6.1 Zeitkomplexitt . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Das P-NP-Problem . . . . . . . . . . . . . . . . . . . . . .
6.3 Platzkomplexitt . . . . . . . . . . . . . . . . . . . . . . .
66
66
67
69
7 NP-vollstndige Probleme
7.1 Aussagenlogische Erfllbarkeitsprobleme . . . . . . . .
7.2 Entscheidungsprobleme fr regulre Sprachen . . . . .
7.3 Graphprobleme . . . . . . . . . . . . . . . . . . . . . . .
7.3.1 Cliquen, Stabilitt und Kantenberdeckungen
7.3.2 Frbung von Graphen . . . . . . . . . . . . . .
7.3.3 Euler- und Hamiltonkreise . . . . . . . . . . . .
7.4 Das Rucksack-Problem . . . . . . . . . . . . . . . . . .
7.5 Ganzzahlige lineare Programmierung . . . . . . . . . .
7.6 Max-Sat Probleme . . . . . . . . . . . . . . . . . . . .
7.7 Matchings und der Heiratssatz . . . . . . . . . . . . . .
71
71
75
77
77
79
80
85
86
87
88
.
.
.
.
.
.
.
.
.
.
1 Einleitung
Rechenmaschinen spielen in der Informatik eine zentrale Rolle. In
dieser Vorlesung beschftigen wir uns mit mathematischen Modellen
fr Maschinentypen von unterschiedlicher Berechnungskraft. Unter
anderem lernen wir das Rechenmodell der Turingmaschine (TM) kennen, mit dem sich alle anderen Rechenmodelle simulieren lassen. Ein
weiteres wichtiges Thema der Vorlesung ist die Frage, welche Probleme
algorithmisch lsbar sind und wo die Grenzen der Berechenbarkeit
verlaufen.
Schlielich untersuchen wir die Komplexitt von algorithmischen Problemen, indem wir den bentigten Rechenaufwand mglichst gut nach
oben und unten abschtzen. Eine besondere Rolle spielen hierbei die
NP-vollstndigen Probleme, deren Komplexitt bis heute offen ist.
Definition 1.
a) Ein Alphabet = {a1 , . . . , am } ist eine geordnete Menge von
endlich vielen Zeichen.
b) Eine Folge x = x1 . . . xn von n Zeichen heit Wort (der Lnge
n).
c) Die Menge aller Wrter ber ist
= n ,
n0
2 Regulre Sprachen
{} enthlt nur das leere Wort, ist also einelementig. Einelementige
Sprachen werden auch als Singleton-Sprachen bezeichnet.
Da Sprachen Mengen sind, knnen wir sie bzgl. Inklusion vergleichen.
Zum Beispiel gilt
{} .
2 Regulre Sprachen
Wir knnen Sprachen auch vereinigen, schneiden und komplementieren. Seien A und B Sprachen ber . Dann ist
A B = {x x A, x B} der Schnitt von A und B,
A B = {x x A x B} die Vereinigung von A und
B, und
A = {x x / A} das Komplement von A.
Neben den Mengenoperationen gibt es auch spezielle Sprachoperationen.
Wir betrachten zunchst Einschrnkungen des TM-Modells, die vielfltige praktische Anwendungen haben, wie z.B. endliche Automaten
(DFA, NFA), Kellerautomaten (PDA, DPDA) etc.
Definition 3.
Das Produkt (Verkettung, Konkatenation) der Sprachen
A und B ist
AB = {xy x A, y B}.
Ist A = {x} eine Singletonsprache, so schreiben wir fr {x}B
auch einfach xB.
Die n-fache Potenz An einer Sprache A ist induktiv definiert
durch
n = 0,
{},
n
A =
n1
A A, n > 0.
Eingabe
band
x1
xi
xn
Lesekopf
Steuereinheit
L(M ) = {x1 . . . xn
2
2 Regulre Sprachen
x) = 1 #a (x) #b (x) 3 1.
(0,
Graphische Darstellung:
0 1 2
x) 3 #a (x) #b (x).
(0,
a 1 2 0
b 2 0 1
b
2
1
a
i 3 #a (x1 . . . xn ) #b (x1 . . . xn ).
Wegen (i, a) 3 i + 1 und (i, b) 3 i 1 folgt daher
(i, xn+1 ) 3 i + #a (xn+1 ) #b (xn+1 )
3 #a (x1 . . . xn ) #b (x1 . . . xn ) + #a (xn+1 ) #b (xn+1 )
= #a (x) #b (x).
und somit
x) = ((0,
x1 . . . xn ), xn+1 ) = (i, xn+1 ) 3 #a (x) #b (x).
(0,
Die von M erkannte Sprache lsst sich nun auch in der Form
0 , x) E}
L(M ) = {x (q
schreiben.
Eine von einem DFA akzeptierte Sprache wird als regulr bezeichnet.
Die zugehrige Sprachklasse ist
2 Regulre Sprachen
x2
q1
q2
a x2
x3
xn
qn
a x3
a
e
sonst.
e,
M = (Z1 Z2 , , , (q0 , q0 ), E1 E2 )
mit
((q, p), a) = (1 (q, a), 2 (p, a))
Der Abschluss von K unter op ist die bzgl. Inklusion kleinste Sprachklasse K , die K enthlt und unter op abgeschlossen ist.
4
2 Regulre Sprachen
Ein NFA N kann bei einer Eingabe x also nicht nur eine, sondern
mehrere verschiedene Rechnungen parallel ausfhren. Ein Wort x gehrt genau dann zu L(N ), wenn N (x) mindestens eine akzeptierende
Rechnung hat.
Im Gegensatz zu einem DFA, dessen berfhrungsfunktion auf der
gesamten Menge Z definiert ist, kann ein NFA stecken bleiben.
Das ist dann der Fall, wenn er in einen Zustand q gelangt, in dem das
nchste Eingabezeichen xi wegen (q, xi ) = nicht gelesen werden
kann.
Beispiel 15. Betrachte den NFA N = (Z, , , Q0 , E) mit Zustandsmenge Z = {p, q, r, s}, Eingabealphabet = {0, 1, 2}, Start- und Endzustandsmenge Q0 = {p} und E = {s} sowie der berfhrungsfunktion
Graphische Darstellung:
0
1
2
{p, q}
{p} {r}
{p}
{s}
0, 1, 2
Z P(Z)
hat. Hierbei bezeichnet P(Z) die Potenzmenge (also die Menge
aller Teilmengen) von Z. Diese wird auch oft mit 2Z bezeichnet. Die
von N akzeptierte Sprache ist
L(N ) = {x1 . . . xn
q0 Q0 , q1 , . . . , qn1 Z, qn E
}.
qi+1 (qi , xi+1 ) fr i = 0, . . . , n 1
N = (Z1 Z2 , , 3 , Q1 , E)
5
2 Regulre Sprachen
mit
und
Q2 E2 =
E2 ,
E=
E1 E2 , sonst
die Sprache L1 L2 .
Beweis von L1 L2 L(N ): Seien x = x1 xk L1 , y = y1 yl L2 und
seien q0 , . . . , qk und p0 , . . . , pl akzeptierende Rechnungen von N1 (x)
und N2 (y). Dann gilt q0 Q1 , qk E1 und p0 Q2 , pl E2 .
Im Fall l 1 ist zudem p1 2 (p0 , y1 ) und somit p1 (qk , y1 ).
Im Fall l = 0 ist zudem pl Q2 E2 und somit qk E.
Also ist q0 , . . . , qk , p1 , . . . , pl eine akzeptierende Rechnung von N (xy).
Beweis von L(N ) L1 L2 : Sei x = x1 xn L(N ) und sei q0 , . . . , qn
eine akz. Rechnung von N (x). Dann gilt q0 Q1 , qn E, q0 , . . . , qi Z1
und qi+1 , . . . , qn Z2 fr ein i {0, . . . , n}.
Im Fall i = n ist qn E1 (d.h. x L1 ) und Q2 E2 (d.h.
L2 ).
Im Fall i < n impliziert der bergang qi+1 (qi , xi+1 ), dass
qi E1 und qi+1 2 (q, xi+1 ) fr ein q Q2 ist.
Also ist q0 , . . . , qi eine akz. Rechnung von N1 (x1 xi ) und q, qi+1 , . . . , qn
eine akz. Rechnung von N2 (xi+1 xn ), d.h. x L1 L2 .
Ganz hnlich lsst sich zeigen, dass der NFA
Die Menge (Q, a) enthlt also alle Zustnde, in die N gelangen kann,
wenn N ausgehend von einem beliebigen Zustand q Q das Zeichen
a liest. Intuitiv bedeutet dies, dass der DFA M den NFA N simuliert,
indem M in seinem aktuellen Zustand Q die Information speichert,
in welchen Zustnden sich N momentan befinden knnte. Fr die
Erweiterung P(Z) P(Z) von (siehe Seite 3) knnen wir
nun folgende Behauptung zeigen.
0 , x) enthlt alle Zustnde, die N ausgehend von
Behauptung. (Q
einem Startzustand nach Lesen von x erreichen kann.
Wir beweisen die Behauptung induktiv ber die Lnge n von x.
0 , ) = Q0 ist.
Induktionsanfang (n = 0): klar, da (Q
Induktionsschritt (n 1 ; n): Sei x = x1 . . . xn gegeben. Nach Induktionsvoraussetzung enthlt
0 , x1 . . . xn1 )
Qn1 = (Q
alle Zustnde, die N (x) in genau n 1 Schritten erreichen kann.
Wegen
0 , x) = (Qn1 , xn ) = (q, xn )
(Q
1 (p, a),
p Z1 E1 ,
sonst
2 (p, a),
1 (p, a),
p Z1 E1 ,
sonst
,
qQn1
2 Regulre Sprachen
0
1
0
{p}
E = {Q Z Q E =/ },
1, 2
{p, q}
2
{p, r}
{p, s}
0
1, 2
Korollar 19. Die Klasse REG der regulren Sprachen ist unter folgenden Operationen abgeschlossen:
Komplement,
Produkt,
Schnitt,
Sternhlle.
Vereinigung,
0, 1, 2
Wir haben uns im letzten Abschnitt davon berzeugt, dass auch NFAs
nur regulre Sprachen erkennen knnen:
ergibt die Konstruktion des vorigen Satzes den folgenden DFA M (nach
Entfernen aller vom Startzustand Q0 = {p} aus nicht erreichbaren
Zustnde):
Q0 = {p}
Q1 = {p, q}
Q2 = {p, r}
Q3 = {p, s}
{p, q} {p}
{p}
{p, q} {p, r} {p}
{p, q} {p} {p, s}
{p, q} {p}
{p}
7
2 Regulre Sprachen
Tatschlich kann hierbei sogar auf die Schnitt- und Komplementbildung verzichtet werden.
Definition 20. Die Menge der regulren Ausdrcke (ber einem Alphabet ) und die durch dargestellte Sprache L() sind
induktiv wie folgt definiert. Die Symbole , und a (a ) sind
regulre Ausdrcke, die
die leere Sprache L() = ,
die Sprache L() = {} und
fr jedes Zeichen a die Sprache L(a) = {a}
beschreiben. Sind und regulre Ausdrcke, die die Sprachen L()
und L() beschreiben, so sind auch , () und () regulre Ausdrcke, die die Sprachen
L() = L()L(),
L() = L() L() und
L(() ) = L()
beschreiben.
0
b
Jedes w L0
0,0 beginnt entweder mit einem a (bergang von 0 nach 1)
oder mit einem b (bergang von 0 nach 2). Im ersten Fall folgt eine
beliebige Anzahl von Teilwrtern ab (Wechsel zwischen 1 und 2), an
die sich entweder das Suffix aa (Rckkehr von 1 nach 0 ber 2) oder
das Suffix b (direkte Rckkehr von 1 nach 0) anschliet. Analog folgt
im zweiten Fall eine beliebige Anzahl von Teilwrtern ba (Wechsel
zwischen 2 und 1), an die sich entweder das Suffix a (direkte Rckkehr
von 2 nach 0) oder das Suffix bb (Rckkehr von 2 nach 0 ber 1)
anschliet. Daher lsst sich L0
0,0 durch den regulren Ausdruck
0
0,0
= a(ab) (aab) b(ba) (abb)
beschreiben. Eine hnliche berlegung zeigt, dass sich die die Sprache
L0
0,1 aller Wrter, die M ausgehend von 0 in den Zustand 1 berfhren, ohne dass zwischendurch der Zustand 0 nochmals besucht
0
wird, durch den regulren Ausdruck 0,1
= (abb)(ab) beschreibbar
ist. Somit erhalten wir fr L(M ) den regulren Ausdruck
(01) 00
Bemerkung 21.
Um Klammern zu sparen, definieren wir folgende Przedenzordnung: Der Sternoperator bindet strker als der Produktoperator und dieser wiederum strker als der Vereinigungsoperator.
Fr ((ab(c) )d) knnen wir also kurz abc d schreiben.
Da der regulre Ausdruck die Sprache L()+ beschreibt,
verwenden wir + als Abkrzung fr den Ausdruck .
0 0
0,1 = (0,0
) 0,1 = (a(ab) (aab) b(ba) (abb)) (abb)(ab) .
01
{0}
2 Regulre Sprachen
Beweis. Die Inklusion von rechts nach links ist klar, da die Basisausdrcke , und a, a , nur regulre Sprachen beschreiben
und die Sprachklasse REG unter Produkt, Vereinigung und Sternhlle
abgeschlossen ist (siehe Beobachtungen 13 und 16).
Fr die Gegenrichtung konstruieren wir zu einem DFA M einen regulren Ausdruck mit L() = L(M ). Sei also M = (Z, , , q0 , E) ein
DFA, wobei wir annehmen knnen, dass Z = {1, . . . , m} und q0 = 1 ist.
Dann lsst sich L(M ) als Vereinigung
a
1
2
a
L(M ) = L1,q
qE
qE
2
Um 1,2
zu berechnen, benutzen wir die Rekursionsformel
r+1
r
r
r
r
p,q
= p,q
p,r+1
(r+1,r+1
) r+1,q
x) = q}
Lp,q = {x (p,
darstellen. Folglich reicht es zu zeigen, dass die Sprachen Lp,q durch
regulre Ausdrcke beschreibbar sind. Hierzu betrachten wir die Sprachen
x1 . . . xn ) = q und fr
(p,
Lrp,q = {x1 . . . xn
x1 . . . x i ) r } .
i = 1, . . . , n 1 gilt (p,
und erhalten
r
Wegen Lp,q = Lm
p,q reicht es, regulre Ausdrcke p,q fr die Sprachen
Lrp,q anzugeben. Im Fall r = 0 enthlt
2
Um den regulren Ausdruck 1,2
fr L(M ) zu erhalten, gengt es also,
0
0
0
0
1
1
die regulren Ausdrcke 1,1 , 1,2 , 2,1
, 2,2
, 1,2
und 2,2
zu berechnen:
1 1
2
1
1
(2,2
) 2,2 ,
1,2
= 1,2
1,2
1
0
0
0 0
1,2 = 1,2 1,1 (1,1 ) 1,2 ,
1
0
0
0 0
2,2
= 2,2
2,1
(1,1
) 1,2 .
{a (p, a) = q} {}, p = q,
=
sonst
{a (p, a) = q},
nur Buchstaben (und eventuell das leere Wort) und ist somit leicht
0 beschreibbar. Wegen
durch einen regulren Ausdruck p,q
L0p,q
p, q
r
r
r
r
Lr+1
p,q = Lp,q Lp,r+1 (Lr+1,r+1 ) Lr+1,q
1, 1
1, 2
2, 1
2, 2
b
b
a(b)(b) a
b a
(b)a(b) a
bab a
b ab a(bab a) (bab a)
b a(bab a)
r fr die Sprachen Lr
lassen sich aus den regulren Ausdrcken p,q
p,q
leicht regulre Ausdrcke fr die Sprachen Lr+1
gewinnen:
p,q
r+1
r
r
r
r
p,q
= p,q
p,r+1
(r+1,r+1
) r+1,q
.
2 Regulre Sprachen
2.4 Relationalstrukturen
(U, B) mit U = {x x ist Berliner} und
Korollar 26. Sei L eine Sprache. Dann sind folgende Aussagen quivalent:
L ist regulr,
es gibt einen DFA M mit L = L(M ),
es gibt einen NFA N mit L = L(N ),
es gibt einen regulren Ausdruck mit L = L(),
L lsst sich mit den Operationen Vereinigung, Produkt und
Sternhlle aus endlichen Sprachen gewinnen,
L lsst sich mit den Operationen , , Komplement, Produkt
und Sternhlle aus endlichen Sprachen gewinnen.
Wir werden bald noch eine weitere Charakterisierung von REG kennenlernen, nmlich durch regulre Grammatiken. Zuvor befassen wir
uns jedoch mit dem Problem, DFAs zu minimieren. Dabei spielen
Relationen (insbesondere quivalenzrelationen) eine wichtige Rolle.
RS
RS
RS
R
2.4 Relationalstrukturen
Sei A eine nichtleere Menge, Ri eine ki -stellige Relation auf A, d.h.
Ri Aki fr i = 1, . . . , n. Dann heit (A; R1 , . . . , Rn ) Relationalstruktur. Die Menge A heit Grundmenge, Trgermenge oder
Individuenbereich der Relationalstruktur.
Wir werden hier hauptschlich den Fall n = 1, k1 = 2, also (A, R) mit
R A A betrachten. Man nennt dann R eine (binre) Relation
auf A. Oft wird fr (a, b) R auch die Infix-Schreibweise aRb
benutzt.
=
=
=
=
R = {(x, y) R M xRy},
RM
M =
R = {(x, y) R M xRy}.
RM
Beispiel 27.
(F, M ) mit F = {f f ist Fluss in Europa} und
RT = {(y, x) xRy}.
2 Regulre Sprachen
2.4 Relationalstrukturen
Seien R und S Relationen auf A. Das Produkt oder die Komposition von R und S ist
Beispiel 28. Ist B die Relation ist Bruder von, V ist Vater von,
M ist Mutter von und E = V M ist Elternteil von, so ist B E
die Onkel-Relation.
quivalenzrelation
(Halb-)Ordnung
Striktordnung
lineare Ordnung
lin. Striktord.
Quasiordnung
2 Regulre Sprachen
2.4 Relationalstrukturen
MR
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
x R[x]
a
b
c
d
c, d
a, d
d
(rik skj )
k=1,...,n
Beispiel 31. Betrachte die Relationen R = {(a, a), (a, c), (c, b), (c, d)}
und S = {(a, b), (d, a), (d, c)} auf der Menge A = {a, b, c, d}.
R = {(b, c), (b, d), (c, a), (c, d), (d, d)}
12
2 Regulre Sprachen
Relation
2.4 Relationalstrukturen
RS
S R
Digraph
Adjazenzmatrix
Adjazenzliste
1010
0000
0101
0000
a a, c
bc b, d
d -
0100
0000
0000
1010
a b
bcd a, c
0100
0000
1010
0000
a b
bc a, c
d -
0000
0000
0000
1111
a bcd a, b, c, d
u A x (Q R) u u S y
u A (v A x Q v R u) u S y
u, v A x Q v R u S y
v A x Q v (u A v R u u S y)
v A x Q v (R S) y
x Q (R S) y
2 Regulre Sprachen
(i)
(ii)
(iii)
(iv)
(v)
2.4 Relationalstrukturen
Ordnungen lassen sich sehr anschaulich durch Hasse-Diagramme darstellen. Sei eine Ordnung auf A und sei < die Relation IdA . Um
die Ordnung in einem Hasse-Diagramm darzustellen, wird nur
der Graph der Relation
= < <2 , d.h. x y x < y z x < z < y
Anschaulich besagt der vorhergehende Satz, dass ein Paar (a, b) genau
dann in der reflexiv-transitiven Hlle R von R ist, wenn es ein n 0
gibt mit aRn b, d.h. es gibt Elemente x0 , . . . , xn A mit x0 = a, xn = b
und
x0 Rx1 Rx2 . . . xn1 Rxn .
Beispiel 36.
Die Inklusionsrelation auf der Potenzmenge P(M ) von M = {a, b, c}
lsst sich durch nebenstehendes
Hasse-Diagramm darstellen.
{a, c}
{a, b}
{a}
{b, c}
{c}
{b}
Beispiel 35.
(P(M ), ), (Z, ), (R, ) und (N, ) sind Ordnungen. (Z, ) ist
keine Ordnung, aber eine Quasiordnung.
Fr jede Menge M ist die relationale Struktur (P(M ); ) eine
Ordnung. Diese ist nur im Fall M 1 linear.
Ist R eine Relation auf A und B A, so ist RB = R (B B)
die Einschrnkung von R auf B.
Einschrnkungen von (linearen) Ordnungen sind ebenfalls (lineare) Ordnungen.
Beispielsweise ist (Q, ) die Einschrnkung von (R, ) auf Q
und (N, ) die Einschrnkung von (Z, ) auf N.
10
Definition 37. Sei eine Ordnung auf A und sei b ein Element in
einer Teilmenge B A.
b heit kleinstes Element oder Minimum von B (kurz
b = min B), falls gilt:
b B b b .
14
2 Regulre Sprachen
2.4 Relationalstrukturen
heit s das Supremum von B (s = sup B):
(b B b s) [o A (b B b o) s o]
b B b b.
Bemerkung 40. B kann nicht mehr als ein Supremum und ein
Infimum haben.
B
{a, b}
{c, d}
{a, b, c}
{a, b, c, e}
{a, c, d, e}
a, b
c, d
a, b
a, b
a
c
e
e
untere obere
inf sup
Schranken
c, d, e e
a, b
c, e
e
e
a
e
c
e
e
Bemerkung 42.
Auch in linearen Ordnungen muss nicht jede beschrnkte Teilmenge ein Supremum oder Infimum besitzen.
So hat in der linear geordneten Menge (Q, ) die Teilmenge
B = {x Q x2 2} = {x Q x2 < 2}
weder ein Supremum noch ein Infimum.
Dagegen hat in (R, ) jede beschrnkte Teilmenge B ein Supremum und ein Infimum (aber mglicherweise kein Maximum oder
Minimum).
(b B b i) [u A (b B b u) u i].
Besitzt B eine kleinste obere Schranke s, d.h. besitzt die Menge
O aller oberen Schranken von B ein kleinstes Element s, so
15
2 Regulre Sprachen
2.4 Relationalstrukturen
von E bezeichnet. Wie der nchste Satz zeigt, beschreiben quivalenzrelationen auf A und Partitionen von A denselben Sachverhalt.
Satz 45. Sei E eine Relation auf A. Dann sind folgende Aussagen
quivalent.
(i) E ist eine quivalenzrelation auf A.
(ii) Fr alle x, y A gilt
xEy E[x] = E[y]
Beispiel 43.
Auf der Menge aller Geraden im R2 die Parallelitt. Offenbar bilden alle Geraden mit derselben Richtung (oder Steigung)
jeweils eine quivalenzklasse. Daher wird ein Reprsentantensystem beispielsweise durch die Menge aller Ursprungsgeraden
gebildet.
Auf der Menge aller Menschen im gleichen Jahr geboren wie.
Hier bildet jeder Jahrgang eine quivalenzklasse.
Auf Z die Relation gleicher Rest bei Division durch m. Die
zugehrigen quivalenzklassen sind
()
[r] = {a Z a m r}, r = 0, 1, . . . , m 1.
Ein Reprsentantensystem wird beispielsweise durch die Reste
0, 1, . . . , m 1 gebildet.
2 Regulre Sprachen
2.4 Relationalstrukturen
Die kleinste quivalenzrelation auf A ist die Identitt IdA , die grte
die Allrelation A A. Die quivalenzklassen der Identitt enthalten
jeweils nur ein Element, d.h. A/IdA = {{x} x A}, und die Allrelation erzeugt nur eine quivalenzklasse, nmlich A/(A A) = {A}.
Fr zwei quivalenzrelationen E E sind auch die quivalenzklassen [x]E von E in den Klassen [x]E von E enthalten. Folglich ist
jede quivalenzklasse von E die Vereinigung von (evtl. mehreren)
quivalenzklassen von E. E bewirkt also eine feinere Partitionierung
als E . Demnach ist die Identitt die feinste und die Allrelation die
grbste quivalenzrelation.
xM
{M }
xM
Definition 48.
Im Fall N (f ) = B heit f surjektiv.
Ist f linkseindeutig, so heit f injektiv. In diesem Fall impliziert f (x) = f (y) die Gleichheit x = y.
Eine injektive und surjektive Abbildung heit bijektiv.
Ist f injektiv, so ist auch f 1 N (f ) A eine Abbildung, die
als die zu f inverse Abbildung bezeichnet wird.
2.4.2 Abbildungen
Definition 46. Sei R eine binre Relation auf einer Menge M .
R heit rechtseindeutig, falls fr alle x, y, z M gilt:
xRy xRz y = z.
R heit linkseindeutig, falls fr alle x, y, z M gilt:
xRz yRz x = y.
2 Regulre Sprachen
2.4 Relationalstrukturen
Beispiel 52.
Die Abbildung h R R+ mit
h x ex
4
Anders ausgedrckt: Die Klasse aller dreielementigen Ordnungen
zerfllt unter der quivalenzrelation in fnf quivalenzklassen,
die durch obige fnf Hasse-Diagramme reprsentiert werden.
Fr n N sei
Tn = {k N k teilt n}
d
3
c
2
a
1
(A, )
(B, )
h k Pk
2 Regulre Sprachen
1
5
2
4
1
5
2
4
G = (V, E)
G = (V, E )
v 12345
h1 (v) 1 3 5 2 4
h2 (v) 1 4 2 5 3
Whrend auf der Knotenmenge V = [3] insgesamt 23 = 8 verschiedene Graphen existieren, gibt es auf dieser Menge nur 4
verschiedene nichtisomorphe Graphen:
mit
wir den DFA M = (Z, , , q0 , E)
(
q , a) = (q,
a).
Satz 54. Sei M = (Z, , , q0 , E) ein DFA, der nur Zustnde enthlt, die vom Startzustand q0 aus erreichbar sind. Dann ist M =
, , q0 , E)
mit
(Z,
(
q , a) = (q,
a)
Tatschlich ist a(n) asymptotisch gleich u(n) = 2( 2 ) /n! (in Zeichen: a(n) u(n)), d.h.
lim a(n)/u(n) = 1.
Also gibt es auf V = {1, . . . , n} nicht wesentlich mehr als u(n) nichtisomorphe Graphen.
Beweis. Wir zeigen zuerst, dass wohldefiniert ist, also der Wert
von (
q , a) nicht von der Wahl des Reprsentanten q abhngt. Hierzu
19
2 Regulre Sprachen
zeigen wir, dass im Fall p q auch (q, a) und (p, a) quivalent sind:
L(Mq ) = L(Mp )
Eine interessante Folgerung aus obigem Beweis ist, dass fr eine regulre Sprache L die Menge {Lx x } nur endlich viele
verschiedene Sprachen enthlt, und somit die durch
x x L(Mq ) x L(Mp )
x ax L(Mq ) ax L(Mp )
x x L(M(q,a) ) x L(M(p,a) )
L(M(q,a) ) = L(M(p,a) ).
x RL y Lx = Ly
auf definierte quivalenzrelation RL endlichen Index hat.
Fr die algorithmische Konstruktion von M aus M ist es notwendig
herauszufinden, ob zwei Zustnde p und q von M quivalent sind oder
nicht.
Bezeichne AB = (A B) (B A) die symmetrische Differenz von
zwei Mengen A und B. Dann ist die Inquivalenz p / q zweier Zustnde p und q gleichbedeutend mit L(Mp )L(Mq ) . Wir nennen ein
Wort x L(Mp )L(Mq ) einen Unterscheider zwischen p und q.
Als nchstes zeigen wir, dass L(M ) = L(M ) ist. Sei x = x1 . . . xn eine
Eingabe und seien
0 , x1 . . . xi ), i = 0, . . . , n
qi = (q
die von M beim Abarbeiten von x durchlaufenen Zustnde. Wegen
(
qi1 , xi ) = (q
i
i1 , xi ) = q
Beobachtung 55.
Endzustnde p E sind nicht mit Zustnden q Z E quivalent
(da sie durch unterschieden werden).
Wenn (p, a) und (q, a) inquivalent sind, dann auch p und q
(da jeder Unterscheider x von (p, a) und (q, a) einen Unterscheider ax von p und q liefert).
2 Regulre Sprachen
1 2 3 4 5
Wegen
Algorithmus min-DFA(M )
1
2
3
4
5
6
7
8
z Z gilt: z = {z Z {z, z } / D}
{p, q}
{1, 4} {1, 5} {2, 4} {2, 5}
{(q, a), (p, a)} {2, 3} {2, 6} {1, 3} {1, 6}
enthlt D1 zustzlich die Paare {1, 4}, {1, 5}, {2, 4}, {2, 5} (in obiger
Matrix durch den Unterscheider a markiert). Da die verbliebenen
Paare {1, 2}, {3, 6}, {4, 5} wegen
{p, q}
{1, 2} {3, 6} {4, 5}
{(p, a), (q, a)} {1, 2} {4, 5} {3, 6}
{(p, b), (q, b)} {3, 6} {1, 2} {4, 5}
2
a
a
1
4
b
nicht zu D1 hinzugefgt werden knnen, ist D2 = D1 . Aus den unmarkierten Paaren {1, 2}, {3, 6} und {4, 5} erhalten wir die quivalenzklassen
1 = {1, 2}, 3 = {3, 6} und 4 = {4, 5},
1
Dann enthlt D0 die Paare
{1, 3}, {1, 6}, {2, 3}, {2, 6}, {3, 4}, {3, 5}, {4, 6}, {5, 6}.
b
b
a
a
4
b
21
2 Regulre Sprachen
(q
0 , x) = (q0 , y) (q0 , x) (q0 , y)
L(M(q
0 ,x) = L(M(q
0 ,y) Lx = Ly
zwei Eingaben x
stand (q
0 , x) =
ZL
= {Lx x },
EL
= {Lx x L} und
L (Lx , a) = Lxa .
Die Zustnde von ML knnen anstelle von Lx auch mit den quivalenzklassen [x]RL (bzw. mit geeigneten Reprsentanten) benannt
werden. Der resultierende Minimal-DFA MRL = (Z, , , [], E) mit
Z
= {[x]RL x },
E
= {[x]RL x L} und
([x]RL , a) = [xa]RL
L,
x {, 1} oder x endet mit 11,
0
L
0
1
L01
0
L00
1
0
22
2 Regulre Sprachen
1.
2.
3.
4.
[0]
0
r
0
00 01
[r0] [0] [00] [00] [0]
[r1] [] [01] [01] []
[]
0
1
Wie kann man von einer Sprache nachweisen, dass sie nicht regulr ist?
Eine Mglichkeit besteht darin, die Kontraposition folgender Aussage
anzuwenden.
Satz 62 (Pumping-Lemma fr regulre Sprachen).
Zu jeder regulren Sprache L gibt es eine Zahl l, so dass sich alle
Wrter x L mit x l in x = uvw zerlegen lassen mit
1. v =/ ,
2. uv l und
3. uv i w L fr alle i 0.
Falls eine Zahl l mit diesen Eigenschaften existiert, wird das kleinste
solche l die Pumping-Zahl von L genannt.
0
[00]
[01]
1
0
Korollar 61. Sei L eine Sprache. Dann sind folgende Aussagen quivalent:
L ist regulr,
es gibt einen DFA M mit L = L(M ),
es gibt einen NFA N mit L = L(N ),
es gibt einen regulren Ausdruck mit L = L(),
die quivalenzrelation RL hat endlichen Index.
Wir werden im nchsten Abschnitt noch eine weitere Methode kennenlernen, mit der man beweisen kann, dass eine Sprache nicht regulr
ist, nmlich das Pumping-Lemma.
ist.
23
2 Regulre Sprachen
L = {an n 0}
ist ebenfalls nicht regulr. Andernfalls msste es nmlich eine Zahl
l geben, so dass jede Quadratzahl n2 l als Summe von natrlichen
Zahlen u + v + w darstellbar ist mit der Eigenschaft, dass v 1 und
u + v l ist, und fr jedes i 0 auch u + iv + w eine Quadratzahl ist.
Insbesondere msste also u + 2v + w = n2 + v eine Quadratzahl sein,
was wegen
n2 < n2 + v n2 + l < n2 + 2l + 1 = (n + 1)2
ausgeschlossen ist.
L = ,
0,
l=
ist nicht regulr, da sich sonst jede Primzahl p einer bestimmten Mindestgre l als Summe von natrlichen Zahlen u + v + w darstellen
liee, so dass v 1 und fr alle i 0 auch u + iv + w = p + (i 1)v
prim ist. Dies ist jedoch fr i = p + 1 wegen
Wollen wir mit Hilfe des Pumping-Lemmas von einer Sprache L zeigen,
dass sie nicht regulr ist, so gengt es, fr jede Zahl l ein Wort x L
der Lnge x l anzugeben, so dass fr jede Zerlegung von x in drei
Teilwrter u, v, w mindestens eine der drei in Satz 62 aufgefhrten
Eigenschaften verletzt ist.
p + (p + 1 1)v = p(1 + v)
L = {a b j 0}
j j
24
2 Regulre Sprachen
2.7 Grammatiken
2.7 Grammatiken
R RR,
R ,
R (RR),
R ai , i = 1, . . . , k,
R (R) .
2 Regulre Sprachen
2.7 Grammatiken
bilden eine Hierarchie (d.h. alle Inklusionen sind echt), die so genannte
Chomsky-Hierarchie.
Als nchstes zeigen wir, dass sich mit regulren Grammatiken gerade
die regulren Sprachen erzeugen lassen. Hierbei erweist sich folgende
Beobachtung als ntzlich.
Lemma 74. Zu jeder regulren Grammatik G = (V, , P, S) gibt es
eine quivalente regulre Grammatik G , die keine Produktionen der
Form A a hat.
Beweis. Betrachte die Grammatik G = (V , , P , S) mit
V = V {Xneu },
P = {A aXneu A G a} {Xneu } P (V ).
Es ist leicht zu sehen, dass G die gleiche Sprache wie G erzeugt.
x L(M ) q1 , . . . , qn1 Z qn E
(qi1 , xi ) = qi fr i = 1, . . . , n
q 1 , . . . , qn V
qi1 G xi qi fr i = 1, . . . , n und qn G
q 1 , . . . , qn V
q0 iG x1 . . . xi qi fr i = 1, . . . , n und qn G
x L(G)
2 Regulre Sprachen
2.7 Grammatiken
Fr die entgegengesetzte Inklusion sei nun G = (V, , P, S) eine regulre Grammatik, die keine Produktionen der Form A a enthlt.
Dann knnen wir die gerade beschriebene Konstruktion einer Grammatik aus einem DFA umdrehen, um ausgehend von G einen NFA
M = (Z, , , {S}, E) mit
Z = V,
E = {A A G } und
(A, a) = {B A G aB}
zu erhalten. Genau wie oben folgt nun L(M ) = L(G).
b
b
b
A
a
q0
1
0
1
0
q2
1
q3
b
a
D
a
q1
3 Kontextfreie Sprachen
Beweis. Zuerst sammeln wir mit folgendem Algorithmus alle Variablen A, aus denen das leere Wort ableitbar ist. Diese werden auch als
-ableitbar bezeichnet.
3 Kontextfreie Sprachen
1
2
3
Wie wir gesehen haben, ist die Sprache L = {an bn n 0} nicht regulr.
Es ist aber leicht, eine kontextfreie Grammatik fr L zu finden:
4
5
E = {A V A }
repeat
E = E
E = E {A V B1 , . . . , Bk E A B1 . . . Bk }
until E = E
Damit ist klar, dass die Klasse der regulren Sprachen echt in der
Klasse der kontextfreien Sprachen enthalten ist. Als nchstes wollen
wir zeigen, dass die Klasse der kontextfreien Sprachen wiederum echt
in der Klasse der kontextsensitiven Sprachen enthalten ist:
3 Kontextfreie Sprachen
Als direkte Anwendung des obigen Satzes knnen wir die Inklusion
der Klasse der Typ 2 Sprachen in der Klasse der Typ 1 Sprachen
zeigen.
G = (V {S }, , P {S S, }, S )
die Sprache L(G ) = L, d.h. L CSL.
G5 = (V1 {S}, , P1 {S S1 S, }, S)
erzeugt.
3 Kontextfreie Sprachen
3.1 Chomsky-Normalform
3.1 Chomsky-Normalform
Definition 83. Eine Grammatik (V, , P, S) ist in ChomskyNormalform (CNF), falls P V (V 2 ) ist, also alle Regeln
die Form A BC oder A a haben.
Nun entfernen wir die Regel T U und fgen die Regel T abc
(wegen U abc) hinzu:
Als nchstes entfernen wir dann auch die Regel S T und fgen die
Regel S abc (wegen T abc) hinzu:
A1 A2 Ak A1 ,
indem wir diese Regeln aus P entfernen und alle brigen Vorkommen
der Variablen A2 , . . . , Ak durch A1 ersetzen. Falls sich unter den entfernten Variablen A2 , . . . , Ak die Startvariable S befindet, sei A1 die
neue Startvariable.
3 Kontextfreie Sprachen
3.1 Chomsky-Normalform
Satz 87. Zu jeder kontextfreien Sprache L CFL gibt es eine CNFGrammatik G mit L(G ) = L {}.
Beweis. Aufgrund der beiden vorigen Stze hat L {} eine kontextfreie Grammatik G = (V, , P, S) ohne -Produktionen und ohne
Variablenumbenennungen. Wir transformieren G wie folgt in eine
CNF-Grammatik.
Fge fr jedes Terminalsymbol a eine neue Variable Xa zu
V und eine neue Regel Xa a zu P hinzu.
Ersetze alle Vorkommen von a durch Xa , auer wenn a alleine
auf der rechten Seite einer Regel steht.
Ersetze jede Regel A B1 . . . Bk , k 3, durch die k 1 Regeln
Y b, BS, AY Y ; Aa; B b; C c.
Ersetze nun die Regeln S ABC, X BXX und Y AY Y durch
die Regeln S AS , S BC, X BX , X XX und Y AY ,
Y Y Y :
S c, AS , AY, BX, CS; S BC;
X a, AS, BX ; X XX; Y b, BS, AY ; Y Y Y ;
Aa; B b; C c.
x L(G) S x S L x S R x.
Beispiel 90. Wir betrachten die Grammatik G = ({S}, {a, b}, {S
aSbS, }, S). Offenbar hat das Wort aabb in G acht verschiedene
Ableitungen, die sich allerdings nur in der Reihenfolge der Regelan31
3 Kontextfreie Sprachen
3.1 Chomsky-Normalform
wendungen unterscheiden:
Wir gehen an dieser Stelle kurz der Frage nach, welche Sprache von
der Grammatik G = ({S}, {a, b}, {S aSbS, }, S) erzeugt wird. Zunchst einmal ist klar, dass L(G) nur Wrter x {a, b} mit der
Eigenschaft #a (x) = #b (x) enthlt. Allerdings sind nicht alle Wrter
mit dieser Eigenschaft in L(G) enthalten, da beispielsweise ba / L(G)
ist. Damit ein Wort x in G ableitbar ist, muss zudem fr jedes Prfix
u von x gelten, dass #a (u) #b (u) ist.
3 Kontextfreie Sprachen
Hierbei stellen wir uns die Kanten von oben nach unten gerichtet
und die Kinder v1 . . . vk von links nach rechts geordnet vor.
Beispiel 94. Betrachte die Grammatik G = ({S}, {a, b}, {S
aSbS, }, S) und die Ableitung
S aSbS aaSbSbS aaSbbS aabbS aabb.
Die zugehrigen Syntaxbume sind dann
T0 : S T1 : S
aS b S
aS b S
aS b S
T3 : S
aS b S
aS b S
T4 : S
aS b S
aS b S
T5 : S
aS b S
aS b S
Die Satzform i ergibt sich aus Ti , indem wir die Bltter von Ti von
links nach rechts zu einem Wort zusammensetzen.
Bemerkung 95.
Aus einem Syntaxbaum ist die zugehrige Linksableitung eindeutig rekonstruierbar. Daher fhren unterschiedliche Linksableitungen auch auf unterschiedliche Syntaxbume. Linksableitungen
und Syntaxbume entsprechen sich also eineindeutig. Ebenso
Rechtsableitungen und Syntaxbume.
Ist T Syntaxbaum einer CNF-Grammatik, so hat jeder Knoten
in T hchstens zwei Kinder (d.h. T ist ein Binrbaum).
T2 : S
33
3 Kontextfreie Sprachen
Definition 96. Die Tiefe eines Baumes mit Wurzel w ist die maximale Pfadlnge von w zu einem Blatt.
Seien U und U die von diesen Knoten ausgehenden Unterbume des vollstndigen Syntaxbaums T2n1 . Nun zerlegen wir z wie folgt. w
ist das Teilwort von z = uw y, das von U erzeugt
U
wird und w ist das Teilwort von w = vwx, das
u
y
U
v
x
von U erzeugt wird. Jetzt bleibt nur noch zu
w
zeigen, dass diese Zerlegung die geforderten 3
w
Eigenschaften erfllt.
Da U mehr Bltter hat als U , ist vx (Bedingung 1).
Da der Baum U = U Tn1 die Tiefe k hat (andernfalls wre
nicht maximal), hat U hchstens 2k = l Bltter. Da U genau
vwx Bltter hat, folgt vwx l (Bedingung 2).
Fr den Nachweis von Bedingung 3 lassen sich schlielich Syntaxbume B i fr die Wrter uv i wxi y, i 0, wie folgt konstruieren:
Korollar 98. Ein Binrbaum B mit mehr als 2k1 Blttern hat mindestens Tiefe k.
Beweis. Wrde B mehr als 2k1 Bltter und eine Tiefe k1 besitzen,
so wrde dies im Widerspruch zu Lemma 97 stehen.
B0
B1
U
B2
v
v
34
U
U
x
x
3 Kontextfreie Sprachen
Satz 100. Die Klasse CFL ist nicht abgeschlossen unter Schnitt und
Komplement.
Beweis. Die beiden Sprachen
L1 = {an bm cm n, m 0} und L2 = {an bn cm n, m 0}
A
B
xk xk+l 1
C
xk+l xk+l
Algorithmus CYK(G, x)
1
Wir lsen das Wortproblem, indem wir G zunchst in ChomskyNormalform bringen und dann den nach seinen Autoren Cocke,
Younger und Kasami benannten CYK-Algorithmus anwenden, welcher
auf dem Prinzip der Dynamischen Programmierung beruht.
2
3
4
5
6
7
35
3 Kontextfreie Sprachen
8
9
10
11
3.4 Kellerautomaten
for all A BC P do
if B Vl ,k and C Vll ,k+l then
Vl,k = Vl,k {A}
if S Vn,1 then accept else reject
3.4 Kellerautomaten
Wie mssen wir das Maschinenmodell des DFA erweitern, damit die
Sprache L = {an bn n 0} und alle anderen kontextfreien Sprachen
erkannt werden knnen? Dass ein DFA die Sprache L = {an bn n 0}
nicht erkennen kann, liegt an seinem beschrnkten Speichervermgen,
das zwar von L aber nicht von der Eingabe abhngen darf.
Um L erkennen zu knnen, reicht bereits ein so genannter Kellerspeicher (Stapel, engl. stack, pushdown memory) aus. Dieser erlaubt nur
den Zugriff auf die hchste belegte Speicheradresse. Ein Kellerautomat
verfgt ber einen Kellerspeicher,
S BC;
X AS, BX , a;
Y BS, AY , b; Y Y Y ; Aa; B b; C c.
X XX;
xk :
a
b
b
l: 1 {X, A} {Y, B} {Y, B}
2 {S}
{Y }
3 {Y }
x1 xi xn
Lesekopf
Steuereinheit
A
B
C
Kellerspeicher #
Wegen S / V3,1 (abb) ist x / L(G). Dagegen gehrt das Wort y = aababb
wegen S V6,1 (aababb) zu L(G):
a
a
b
a
b
b
{X, A} {X, A} {Y, B} {X, A} {Y, B} {Y, B}
{X }
{S}
{S}
{S}
{Y }
{X}
{X}
{Y }
{Y }
{X }
{S}
{Y }
{X}
{Y }
{S}
Eingabe
band
Fr eine Menge M bezeichne Pe (M ) die Menge aller endlichen Teilmengen von M , d.h.
Pe (M ) = {A M A ist endlich}.
Definition 103. Ein Kellerautomat (kurz: PDA; pushdown automaton) wird durch ein 6-Tupel M = (Z, , , , q0 , #) beschrieben,
wobei
Z eine endliche Menge von Zustnden,
das Eingabealphabet,
36
3 Kontextfreie Sprachen
3.4 Kellerautomaten
das Kelleralphabet,
Z ({}) Pe (Z ) die berfhrungsfunktion,
q0 Z der Startzustand und
# das Kelleranfangszeichen ist.
von M bei Eingabe x. Die reflexive, transitive Hlle von bezeichnen wir wie blich mit . Die von M akzeptierte oder erkannte
Sprache ist
Ein Wort x wird also genau dann von M akzeptiert, wenn es eine
Rechnung gibt, bei der M das gesamte Eingabewort bis zum Ende
liest und den Keller leert. Man beachte, dass bei leerem Keller kein
weiterer bergang mehr mglich ist.
#, (1)
a#, A (2)
aA, AA (3)
qa# qA (2)
qbA p (4)
bA, (5)
bA, (4)
K = (q, xi . . . xn , A1 . . . Al ) Z
(2)
(3)
(4)
(5)
(1)
n 1:
(q, an bn , #)
(3)
{an bn
(5)
Dies zeigt
n 0} L(M ). Als nchstes zeigen wir, dass jede
von M akzeptierte Eingabe x = x1 . . . xn die Form x = am bm hat.
Ausgehend von der Startkonfiguration (q, x, #) sind nur die Anweisungen (1) oder (2) ausfhrbar. Falls M Anweisung (1) whlt, wird
der Keller geleert. Daher kann M in diesem Fall nur das leere Wort
x = = a0 b0 akzeptieren.
K = (p, xj . . . xn , B1 . . . Bk A2 . . . Al ) mit j = i + u.
Hierfr schreiben wir auch kurz K K . Eine Rechnung von M
bei Eingabe x ist eine Folge von Konfigurationen K0 , K1 , K2 . . . mit
K0 = (q0 , x, #) und K0 K1 K2 . K0 heit Startkonfiguration
37
3 Kontextfreie Sprachen
3.4 Kellerautomaten
Als nchstes zeigen wir die Inklusion von rechts nach links.
Idee: Konstruiere zu einem PDA M = (Z, , , , q0 , #) eine kontextfreie Grammatik G = (V, , P, S) mit Variablen XpAp , A , p, p Z,
so dass folgende quivalenz gilt:
(p, xm+2 . . . xn
(3)
, Am1 )
()
Ein Wort x soll also genau dann in G aus XpAp ableitbar sein, wenn
M ausgehend vom Zustand p bei Lesen von x in den Zustand p
gelangen kann und dabei das Zeichen A aus dem Keller entfernt. Um
dies zu erreichen, fgen wir fr jede Anweisung puA p0 A1 . . . Ak ,
k 0, die folgenden Zk Regeln zu P hinzu:
Als nchstes zeigen wir, dass PDAs genau die kontextfreien Sprachen
erkennen.
(4)
V = {S} {XpAp p, p Z, A }
und P enthlt neben den Regeln S Xq0 #p , p Z, fr jede Anweisung
puA p0 A1 . . . Ak , k 0, von M und jede Zustandsfolge p1 , . . . , pk
die Regel XpApk uXp0 A1 p1 . . . Xpk1 Ak pk .
Unter der Voraussetzung, dass die quivalenz () gilt, lsst sich nun
leicht die Korrektheit von G zeigen. Es gilt
Wir mssen also nur noch die Gltigkeit von () zeigen. Hierzu zeigen
wir durch Induktion ber m fr alle p, p Z, A und x
folgende strkere Behauptung:
Daher folgt
x L(G) S L x (q, x, S) (q, , ) x L(M ).
()
3 Kontextfreie Sprachen
3.4 Kellerautomaten
(p, x, A) (p0 , x , A1 . . . Ak ) m (p , , )
der Lnge m + 1 sei puA p0 A1 . . . Ak , k 0, die im ersten
Rechenschritt ausgefhrte Anweisung (d.h. x = ux ). Zudem
sei pi fr i = 1, . . . , k der Zustand, in den M mit Kellerinhalt
Ai+1 . . . Ak gelangt (d.h. pk = p ). Dann enthlt P die Regel
XpApk uXp0 A1 p1 . . . Xpk1 Ak pk . Weiter sei ui fr i = 1, . . . , k das
Teilwort von x , das M zwischen den Besuchen von pi1 und pi
liest.
Dann gibt es Zahlen mi 1 mit m1 + + mk = m und
Xpi1 Ai pi mi ui (i = 1, . . . , k).
Nach IV gibt es somit Rechnungen
(pi1 , ui , Ai ) mi (pi , , ), i = 1, . . . , k,
aus denen sich die gesuchte Rechnung der Lnge m + 1 zusammensetzen lsst:
(p, uu1 . . . uk , A)
(p0 , u1 . . . uk , A1 . . . Ak )
m
1 (p1 , u2 . . . uk , A2 . . . Ak )
mk1 (pk1 , uk , Ak )
mk (pk , , ).
(pi1 , ui , Ai ) mi (pi , , )
fr i = 1, . . . , k. Nach IV gibt es daher Ableitungen
Xpi1 Ai pi mi ui , i = 1, . . . , k,
die wir zu der gesuchten Ableitung zusammensetzen knnen:
XpApk
m1
mk1
mk
: qaa q,
(0)
qS qaSbS, (1 )
qbb q, (0 )
qS qa. (2 )
Der Linksableitung
S aSbS aabS aaba
XpAp m x.
(1)
39
(2)
(2)
3 Kontextfreie Sprachen
(0)
(2 )
(0)
(2)
(0 )
(2 )
(0 )
pbA q
qbA q
0
0
(4)
(5)
(5 )
K K1 K K 2 K1 = K2 .
Anweisung
zugehrige Regel
k p1 , . . . , pk
puA p0 A1 . . . Ak
XpApk uXp0 A1 p1 . . .Xpk1 Ak pk
(4 )
Xp#q
Xp#p aXpAp
Xp#q aXpAq
XpAp aXpAp XpAp
XpAq aXpAp XpAq
XpAp aXpAq XqAp
XpAq aXpAq XqAq
XpAq b
XqAq b
(3
p
q
p, p
p, q
q, p
q, q
-
(2 )
in G und umgekehrt.
0
1
(5)
S Xp#q aXpAq
aaXpAq XqAq aabXqAq aabb
Beispiel 107. Sei M der PDA ({p, q}, {a, b}, {A, #}, , p, #) mit
(1)
(2)
(4)
(0)
p# q
pa# pA
(3)
(1 )
(2 )
(2 )
(3 )
(3 )
(3 )
(3 )
(4 )
(5 )
(q, a, A) + (q, , A) 1.
Beispiel 109. Der PDA M = ({q0 , q1 , q2 }, {a, b, c}, {A, B, #}, , q0 , #)
mit der berfhrungsfunktion
q0 a# q0 A#
q0 aB q0 AB
q1 aA q1
40
q0 b# q0 B#
q0 bB q0 BB
q1 bB q1
q0 aA q0 AA
q0 cA q1 A
q1 # q2
q0 bA q0 BA
q0 cB q1 B
3 Kontextfreie Sprachen
erkennt die Sprache L(M ) = {xcxR x {a, b}+ }. Um auf einen Blick
erkennen zu knnen, ob M deterministisch ist, empfiehlt es sich, in
Form einer Tabelle darzustellen:
q0 , # q0 , A q0 , B
a
b
c
q0 A# q0 AA q0 AB
q0 B# q0 BA q0 BB
q1 A q1 B
q1 , # q1 , A q 1 , B
q2
q1
q1
Ein Kellerautomat mit Endzustnden wird durch ein 7Tupel M = (Z, , , , q0 , #, E) beschrieben. Dabei sind die Komponenten Z, , , , q0 , # dieselben wie bei einem PDA und zustzlich ist E Z eine Menge von Endzustnden.
Die von M akzeptierte oder erkannte Sprache ist
q2 , # q2 , A q 2 , B
M ist ein deterministischer Kellerautomat mit Endzustnden (kurz: DPDA), falls M zustzlich fr alle (q, a, A)
Z folgende Bedingung erfllt:
(q, a, A) + (q, , A) 1.
3 Kontextfreie Sprachen
Als nchstes zeigen wir, dass DCFL unter Komplementbildung abgeschlossen ist. Versuchen wir, die End- und Nichtendzustnde eines
DPDA M einfach zu vertauschen, um einen DPDA M fr L(M ) zu
erhalten, so ergeben sich folgende Schwierigkeiten:
1. Falls M eine Eingabe x nicht zu Ende liest, wird x weder von
M noch von M akzeptiert.
2. Falls M nach dem Lesen von x noch -bergnge ausfhrt und
dabei End- und Nichtendzustnde besucht, wird x von M und
von M akzeptiert.
Der nchste Satz zeigt, wie sich Problem 1 beheben lsst.
Satz 111. Jede Sprache L DCFL wird von einem DPDA M erkannt,
der alle Eingaben zu Ende liest.
Beweis. Sei M = (Z, , , , q0 , #, E) ein DPDA mit L(M ) = L. Falls
M eine Eingabe x = x1 . . . xn nicht zu Ende liest, muss einer der
folgenden drei Grnde vorliegen:
1. M gert in eine Konfiguration (q, xi . . . xn , ), i n, mit leerem
Keller.
2. M gert in eine Konfiguration (q, xi . . . xn , A), i n, in der
wegen (q, xi , A) = (q, , A) = keine Anweisung ausfhrbar
ist.
3. M gert in eine Konfiguration (q, xi . . . xn , A), i n, so dass
M ausgehend von der Konfiguration (q, , A) eine unendliche
Folge von -Anweisungen ausfhrt.
Die erste Ursache schlieen wir aus, indem wir ein neues Zeichen
auf dem Kellerboden platzieren:
(a) s# q0 #
(d) qA rA,
fr alle q Z und A , so dass M ausgehend von der Konfiguration (q, , A) unendlich viele -bergnge ausfhrt ohne dabei
einen Endzustand zu besuchen.
(e) qA tA
tA rA,
fr alle q Z und A , so dass M ausgehend von der Konfiguration (q, , A) unendlich viele -bergnge ausfhrt und dabei
auch Endzustnde besucht.
Die zweite Ursache schlieen wir durch Hinzunahme eines Fehlerzustands r sowie folgender Anweisungen aus (hierbei ist = {}):
(b) qaA rA,
fr alle a und A .
3 Kontextfreie Sprachen
q0 , # q0 , A q0 , B
a
b
c
q0 A# q0 AA q0 AB
q0 B# q0 BA q0 BB
q1 A q1 B
q1 , # q1 , A q 1 , B
q2
q1
q1
Die Idee dabei ist, dass sich M in seinem Zustand (q, i) neben dem
aktuellen Zustand q von M in der Komponente i merkt, ob M nach
Lesen des letzten Zeichens (bzw. seit Rechnungsbeginn) einen Endzustand besucht hat (i = 2) oder nicht (i = 1). Mchte M das nchste
Zeichen lesen und befindet sich M im Zustand (q, 1), so macht M
noch einen Umweg ber den Endzustand (q, 3).
Konkret erhalten wir M = (Z {1, 2, 3}, , , , s, #, Z {3}) mit
q2 , # q2 , A q 2 , B
q2 #
(q0 , 1), q0 / E,
s=
q0 ,# q0 ,A q0 ,B q0 , q1 ,# q1 ,A q1 ,B q1 , q2 ,# q2 ,A q2 ,B q2 ,
a q0 A# q0 AA q0 AB
b q0 B# q0 BA q0 BB
c r# q1 A q1 B
r
r
r
q2
Typ (f, b) (f )
s, #
s, B s, r, # r, A r, B r, t, # t, A t, B t,
q0 #
a
Typ (a)
s, A
t#
q1 rB r rA rB r
rA q1 r rA rB r
rA rB r rA rB r
r#
r# rA rB r
r# rA rB r
r# rA rB r
(c) (c) (c) (c) (e)
falls
falls
falls
falls
p / E,
p E,
p / E und
p E.
hinzufgen.
Satz 113. Die Klasse DCFL ist unter Komplement abgeschlossen, d.h.
es gilt DCFL = co-DCFL.
3 Kontextfreie Sprachen
Als nchstes zeigen wir, dass DCFL nicht unter Produktbildung abgeschlossen ist. Wir wissen bereits, dass L = L3 L4 / DCFL ist. Dann
ist auch die Sprache
(q, u, A) =
Satz 115. Die Klasse DCFL ist nicht abgeschlossen unter Schnitt,
Vereinigung, Produkt und Sternhlle.
Beweis. Die beiden Sprachen
L3 = {a b c i =/ j} und L4 = {a b c j =/ k}.
i j k
i j k
ja
nein
ja
ja
nein
nein
ja
ja
nein
ja
nein
ja
ja
nein
ja
4 Kontextsensitive Sprachen
Also gilt an bn cn L(G) fr alle n 1. Umgekehrt folgt durch Induktion
ber die Ableitungslnge m, dass jede Satzform u mit S m die
folgenden Bedingungen erfllt:
#a () = #b () + #B () = #c (),
links von S und links von einem a kommen nur as vor,
links von einem b kommen nur as oder bs vor.
Daraus ergibt sich, dass in G nur Wrter der Form w = an bn cn ableitbar sind.
4 Kontextsensitive Sprachen
In diesem Kapitel fhren wir das Maschinenmodell des linear beschrnkten Automaten (LBA) ein und zeigen, dass LBAs genau die
kontextsensitiven Sprachen erkennen. Die Klasse CSL ist unter Komplementbildung abgeschlossen. Es ist jedoch offen, ob die Klasse DCSL
der von einem deterministischen LBA erkannten Sprachen eine echte
Teilklasse von CSL ist (diese Frage ist als LBA-Problem bekannt).
4.2 Turingmaschinen
Um ein geeignetes Maschinenmodell fr die kontextsensitiven Sprachen
zu finden, fhren wir zunchst das Rechenmodell der nichtdeterministischen Turingmaschine (NTM) ein. Eine NTM erhlt ihre Eingabe
auf einem nach links und rechts
Schreibunbegrenzten Band. Whrend
Lese-Kopf
Arbeitsband
mit Eingabe
(2)
(3)
(4)
(1)
(2)
(3)
(4)
45
4 Kontextsensitive Sprachen
4.2 Turingmaschinen
das i-te Band mit . . . ui ai vi . . . beschriftet ist, wobei sich
der Kopf auf dem Zeichen ai befindet.
Im Fall k = 1 schreiben wir fr eine Konfiguration (q, u, a, v)
auch kurz uqav.
b) Die Startkonfiguration von M bei Eingabe x = x1 . . . xn
ist
(q0 , , x1 , x2 . . . xn , , , , . . . , , , ), x =/ ,
Kx =
x = .
(q0 , , , , . . . , , , ),
(q, a1 , . . . , ak ) (q , b1 , . . . , bk , D1 , . . . , Dk )
(q, a1 , . . . , ak ) (q , a1 , . . . , ak , D1 , . . . , Dk ).
im Fall Di = N:
Di = L:
ui ai vi
u i ai v i
ui ai vi
ui bi vi
ui bi ai vi
ui ai bi vi
ui = ui ,
ai = bi und
vi = vi .
Di = R:
ui = ui bi und
ui , ui =/ ,
u
a
=
i
i
v
,
v
=
/
,
i
i
, sonst
ai v i =
, sonst. und vi = bi vi .
K = (q, u1 , a1 , v1 , . . . , uk , ak , vk ) Z ( )
und besagt, dass
q der momentane Zustand ist und
46
4 Kontextsensitive Sprachen
d) Eine Rechnung von M bei Eingabe x ist eine Folge von Konfigurationen K0 , K1 , K2 . . . mit K0 = Kx und K0 K1 K2 .
e) Die von M akzeptierte oder erkannte Sprache ist
L(M ) = {x K E ( )k Kx K}.
(1)
xn
whrend der Rechnung nur die n mit der Eingabe beschrifteten Bandfelder besuchen und
berschreiben. Tatschlich lsst sich zeigen,
Steuereinheit
dass jede k-NTM, die bei Eingaben der Lnge n hchstens linear viele (also cn+c fr eine
(4)
q2 AaBb
(5)
(7)
(1)
(4)
(6)
(8)
(9)
(8)
Es ist leicht zu sehen, dass jede Typ-0 Sprache von einer NTM M
akzeptiert wird, die ausgehend von x eine Rckwrtsableitung (Reduktion) auf das Startsymbol sucht. Ist x und markieren wir das
letzte Zeichen von x, so kann M das Ende der Eingabe erkennen, ohne
darber hinaus lesen zu mssen. Zudem ist im Fall einer Typ-1 Sprache die linke Seite einer Regel hchstens so lang wie die rechte Seite.
Deshalb muss M beim Erkennen von kontextsensitiven Sprachen den
Bereich der Eingabe whrend der Rechnung nicht verlassen.
(1)
(7)
M akzeptiert also eine Eingabe x (hierfr sagen wir kurz M (x) akzeptiert), falls es eine Rechnung Kx = K0 K1 K2 Kl von M (x)
gibt, bei der ein Endzustand erreicht wird.
(4)
(10)
47
4 Kontextsensitive Sprachen
x = ,
x,
x =
x1 . . . xn1 xn , x =/
= {
ber dem Alphabet
a a }.
: q0 a q1 AR
q1 a q1 aR
q1 B q1 BR
q1 b q2 BL
(1)
(2)
(3)
(4)
q1b q2 BL
q2 a q2 aL
q2 B q2 BL
q2 A q0 AR
(4a)
(5)
(6)
(7)
q0 B q3 BR (8)
q4 BN
q0 B
(8a)
q3 B q3 BR (9)
q4 BN
q3 B
(10 )
Das Wort aabb wird nun von M bei Eingabe aabb durch folgende
Rechnung akzeptiert:
L(M ) = {x M (
x) akzeptiert}.
(1)
(7)
(3)
AAq2 B B
(4a)
(7)
(8)
(10 )
(1)
q2 AaBb
AAq0 B B
AABq3 B
AABq4 B
Aq2 AB B
(6)
(1)
(2)
(3)
(4)
(5)
(4)
: q0 a q1 AR
q1 a q1 aR
q1 Bq1 BR
q1 b q2 BL
4 Kontextsensitive Sprachen
Beweis. Wir zeigen zuerst die Inklusion von links nach rechts. Sei
G = (V, , P, S) eine kontextsensitive Grammatik. Dann wird L(G)
von folgendem LBA M akzeptiert (o.B.d.A. sei / L(G)):
(qc, a) (q c, a),
falls qc M q cN
(R) R-Regeln
(L) L-Regeln
(N) N-Regeln
4
5
(N,L,R)
n
(A) A-Regeln
(c, a) a
(qc, a) a,
(F,E)
n
(S,A)
m
V = {S, A} (Z ),
S A(
a, a), (q0 a
, a)
Ist also q0 x1 . . . xn1 xn m a1 . . . ai1 qai . . . an mit q E eine akzeptierende Rechnung von M (x1 . . . xn1 xn ), so folgt
(N,R,L)
(E) E-Regeln
49
q1b q2 BL
q2 a q2 aL
q2 B q2 BL
q2 A q0 AR
q0 B q3 BR
q4 BN
q0 B
q3 B q3 BR
q4 BN
q3 B
4 Kontextsensitive Sprachen
REG
DCFL
CFL
DCSL
CSL
RE
(S1 -S4 )
(A1 -A4 )
(F1 -F16 )
(E1 -E16 )
q4 BN
Vereinigung
Schnitt
Komplement
Produkt
Sternhlle
ja
nein
ja
ja
ja
ja
ja
nein
nein
ja
ja
ja
ja
ja
nein
ja
ja
nein
ja
nein
ja
ja
ja
ja
ja
nein
ja
ja
ja
ja
K = (q, u1 , a1 , v1 , . . . , uk , ak , vk ) Z ( )k
mit uk = f (x) hlt (d.h. Kx K und K hat keine Folgekonfiguration).
Hierfr sagen wir auch, M gibt bei Eingabe x das Wort f (x) aus und
schreiben M (x) = f (x). f heit Turing-berechenbar (oder einfach
berechenbar), falls es eine k-DTM M mit M (x) = f (x) fr alle
x gibt.
In diesem Kapitel beschftigen wir uns mit der Klasse RE der rekursiv aufzhlbaren Sprachen, die identisch mit den Typ-0 Sprachen
sind. Wir werden eine Reihe von Charakterisierungen fr diese Klasse
mittels Turingmaschinen beweisen, wodurch auch die Namensgebung
(rekursiv aufzhlbar) verstndlich wird. Eine wichtige Teilklasse von
RE bildet die Klasse REC der entscheidbaren (oder rekursiven) Sprachen, in der bereits alle kontextsensitiven Sprachen enthalten sind.
Definition 124.
a) Eine NTM M hlt bei Eingabe x, falls alle Rechnungen von
M (x) eine endliche Lnge haben. Falls M (x) nicht hlt, schreiben wir auch kurz M (x) = .
b) Eine NTM M entscheidet eine Eingabe x, falls M (x) hlt
oder eine Konfiguration mit einem Endzustand erreichen kann.
c) Eine Sprache L heit entscheidbar, falls eine DTM M
mit L(M ) = L existiert, die jede Eingabe x entscheidet.
d) Jede von einer DTM M erkannte Sprache heit semientscheidbar.
Definition 127.
a) Eine partielle Funktion hat die Form f {}.
b) Fr f (x) = sagen wir auch f (x) ist undefiniert.
c) Der Definitionsbereich (engl. domain) von f ist
dom(f ) = {x f (x) }.
d) Das Bild (engl. image) von f ist
img(f ) = {f (x) x dom(f )}.
Bemerkung 125.
Die von einer DTM M akzeptierte Sprache L(M ) wird als semientscheidbar bezeichnet, da M zwar alle (positiven) Eingaben
x L entscheidet, aber mglicherweise nicht alle (negativen)
Eingaben x L.
Wir werden spter sehen, dass genau die Typ-0 Sprachen semientscheidbar sind.
1,
A (x) =
0,
x A,
x / A.
1, x A,
A (x) =
, x / A.
Beweis. Siehe bungen.
x 0 1 00 01 10 11 000 . . .
x+ 0 1 00 01 10 11 000 001 . . .
Satz
1.
2.
3.
4.
5.
6.
Wie der nchste Satz zeigt, lsst sich jedes Entscheidungsproblem auf
ein funktionales Problem zurckfhren.
Beweis. 1) 2): Sei M = (Z, , , , q0 , E) eine k-DTM, die A akzeptiert. Wir konstruieren eine 1-DTM M = (Z , , , , z0 , E)
und
, x = ,
f4 (x) =
+
y, x = y .
52
a b c d
e f g h
( ) ( ) () ()
mit K0 = Ky und Kt E ( )k
f (x) =
x0 , sonst.
x1 x2 xn
.
Kx = q0
Diese Zeichen speichert M zusammen mit dem aktuellen Zustand q von M in ihrem Zustand. Anschlieend
geht M wieder nach links und realisiert dabei die
durch (q, a1 , . . . , ak ) vorgegebene Anweisung von M .
Satz 132. A ist genau dann entscheidbar, wenn A und A semientscheidbar sind, d.h. REC = RE co-RE.
53
M0 , sonst.
Hierbei ist M0 eine beliebige DTM.
H x 1 x2 x3
Definition 133.
w1 1 1 0
a) Das Halteproblem ist die Sprache
w2 0 0 1
w3 1 1 1
w, x {0, 1} und die DTM
}
H = {w#x
Mw hlt bei Eingabe x
die DTM Mw
}
hlt bei Eingabe w
K
w1 1
w2
0
w3
1
Beweis. Wir zeigen zuerst K RE. Sei w0 die Kodierung einer DTM,
die bei jeder Eingabe (sofort) hlt und betrachte die Funktion
()
w0 , sonst.
()
Mw (w) hlt w K
Fr die Kodierung
aber
()
von M
folgt dann
1
0
1
1
0
1
0
1
1
Definition 136.
a) Eine Sprache A heit auf B reduzierbar (kurz:
A B), falls eine berechenbare Funktion f ex., so
dass gilt:
x x A f (x) B.
b) Eine Sprachklasse C heit unter abgeschlossen, wenn fr
alle Sprachen A, B gilt:
A B B C A C.
c) Eine Sprache B heit hart fr eine Sprachklasse C (kurz: Chart oder C-schwer), falls jede Sprache A C auf B reduzierbar
ist:
A C A B.
H x1 x2 x3
w1
w2
w3
(Widerspruch!)
Die Methode in obigem Beweis wird als Diagonalisierung bezeichnet. Mit dieser Beweistechnik lsst sich auch eine entscheidbare Sprache definieren, die sich von jeder kontextsensitiven Sprache unterscheidet (siehe bungen).
()
Mw (w ) hlt nicht w / K
w 0 1 0
55
w1
w2
w3
1
1
0
folgt
M (x) = M (f (x)) = B (f (x)) = A (x).
Also berechnet M die Funktion A , d.h. A REC.
H0 x1 (= )
Korollar 139.
1. A B A / REC B / REC,
2. A B A / RE B / RE.
Beweis. Aus der Annahme, dass B entscheidbar (bzw. semientscheidbar) ist, folgt wegen A B, dass dies auch auf A zutrifft
(Widerspruch).
Antwort. Nur dann, wenn die fragliche Eigenschaft trivial ist (d.h.
keine oder jede berechenbare Funktion hat diese Eigenschaft).
nicht trivial und L = LF ist. F ist nicht trivial, da z.B. die berechenbare
partielle Funktion
0n+1 , x = 0n fr ein n 0
f (x) =
sonst
,
in F und die konstante Funktion g(x) = 0 auf {0} nicht in F enthalten ist.
Definition 147. Sei ein beliebiges Alphabet mit # . Das Postsche Korrespondenzproblem ber (kurz PCP ) ist wie folgt
definiert.
Gegeben: k Paare (x1 , y1 ), . . . , (xk , yk ) von Wrtern ber .
Gefragt: Gibt es eine Folge = (i1 , . . . , in ), n 1, von Indizes
ij {1, . . . , k} mit xi1 . . . xin = yi1 . . . yin ?
Das modifizierte PCP ber (kurz MPCP ) fragt nach einer
Lsung = (i1 , . . . , in ) mit i1 = 1.
w1 . . . wn
w1 . . . wn
w1 . . . wn
w1 . . . wn
x1 x1 xk
x1 . . . x k
).
)(
y1 . . . yk
y1 y1 yk
Dabei nehmen wir an, dass (xi , yi ) (, ) ist, da wir diese Paare im
Fall i > 1 einfach weglassen und im Fall i = 1 f (I) = (aa) setzen knnen.
Folglich enthlt auch f (I) nicht das Paar (, ). Beispielsweise ist
x1 x3 x2 x3 = acaaabcaa
y1 y3 y2 y3 = acaaabcaa
aa b bab bb
aa aa b bab bb
f(
)=(
).
aab bb a b
aab aab bb a b
f (
a ab caa
)
Beispiel 148. Die Instanz I = (xy11 xy22 yx33 ) = ( aca
bc aa besitzt wegen
f (
k
(xy11 ...x
)
...yk
0 01 200
)
f reduziert z.B. die PCP{0,1,2} -Instanz I = (020
12 00 auf die quivaa
aab abbaa
lente PCP{a,b} -Instanz f (I) = (aabba ababb aa ).
Im Folgenden lassen wir im Fall = {a, b} den Index weg und schreiben einfach PCP (bzw. MPCP).
= (i1 , i2 1, . . . , in1 1)
eine MPCP-Lsung fr I.
58
0 1 . . . m
In diesem Abschnitt leiten wir aus der Unentscheidbarkeit des Postschen Korrespondenzproblems eine Reihe von weiteren Unentscheidbarkeitsresultaten her. Wir zeigen zuerst, dass das Schnittproblem
fr kontextfreie Grammatiken unentscheidbar ist.
gezeigt ist.
S S a b aabb
S aSbS S a b
).
Korollar 155.
(i) Das Schnittproblem fr DPDAs ist RE-vollstndig.
(ii) Das Inklusionsproblem fr DPDAs ist co-RE-vollstndig.
Korollar 155 wird in den bungen bewiesen. Die Idee dabei ist, die
kontextfreie Grammatik Gs im Beweis von Satz 153 in DPDAs Ms
und M s zu berfhren mit L(Ms ) = L(Gs ) und L(M s ) = L(Gs ).
Schlielich ergeben sich fr CFL noch folgende Unentscheidbarkeitsresultate.
x1 x2 x3
a
aab abbaa
)=(
)
y1 y2 y3
aabba ababb aa
Beweis.
(i) Wir reduzieren das Komplement von PCP auf das Ausschpfungsproblem fr CFL. Es gilt
I / PCP Ls Lt = Ls Lt = ,
3231#x1 x3 x2 x3 = 3231#aabbaaaababbaa
= 3231#aabbaaaababbaa = 3231#y1 y3 y2 y3
in L(Gs ) L(Gt ).
wobei Ls und Lt die im Beweis von Satz 153 definierten Sprachen sind. Diese sind sogar in DCFL und in den bungen wird
gezeigt, dass sich DLBAs (und damit auch kontextfreie Grammatiken) fr Ls und Lt aus I berechnen lassen. Daher vermittelt
60
Leerheitsproblem fr DLBAs
Gegeben: Ein DLBA M .
Gefragt: Ist L(M ) = ?
f G (G, Gall ),
Satz 158.
(i) Das Leerheitsproblem fr kfr. Grammatiken ist entscheidbar.
(ii) Das Wortproblem fr kontextsensitive Grammatiken ist entscheidbar.
Als weitere Folgerung erhalten wir die Unentscheidbarkeit des Leerheitsproblems fr DLBAs.
5.5 GOTO-Berechenbarkeit
hat einen Befehlszhler (instruction counter) IC, der die Nummer des nchsten Befehls angibt (zu Beginn ist IC = 0),
verfgt ber einen frei adressierbaren Speicher (random access
memory) mit unendlich vielen Speicherzellen (Registern) ri , die
beliebig groe natrliche Zahlen aufnehmen knnen.
Auf Registermaschinen lassen sich GOTO-Programme ausfhren,
die ber folgenden Befehlssatz verfgen (i, j, c N):
ja
ja
ja
ja
ja
nein
ja
ja
ja
nein
nein
nein
ja
ja
nein
nein
nein
nein
ja
jaa
nein
nein
nein
nein
ja
nein
nein
nein
nein
nein
ja
nein
nein
nein
nein
nein
5.5 GOTO-Berechenbarkeit
In diesem Abschnitt fhren wir das Rechenmodell der Registermaschine (random access machine, RAM ) ein und zeigen, dass es die
gleiche Rechenstrke wie das Modell der Turingmaschine besitzt. Das
Modell der RAM ist an die realen Rechenmaschinen angelehnt, die
ber einen Prozessor mit einem vorgegebenen Befehlssatz verfgen.
0 I0 Programm
1 I1
2 I2
m Im
Steuereinheit
Befehl
Semantik
ri = rj + c
ri = rj c
GOTO j
IF ri = c THEN GOTO j
HALT
Falls nichts anderes angegeben ist, wird zudem IC auf den Wert IC +1
gesetzt.
Eine partielle Funktion f Nk N{} heit GOTO-berechenbar,
falls es ein GOTO-Programm P = (I0 , . . . , Im ) mit folgender Eigenschaft gibt:
Wird P auf einer RAM mit den Werten ri = ni fr i = 1, . . . , k, sowie
IC = 0 und ri = 0 fr i = 0, k + 1, k + 2, . . . gestartet, so gilt:
P hlt genau dann, wenn (n1 , . . . , nk ) dom(f ) ist, und
falls P hlt, hat r0 nach Beendigung von P den Wert
f (n1 , . . . , nk ).
r2
r1
r0 Speicher
IC
Die Registermaschine
fhrt ein Programm P = I0 , . . . , Im aus, das aus einer endlichen
Folge von Befehlen (instructions) Ii besteht,
0
1
62
IF r1 = 0 THEN GOTO 4
r1 = r1 1
2
3
4
5.5 GOTO-Berechenbarkeit
r0 = r0 + r2
GOTO 0
HALT
sonst.
Dabei ist der Befehl r0 = r0 +r2 in Zeile 2 zwar unzulssig. Wir knnen
ihn jedoch durch den Befehl GOTO 5 ersetzen und folgende Befehle
hinzufgen.
5
6
7
8
9
Es ist klar, dass f durch f eindeutig bestimmt ist. Wir nennen f die
numerische Reprsentation von f.
r3 = r2
IF r3 = 0 THEN GOTO 3
r3 = r3 1
r0 = r0 + 1
GOTO 6
Satz 160. Sei f die numerische Reprsentation einer partiellen Funktion f. Dann ist f genau dann GOTO-berechenbar, wenn f berechenbar
ist.
j=0
j=1
mn 1
+ (i1 . . . in )m .
m1
r3 = r2 MOD m
IF r1 = 0 r3 = 0 THEN GOTO M0,0
Die Befehle ab Position Mi,j hngen von (qi , aj ) ab. Wir betrachten
exemplarisch den Fall (qi , aj ) = {(qi , aj , L)}:
Mi,j
r1 = i
r2 = r2 DIV m
r2 = r2 m + j
r2 = r2 m + (r0 MOD m)
r0 = r0 DIV m
GOTO M2
Beweis. Sei P ein WHILE-Programm, das f berechnet. Wir bersetzen P wie folgt in ein quivalentes GOTO-Programm P . P speichert
den Variablenwert xi im Register ri . Damit lassen sich alle Wertzuweisungen von P direkt in entsprechende Befehle von P transformieren.
Eine Schleife der Form WHILE xi c DO Q END simulieren wir
durch folgendes GOTO-Programmstck:
M1
M2
xz = 0;
WHILE xz m + 1 DO
IF xz = 0 THEN P0 END;
IF xz = m THEN Pm END
END
IF ri = c THEN GOTO M2
Q
GOTO M1
Als nchstes beweisen wir die quivalenz von WHILE- und GOTOBerechenbarkeit.
Satz 162. Eine partielle Funktion f Nk N {} ist genau dann
GOTO-berechenbar, wenn sie WHILE-berechenbar ist.
6 Komplexittsklassen
HALT: xz = m + 1.
Man beachte, dass P nur eine WHILE-Schleife enthlt.
6 Komplexittsklassen
6.1 Zeitkomplexitt
Die Laufzeit time M (x) einer NTM M bei Eingabe x ist die maximale
Anzahl an Rechenschritten, die M (x) ausfhrt.
Definition 163.
a) Die Laufzeit einer NTM M bei Eingabe x ist definiert als
y + 1,
x = 0,
6 Komplexittsklassen
Beispiel 166.
7 log(n) + n3 = O(n3 ) ist richtig.
7 log(n)n3 = O(n3 ) ist falsch.
2n+O(1) = O(2n ) ist richtig.
2O(n) = O(2n ) ist falsch (siehe bungen).
Linearzeit
P = DTIME(nc + c)
Polynomialzeit
c1
Unter Benutzung der O-Notation lassen sich die wichtigsten Komplexittsklassen wie folgt definieren: L = DSPACE(O(log n)), LINTIME =
DTIME(O(n)), P = DTIME(nO(1) ), E = DTIME(2O(n) ) und EXP =
O(1)
DTIME(2n ) etc.
c1
E = DTIME(2cn+c )
Lineare Exponentialzeit
c1
c +c
EXP = DTIME(2n
Exponentialzeit
c1
Wie wir im letzten Kapitel gesehen haben (siehe Satz 131), sind NTMs
nicht mchtiger als DTMs, d.h. jede NTM kann von einer DTM simuliert werden. Die Frage, wieviel Zeit eine DTM zur Simulation
einer NTM bentigt, ist eines der wichtigsten offenen Probleme der
Informatik. Wegen NTIME(t) DTIME(2O(t) ) erhht sich die Laufzeit im schlimmsten Fall exponentiell. Insbesondere die Klasse NP
enthlt viele fr die Praxis beraus wichtige Probleme, fr die kein
Polynomialzeitalgorithmus bekannt ist. Da jedoch nur Probleme in P
als effizient lsbar gelten, hat das so genannte P-NP-Problem, also
die Frage, ob alle NP-Probleme effizient lsbar sind, eine immense
praktische Bedeutung.
6 Komplexittsklassen
Satz
(i)
(ii)
(iii)
x x A f (x) B.
b) A heit p -hart fr eine Sprachklasse C (kurz: C-hart oder
C-schwer), falls gilt:
169.
A p B und A ist NP-schwer B ist NP-schwer.
A p B, A ist NP-schwer und B NP B NPC.
NPC P =/ P = NP.
Beweis.
(i) Sei L NP beliebig. Da A NP-schwer ist, folgt L p A. Da zudem
A p B gilt und p transitiv ist, folgt L p B.
(ii) Klar, da mit (i) folgt, dass B NP-schwer und B nach Voraussetzung in NP ist.
(iii) Sei A P eine NP-vollstndige Sprache und sei L NP beliebig.
Dann folgt L p A und da P unter p abgeschlossen ist, folgt
L P.
L C L p A.
c) Eine C-harte Sprache, die zu C gehrt, heit C-vollstndig.
Die Klasse aller NP-vollstndigen Sprachen bezeichnen wir mit
NPC.
Aus A p B folgt offenbar A B und wie die Relation ist auch p
reflexiv und transitiv (s. bungen). In diesem Kapitel verlangen wir
also von einer C-vollstndigen Sprache A, dass jede Sprache L C auf
A in Polynomialzeit reduzierbar ist. Es ist leicht zu sehen, dass alle
im letzten Kapitel als RE-vollstndig nachgewiesenen Sprachen (wie
z.B. K, H, H0 , PCP etc.) sogar p -vollstndig fr RE sind.
L(M )
{w#x
= A und wegen
ist
polynomiell zeitbeschrnkt und somit A in P. Den Abschluss
von NP unter p zeigt man vollkommen analog.
6 Komplexittsklassen
6.3 Platzkomplexitt
6.3 Platzkomplexitt
Beweis. Betrachte die 3-NTM U die bei Eingabe w#x zunchst den
Binrstring w auf das 2. Band verschiebt und anschlieend die Binrkodierung des Startzustands von Mw auf das 3. Band schreibt. Sodann
ersetzt U jedes Zeichen ai des auf dem Eingabeband verbliebenen
Strings x durch bin(i) und trennt diese durch #. Hierbei benutzt
U Binrzahlen einer festen Lnge, die ausreicht, alle Arbeitszeichen
von Mw darstellen zu knnen. Schlielich ergnzt U das 1. Band
um k 1 Bandinschriften (getrennt durch ##), die jeweils nur das
Zeichen enthalten. Die aktuellen Kopfpositionen speichert U durch
Markierung des vorangehenden #-Zeichens.
Nun simuliert U jeden einzelnen Rechenschritt von Mw in jeweils
O(w time Mw (x)) Schritten, was auf die gewnschte Gesamtlaufzeit
fhrt.
{0, 1}
w, x
und Mw ist eine NTM,
}
die x in m Schritten akzeptiert
RRR K = (q, u , a , v , . . . , u , a , v )
1 1 1
k k k
k
space M (x) = sup s 1 RRRRR
.
mit
K
K
und
s
=
u
a
v
x
i
i
i
RR
i=2
Sei s N N eine monoton wachsende Funktion. Dann ist M s(n)platzbeschrnkt, falls fr alle Eingaben x gilt:
space M (x) s(x) und time M (x) < .
Wir fassen alle Sprachen, die in einer vorgegebenen Platzschranke
s(n) entscheidbar sind, in folgenden Platzkomplexittsklassen
zusammen.
Definition 174. Die auf deterministischem Platz s(n) entscheidbaren
Sprachen bilden die Klasse
6 Komplexittsklassen
6.3 Platzkomplexitt
Logarithmischer Platz
LINSPACE = DSPACE(O(n))
Linearer Platz
PSPACE = DSPACE(nO(1) )
Polynomieller Platz
RE
REC
EXP
E
CSL
DCSL
= NSPACE(f (n))
CFL
= DTIME(f (n))
= NTIME(f (n)),
DCFL
PSPACE
NP
P
NL
L
REG
Satz 175. Jede s(n)-platzbeschrnkte NTM kann von einer s2 (n)platzbeschrnkten DTM simuliert werden (ohne Beweis).
Als Konsequenz hiervon fallen die Klassen NPSPACE und PSPACE zusammen. Zwischen den verschiedenen Zeit- und Platzklassen bestehen
die folgenden elementaren Inklusionsbeziehungen. Fr jede Funktion
s(n) log n gilt
DSPACE(s) NSPACE(s) DTIME(2O(s) )
und fr jede Funktion t(n) n + 2 gilt
DTIME(t) NTIME(t) DSPACE(t).
Eine unmittelbare Konsequenz hiervon sind folgende Inklusionen:
L NL P NP PSPACE EXP EXPSPACE.
70
7 NP-vollstndige Probleme
a {000, 001, 101} den Wert F (a) = 1 animmt, ist sie erfllbar:
(x1 x2 ) (x2 x3 ) ((x1 x2 ) (x2 x3 ))
7 NP-vollstndige Probleme
000
001
010
011
100
101
110
111
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
Notation. Wir verwenden die Disjunktion (G H) und die Implikation (G H) als Abkrzungen fr die Formeln (G H)
bzw. (G H).
Um Klammern zu sparen, vereinbaren wir folgende Przedenzregeln:
Der Junktor bindet strker als der Junktor und dieser
wiederum strker als der Junktor .
Formeln der Form (x1 (x2 (x3 xn )))), {, , }
krzen wir durch (x1 xn ) ab.
F
xi
G
(G H)
F (a) ai 1 G(a) G(a)H(a)
c) Durch eine boolesche Formel F wird also eine n-stellige boolesche Funktion F {0, 1}n {0, 1} definiert, die wir ebenfalls
mit F bezeichnen.
d) F heit erfllbar, falls es eine Belegung a mit F (a) = 1 gibt.
e) Gilt dagegen fr alle Belegungen a, dass F (a) = 1 ist, so heit
F Tautologie.
1i<jn
7 NP-vollstndige Probleme
den Variablen
xt,q , fr 0 t p(n), q Z,
yt,i , fr 0 t p(n), p(n) i p(n),
zt,i,a , fr 0 t p(n), p(n) i p(n), a ,
G(zt,i,a1 , . . . , zt,i,al ).
i=p(n)
w L Fw Sat.
Wir knnen o.B.d.A. annehmen, dass Z = {q0 , . . . , qm }, E = {qm } und
= {a1 , . . . , al } ist. Zudem knnen wir annehmen, dass fr jedes
Zeichen a die Anweisung qm a qm aN enthlt.
Die Idee besteht nun darin, die Formel Fw so zu konstruieren, dass
sie unter einer Belegung a genau dann wahr wird, wenn a eine akzeptierende Rechnung von M (w) beschreibt. Hierzu bilden wir Fw ber
p(n)
72
p(n)
w1 wn
q0
vorliegt:
n1
7 NP-vollstndige Probleme
n1
p(n)
i=p(n)
i=0
i=n
Die Formel 1 sorgt dafr, dass der Inhalt von nicht besuchten Feldern
beim bergang von Kt zu Kt+1 unverndert bleibt:
p(n)1
1 =
t=0
p(n)
i=p(n) a
Die Formel 2 achtet darauf, dass sich bei jedem bergang der Zustand, die Kopfposition und das gerade gelesene Zeichen gem einer
Anweisung in verndern:
p(n)1
2 =
t=0
p(n)
Gelingt es also, einen Polynomialzeit-Algorithmus fr Sat zu finden, so lsst sich daraus leicht ein effizienter Algorithmus fr jedes
NP-Problem ableiten. Als nchstes betrachten wir das Erfllbarkeitsproblem fr boolesche Schaltkreise.
i=p(n) a pZ
Definition 181.
a) Ein boolescher Schaltkreis ber den Variablen x1 , . . . , xn ist
eine Folge S = (g1 , . . . , gm ) von Gattern
(q,b,D)(p,a)
wobei
i 1, D = L
i + D = i,
D=N
i + 1, D = R
gl 0 1 xi (, j)
(, j, k)
(, j, k)
gl (a) 0 1 ai 1 gj (a) gj (a)gk (a) gj (a) + gk (a) gj (a)gk (a)
7 NP-vollstndige Probleme
x1
x2
x3
x4
F = Ci
i=1
Bemerkung 183.
Die Anzahl der Eingnge eines Gatters g wird als Fanin von g
bezeichnet, die Anzahl der Ausgnge von g (d.h. die Anzahl der
Gatter, die g als Eingabe benutzen) als Fanout.
Boolesche Formeln entsprechen also booleschen Schaltkreisen
mit Fanout 1 und umgekehrt.
Notation. Klauseln werden oft als Menge C = {l1 , . . . , lk } ihrer Literale und KNF-Formeln als Menge F = {C1 , . . . , Cm } ihrer Klauseln
dargestellt. Enthlt F die leere Klausel, so ist F unerfllbar, wogegen
die leere KNF-Formel immer wahr (also eine Tautologie) ist.
Folgende Variante von 3-Sat ist fr den Nachweis weiterer NPVollstndigkeitsresultate sehr ntzlich.
Not-All-Equal-SAT (NaeSat):
Gegeben: Eine Formel F in 3-KNF.
Gefragt: Hat F eine (erfllende) Belegung, unter der in keiner
Klausel alle Literale denselben Wahrheitswert haben?
F = {{x1 , x2 }, {
x1 , x3 }, {x2 , x3 , x4 }}
Offenbar ist F (1111) = 1, d.h. F 3-Sat. Da unter dieser Belegung in
jeder Klausel von F nicht nur mindestens ein Literal wahr, sondern
auch mindestens ein Literal falsch wird, ist F auch in NaeSat.
Definition 186.
a) Ein Literal ist eine Variable xi oder eine negierte Variable xi ,
die wir auch kurz mit xi bezeichnen.
74
7 NP-vollstndige Probleme
zeigt, dass der Schaltkreis S und die 3-KNF-Formel FS erfllbarkeitsquivalent sind, d.h.
Beweis. Es ist nicht schwer zu sehen, dass 3-Sat in NP entscheidbar ist. Wir zeigen, dass 3-Sat NP-hart ist, indem wir CirSat
auf 3-Sat reduzieren. Hierzu transformieren wir einen Schaltkreis
S = (g1 , . . . , gm ) mit n Eingngen in eine 3-KNF Formel FS ber den
Variablen x1 , . . . , xn , y1 , . . . , ym . FS enthlt neben der Klausel {ym }
fr jedes Gatter gi die Klauseln folgender Formel Fi enthlt:
S CirSat FS 3-Sat.
Zudem ist leicht zu sehen, dass die Reduktionsfunktion S FS in FP
berechenbar ist, womit CirSat p 3-Sat folgt.
yi = 0
yi = 1
y i = xj
yi = yj
yi = yj yk
yi = yj yk
{
yi }
{yi }
{
yi , xj }, {
xj , y i }
{
yi , yj }, {yj , yi }
{
yi , yj }, {
yi , yk }, {
yj , yk , yi }
{
yj , yi }, {
yk , yi }, {
yi , yj , yk }
In diesem Abschnitt betrachten wir verschiedene Entscheidungsprobleme fr regulre Sprachen, die als DFA, NFA oder als regulrer
Ausdruck (RA) gegeben sind. Wir werden sehen, dass das Wortproblem sowohl fr NFAs als auch fr regulre Ausdrcke effizient lsbar
ist. Dagegen wird sich das quivalenzproblem fr regulre Ausdrcke
als co-NP-hart herausstellen. Dies gilt sogar fr sternfreie regulre
Ausdrcke (kurz SFRAs), also fr regulre Ausdrcke, die keinen
Stern enthalten und daher nur endliche Sprachen beschreiben knnen.
Nun ist leicht zu sehen, dass fr alle a {0, 1}n folgende quivalenz
gilt:
S(a) = 1 b {0, 1}m FS (ab) = 1.
Ist nmlich a {0, 1}n eine Eingabe mit S(a) = 1. Dann erhalten wir
mit
bl = gl (a) fr l = 1, . . . , m
P-Algorithmus fr WPNFA
1
2
3
4
5
75
7 NP-vollstndige Probleme
Es ist klar, dass dieser Algorithmus korrekt arbeitet und auch in eine
polynomiell zeitbeschrnkte DTM fr die Sprache WPNFA transformiert werden kann.
0,
x i Cj ,
ij = 1,
xi Cj ,
(01), sonst.
Ganz hnlich folgt auch, dass das Leerheits- und das Schnittproblem
fr NFAs in Polynomialzeit lsbar sind (siehe bungen). Als nchstes
zeigen wir, dass die Probleme PSFRA und IPSFRA co-NP-vollstndig
sind.
Beweis. Wir zeigen, dass das Inquivalenzproblem fr SFRAs NPvollstndig ist. Sei ein sternfreier regulrer Ausdruck der Lnge m
ber einem Alphabet . Es ist leicht zu zeigen (durch Induktion ber
den Aufbau von ), dass L() m gilt, wobei
n-mal
Ganz hnlich lsst sich 3-Sat auf das Komplement des Inklusionsproblems fr sternfreie regulre Ausdrcke reduzieren, d.h. IPSFRA
ist ebenfalls co-NP-vollstndig (siehe bungen). Daher sind das
quivalenz- und Inklusionsproblem fr regulre Ausdrcke (und somit
auch fr NFAs) co-NP-hart. Diese Probleme sind sogar PSPACEvollstndig (ohne Beweis).
m = i
i=0
Falls G aus dem Kontext ersichtlich ist, schreiben wir auch einfach n,
m, N (v), N (U ), deg(v), usw.
P
P
P
P
P
P
P
P
P
P
P
P
Beispiel 193.
Der vollstndige Graph (V, E) auf n Knoten, d.h. V = n
und E = (V2 ), wird mit Kn und der leere Graph (V, ) auf n
Knoten wird mit En bezeichnet.
P
P
co-NP-vollstndig
PSPACE-vollstndig
PSPACE-vollstndig
K1 :
Die Tabelle gibt die Komplexitten der wichtigsten Entscheidungsprobleme fr durch DFAs, NFAs oder (sternfreie) regulre Ausdrcke
gegebene regulre Sprachen an.
K2 :
K3 :
K4 :
K5 :
Der vollstndige bipartite Graph (A, B, E) auf a + b Knoten, d.h. A B = , A = a, B = b und E = {{u, v} u A, v
B} wird mit Ka,b bezeichnet.
7.3 Graphprobleme
K1,1 :
K1,2 :
K2,2 :
K2,3 :
K3,3 :
P2 :
P3 :
P4 :
Hierbei gilt
C3 :
C4 :
C5 :
C6 :
NG (v) = {u V {u, v} E}
und die Nachbarschaft von U V ist NG (U ) = uU NG (u).
d) Der Grad von v ist degG (v) = NG (v).
e) Der Minimalgrad von G ist (G) = minvV degG (v) und der
Maximalgrad von G ist (G) = maxvV degG (v).
77
7 NP-vollstndige Probleme
c)
d)
e)
f)
7.3 Graphprobleme
Independent Set (IS): Hat G eine stabile Menge der Gre k?
Dabei heien zwei Literale komplementr, wenn das eine die Negation des anderen ist. Nun gilt
F 3-Sat es gibt eine Belegung, die in jeder Klausel Ci
mindestens ein Literal wahr macht
es gibt m Literale l1,j1 , . . . , lm,jm , die paarweise nicht komplementr sind
es gibt m Knoten v1,j1 , . . . , vm,jm , die nicht
durch Kanten verbunden sind
G besitzt eine stabile Knotenmenge der Gre m.
k)
f (G, k) (G,
7 NP-vollstndige Probleme
7.3 Graphprobleme
Ist s(a) = 1, so knnen wir a zu einer erfllenden Belegung ab
von Fs erweitern, d.h. unter ab wird in jeder Klausel von Fs ein
Literal wahr.
Tatschlich wird unter der Belegung ab in jeder Dreierklausel
von Fs auch bereits ein Literal falsch.
Letzteres ist leicht zu sehen, da ab fr jedes Und-Gatter gi nicht nur
die Dreierklausel {
yi , yj , yk }, sondern auch die Klauseln {
yj , yi } und
{
yk , yi } erfllt. Diese verhindern nmlich, dass ab alle Literale der
Dreierklausel {
yi , yj , yk } erfllt. Entsprechend verhindern die zu einem
Oder-Gatter gi gehrigen Klauseln {yj , yi } und {yk , yj }, dass ab alle
Literale der Dreierklausel {yi , yj , yk } erfllt.
Um zu erreichen, dass auch in den brigen Klauseln C mit C < 3
ein Literal falsch wird, knnen wir einfach eine neue Variable z zu
diesen Klauseln hinzufgen und z mit dem Wert 0 belegen. Sei also
Fs die 3-KNF Formel ber den Variablen x1 , . . . , xn , y1 , . . . , ym , z, die
die Klausel {ym , z} und fr jedes Gatter gi die Klauseln folgender
Formel Fi enthlt:
0
1
xj
(, j)
(, j, k)
(, j, k)
{
yi , z}
{yi , z}
{
yi , xj , z}, {
xj , yi , z}
{
yi , yj , z}, {yj , yi , z}
{
yi , yj , z}, {
yi , yk , z}, {
yj , yk , yi }
{
yj , yi , z}, {
yk , yi , z}, {
y i , yj , yk }
Wie wir gesehen haben, lsst sich dann jede Belegung a {0, 1}n der
x-Variablen mit s(a) = 1 zu einer Belegung abc {0, 1}n+m+1 fr Fs
erweitern, unter der in jeder Klausel von Fs mindestens ein Literal
wahr und mindestens ein Literal falsch wird, d.h. es gilt
s CirSat Fs NaeSat.
79
7 NP-vollstndige Probleme
7.3 Graphprobleme
annehmen, dass lj1 (a) = 0 und lj2 (a) = 1 ist. Dann lsst sich GF wie
folgt mit den 3 Farben 0, 1, 2 frben:
Knoten v s xi xi vj1 vj2 vj3 (falls kj = 3)
Farbe c(v) 2 ai a
i 0
1
2
Ist umgekehrt c V {0, 1, 2} eine 3-Frbung von GF , dann knnen wir annehmen, dass c(v) = 2 ist. Dies hat zur Folge, dass
{c(xi ), c(
xi )} = {0, 1} fr i = 1, . . . , n ist. Zudem mssen die Knoten vj1 , . . . , vjkj im Fall kj = 2 mit 0 und 1 und im Fall kj = 3 mit
allen drei Farben 0, 1 und 2 gefrbt sein. Wir knnen annehmen, dass
c(vj1 ) = 0 und c(vj2 ) = 1 ist. Wegen {vjk , ljk } E muss c(vjk ) c(ljk )
fr k = 1, . . . , kj und daher c(vjk ) = c(ljk ) fr k = 1, 2 gelten. Also
macht die Belegung a = c(x1 ) . . . c(xn ) die Literale lj1 , j = 1, . . . , m,
falsch und die Literale lj2 , j = 1, . . . , m, wahr. Insgesamt gilt also
Satz 198.
(i) 1-Coloring und 2-Coloring sind in P entscheidbar.
(ii) 3-Coloring ist NP-vollstndig.
Beweis. Es ist leicht zu sehen, dass 1-Coloring und 2-Coloring
in P und 3-Coloring in NP entscheidbar sind. Zum Nachweis, dass
3-Coloring NP-hart ist, reduzieren wir NaeSat auf 3-Coloring.
Sei eine 3-KNF-Formel F = {C1 , . . . , Cm } ber den Variablen
x1 , . . . , xn mit Klauseln
F NaeSat GF 3-Coloring.
Cj = {lj,1 , . . . , lj,kj }, kj 3
7.3.3 Euler- und Hamiltonkreise
gegeben. Wir knnen annehmen, dass F keine Einerklauseln enthlt. Wir konstruieren einen Graphen GF = (V, E), der genau dann
3-frbbar ist, wenn F NaeSat ist. Wir setzen
V = {s, x1 , . . . , xn , x1 , . . . , xn } {vjk 1 j m, 1 k kj }
und
E ={{s, xi }, {s, xi }, {xi , xi } 1 i n} {{s, vjk } kj = 2}
{{vjk , vjl } k l} {{vjk , xi } ljk = xi } {{vjk , xi } ljk = xi }.
Sei a = a1 . . . an eine Belegung fr F , unter der in jeder Klausel
Cj = {lj1 , . . . , ljkj } ein Literal wahr und eines falsch wird. Wir knnen
80
7 NP-vollstndige Probleme
7.3 Graphprobleme
Beispiel 201.
Der nebenstehende Graph besitzt die Eulerlinie
(4, 1, 2, 3, 5, 7, 6, 4, 5, 2, 4, 7), aber keinen Eulerkreis.
1
6
7
1
6
7
a
Beweis.
(i) Falls G einen Eulerkreis s besitzt, existiert zu jeder Kante, auf
der s einen Knoten erreicht, eine weitere Kante, auf der s den
Knoten wieder verlsst. Daher hat jeder Knoten geraden Grad.
Ist umgekehrt G zusammenhngend und hat jeder Knoten geraden Grad, so knnen wir wie folgt einen Eulerkreis s konstruieren:
Berechnung eines Eulerkreises in G = (V, E)
81
7 NP-vollstndige Probleme
4
5
6
7.3 Graphprobleme
h) Ein (gerichteter) Zyklus in G ist ein gerichteter u-v-Weg
der Lnge j 1 mit u = v.
i) Ein gerichteter Weg heit einfach oder (gerichteter) Pfad,
falls alle durchlaufenen Knoten paarweise verschieden sind.
j) Ein (gerichteter) Kreis in G ist ein gerichteter Zyklus
(v0 , . . . , vj1 , v0 ), fr den v0 , . . . , vj1 paarweise verschieden sind.
k) G heit stark zusammenhngend, wenn es von jedem Knoten u in G zu jedem Knoten v in G einen Weg gibt.
Korollar 205. Die Probleme EulerPath, EulerCycle, DiEulerPath und DiEulerCycle sind alle in P entscheidbar.
Ganz hnlich lsst sich ein entsprechender Satz fr Digraphen beweisen. Zuvor bertragen wir die Begriffe Weg, Pfad usw. von Graphen
auf Digraphen.
7 NP-vollstndige Probleme
7.3 Graphprobleme
Satz 208. DiHamPath p DiHamCycle.
Beweis. Um DiHamPath auf DiHamCycle zu reduzieren, transformieren wir einen gegebenen Digraphen G = (V, E) mit zwei ausgezeichneten Knoten s, t V in den Digraphen G = (V , E ) mit
HamPath,
p HamCycle p TSP.
DiHamCycle
V = V {uneu } und
E = E {(t, uneu ), (uneu , s)}.
1, falls {i, j} E,
di,j =
2, sonst,
si
u
xi
ti,0
li,1
ri,1
ti,1
si+1
83
li,m
ri,m
ti,m
xi
7 NP-vollstndige Probleme
7.3 Graphprobleme
ein wahres Literal l = xi bzw. l = xi und bauen in den Pfad P einen
Abstecher vom Knotenpaar lij , rij zum Klauselknoten cj ein.
Ist umgekehrt P ein s-t-Hamiltonpfad in GF , so mssen der Vorgngerund Nachfolgerknoten jedes Klauselknotens cj ein Paar lij , rij bilden,
da P andernfalls nicht beide Pufferknoten ti,j1 und ti,j besuchen kann.
Da aber P alle Klauselknoten besucht und ausgehend von dem Paar
lij , rij nur dann ein Abstecher zu cj mglich ist, wenn die Belegung
bP die Klausel Cj erfllt, folgt F (bP ) = 1.
Dabei haben die Graphen Xi1 und Xi den Knoten si gemeinsam. Als
Startknoten whlen wir s = s1 und als Zielknoten t = sn+1 .
Ein Pfad von s nach t kann ausgehend von jedem Knoten si
(i = 1, . . . , n) entweder zuerst den Knoten xi oder zuerst den Knoten xi besuchen. Daher knnen wir jedem s-t-Pfad P eine Belegung
bP = b1 . . . bn zuordnen mit bi = 1 gdw. P den Knoten xi vor dem
Knoten xi besucht.
Die Klauselknoten cj verbinden wir mit den Teilgraphen Xi so, dass
ein s-t-Pfad P genau dann einen Abstecher nach cj machen kann,
wenn die Belegung bP die Klausel Cj erfllt.
Hierzu fgen wir zu E fr jedes Literal l Cj im Fall l = xi die beiden
Kanten (lij , cj ) und (cj , rij ), und im Fall l = xi die Kanten (rij , cj )
und (cj , lij ) hinzu:
cj
lij
s1
x1
s2
x2
tij
bzw.
lij
x2
s3
c3
c2
x3
cj
rij
x1
rij
tij
c1
x3
s4
x4
Man beachte, dass einem s-t-Pfad P genau dann ein Abstecher ber
diese Kanten zu cj mglich ist, wenn die Belegung bP das Literal l
wahr macht.
Nun ist klar, dass die Reduktionsfunktion F (GF , s, t) in Polynomialzeit berechenbar ist. Es bleibt also zu zeigen, dass F genau dann
erfllbar ist, wenn in GF ein Hamiltonpfad von s = s1 nach t = sn+1
existiert.
Falls F (b) = 1 ist, so lsst sich der zu b gehrige s-t-Pfad P wie folgt
zu einem Hamiltonpfad erweitern. Wir whlen in jeder Klausel Cj
x4
s5
7 NP-vollstndige Probleme
, w),
f F (u1 , . . . , un , u1 , . . . , un , v1 , . . . , vm , v1 , . . . , vm
Wie schwierig ist es, einen Rucksack der Gre w mit einer Auswahl
aus k Gegenstnden der Gre u1 , . . . , uk mglichst voll zu packen?
Dieses Optimierungsproblem lsst sich leicht auf folgendes Entscheidungsproblem reduzieren.
mit
1, xi Cj ,
bij =
0, sonst,
Rucksack-Problem (Rucksack):
Gegeben: Eine Folge (u1 , . . . , uk , v, w) von natrlichen Zahlen.
Gefragt: Ex. eine Auswahl S {1, . . . , k} mit v ui w?
und
bij
1, xi Cj ,
=
0, sonst,
und vj = vj = 0j1 10mj1 0n sind. Die Zielsumme w setzen wir auf den
Wert w = 3 . . . 3 1 . . . 1 .
iS
m-mal
n-mal
ai =1
ai =0
iS
vj + vj
bj 2
bj =1
ui + ui + vj + vj = 3 . . . 3 1 . . . 1 .
iP
iN
jI
jJ
m-mal
85
n-mal
7 NP-vollstndige Probleme
1, i P,
ai =
0, i N.
xi + xi 1, xi xi 1, xi 0, xi 0
(u1 , u2 , u3 , u4 , u1 , u2 , u3 , u4 , v1 , v2 , v3 , v1 , v2 , v3 , w)
lj1 + + ljkj 1.
mit
u1 = 010 1000,
u2 = 010 0100,
u3 = 000 0010,
u4 = 110 0001,
()
()
Bemerkung 214.
Es ist nicht leicht zu sehen, dass IP in NP entscheidbar ist.
Ein nichtdeterministischer Algorithmus kann zwar eine Lsung
raten, aber a priori ist nicht klar, ob eine Lsung x ex., deren
Binrkodierung polynomiell in der Lnge der Eingabe (A, b) ist.
7 NP-vollstndige Probleme
Mit Methoden der linearen Algebra lsst sich jedoch zeigen, dass
jede lsbare IP-Instanz (A, b) auch eine Lsung x hat, deren
Kodierung polynomiell in der Lnge von (A, b) ist.
Wenn wir nicht verlangen, dass die Lsung x der IP-Instanz
ganzzahlig ist, dann spricht man von einem linearen Programm.
Fr LP (Lineare Programmierung) gibt es Polynomialzeitalgorithmen (von Khachiyan 1979 und von Karmarkar 1984).
steht:
{l1 }, {l2 }, {l3 }, {v}, {l1 , l2 }, {l2 , l3 }, {l1 , l3 }, {l1 , v}, {l2 , v}, {l3 , v}
Dann lassen sich folgende 3 Eigenschaften von G leicht verifizieren:
Keine Belegung von G erfllt mehr als 7 Klauseln von G.
Jede Belegung a von C mit C(a) = 1 ist zu einer Belegung a
von G erweiterbar, die 7 Klauseln von G erfllt.
Keine Belegung a von C mit C(a) = 0 ist zu einer Belegung a
von G erweiterbar, die 7 Klauseln von G erfllt.
Ist nun F eine 3-KNF-Formel ber den Variablen x1 , . . . , xn mit m
Klauseln, so knnen wir annehmen, dass Cj = {lj1 , lj2 , lj3 }, j = 1, . . . , k,
die Dreier- und Ck+1 , . . . , Cm die Einer- und Zweierklauseln von F
sind. Wir transformieren F auf das Paar g(F ) = (F , m + 6k), wobei
die 2-KNF Formel F wie folgt aus F entsteht:
Ersetze jede Dreierklausel Cj = {lj1 , lj2 , lj3 } in F durch die
10 Klauseln der 2-KNF-Formel Gj = G(lj1 , lj2 , lj3 , vj ).
Dann ist leicht zu sehen, dass g in FP berechenbar ist. Auerdem gilt
folgende quivalenz:
Man beachte, dass hierbei die Klauseln in F auch mehrfach vorkommen knnen (d.h. F ist eine Multimenge von Klauseln).
Die Vorwrtsrichtung ergibt sich unmittelbar aus der Tatsache, dass jede erfllende Belegung a fr F zu einer Belegung a fr F erweiterbar
ist, die 7k + m k = m + 6k Klauseln von F erfllt.
Fr die Rckwrtsrichtung sei a eine Belegung, die mindestens m + 6k
Klauseln von F erfllt. Da a in jeder 10er-Gruppe Gj , j = 1, . . . , k,
nicht mehr als 7 Klauseln erfllen kann, muss a in jeder 10er-Gruppe
genau 7 Klauseln und zudem alle Klauseln Cj fr j = k + 1, . . . , m
erfllen. Dies ist aber nur mglich, wenn a alle Klauseln Cj von F
erfllt.
Satz 215.
(i) Max-1-Sat P.
(ii) Max-2-Sat NPC.
Beweis. Wir reduzieren 3-Sat auf Max-2-Sat. Fr eine Dreierklausel C = {l1 , l2 , l3 }, in der die Variable v nicht vorkommt, sei
G(l1 , l2 , l3 , v) die 2-KNF Formel, die aus folgenden 10 Klauseln be87
7 NP-vollstndige Probleme
Definition 216. Sei G = (V, E) ein Graph (d.h. E (V2 )) oder allgemeiner ein d-uniformer Hypergraph (d.h. E (Vd ), d 3).
a) Zwei Kanten e, e E heien unabhngig, falls e e = ist.
b) Eine Kantenmenge M E heit Matching in G, falls die
Kanten in M paarweise unabhngig sind.
c) Die Matchingzahl von G ist
=V (M )
M
88
7 NP-vollstndige Probleme
Satz 219.
(i) Matching, PerfectMatching und BiMatching sind in P
entscheidbar.
(ii) Fr d 3 sind d-Matching und d-PerfectMatching NPvollstndig.
Beispiel 220. Der bipartite Graph G hat
ein Matching M = {{u1 , w1 }, {u2 , w3 },
{u4 , w4 }, {u5 , w5 }} der Gre 4. Die
Nachbarschaft von A = {u3 , u4 , u5 } ist
N (A) = {w4 , w5 }.
Daher kann jedes Matching hchstens 2
der 3 Knoten in A und somit hchstens 4
der 5 Knoten in U berdecken. Dies zeigt,
dass M optimal ist.
u1
w1
u2
w2
u3
w3
u4
w4
u5
w5
Beweis. Sei D = maxAU (A N (A)). Wir konstruieren zu jedem Matching M der Gre M < U D ein Matching M mit
M > M .
Hierzu betrachten wir den gerichteten Graphen GM , der aus G dadurch entsteht, dass wir alle Matchingkanten in M von W nach U
und alle brigen Kanten von U nach W orientieren. Fr eine Menge
A V sei
A+ = {u A e M u e}
die Menge aller Knoten in A, die Endpunkt einer Matchingkante sind,
und A = A A+ .
Angenommen, es ex. in GM ein Pfad von U nach W :
G = (U, W, E)
P u0 w0 u1 w1 uk1 wk1 uk wk
Folglich ist
U (G) max (A N (A)) .
Wir mssen noch zeigen, dass U D ist, falls GM keinen Pfad von
U nach W hat.
Sei X die Menge aller in GM von U aus erreichbaren Knoten. Da
U in der Menge A = X U enthalten ist, ist A = U . Wegen
AU
U = A = A A+ und A N (A) D
89
7 NP-vollstndige Probleme
Als Folgerung aus dem Beweis des Heiratssatzes erhalten wir einen
Polynomialzeit-Algorithmus zur Bestimmung eines optimalen Matchings in bipartiten Graphen. Insbesondere folgt BiMatching P.
Algorithmus zur Berechnung eines optimalen Matchings
Input: Ein bipartiter Graph G = (U, W, E)
M =
while Pfad P von U nach W in GM do
sei P u0 w0 u1 wk1 uk wk
M = (M {{wi , ui+1 }0 i < k}) {{ui , wi }0 i k}
Output: M
u1
w1
u1
w1
u1
w1
u2
w2
u2
w2
u2
w2
u3
w3
u3
w3
u3
w3
u4
w4
u4
w4
u4
w4
u5
w5
u5
w5
u5
w5
GM
GM
Algorithmus naiv-Finde-VC(G)
Input: Graph G = (V, E)
U =
while E do
whle einen Knoten u mit maximalem Grad in G
91
U = U {u}
G = G {u} (d.h. V = V {u} und E = {e E u / e})
Output: U
n/2
n/2
kn/2.
Daher ist OPT(Gn ) = n und
naiv-Finde-VC(Gn ) kn/2,
woraus
Qnaiv-Finde-VC (Gn ) = 1
OPT(Gn )
naiv-Finde-VC(Gn )
1 2/k