Sie sind auf Seite 1von 94

Vorlesungsskript

Einfhrung in die Theoretische


Informatik
Wintersemester 2013/14

Prof. Dr. Johannes Kbler


Humboldt-Universitt zu Berlin
Lehrstuhl Komplexitt und Kryptografie

13. Februar 2014

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

Unentscheidbarkeit des Halteproblems


Der Satz von Rice . . . . . . . . . . . .
Das Postsche Korrespondenzproblem .
Weitere Unentscheidbarkeitsresultate .
GOTO-Berechenbarkeit . . . . . . . . .
WHILE- und LOOP-Berechenbarkeit .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

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

.
.
.
.
.
.
.
.
.
.

8 Approximative Lsung von Optimierungsproblemen 91


8.1 Minimum Vertex Cover . . . . . . . . . . . . . . . . . . . 91

Thema der Vorlesung Logik in der Informatik


Mathematische Grundlagen der Informatik, Beweise fhren,
Modellierung
(Aussagenlogik, Prdikatenlogik)
Der Begriff Algorithmus geht auf den persischen Gelehrten Muhammed
Al Chwarizmi (8./9. Jhd.) zurck. Der lteste bekannte nicht-triviale
Algorithmus ist der nach Euklid benannte Algorithmus zur Berechnung
des grten gemeinsamen Teilers zweier natrlicher Zahlen (300 v.
Chr.). Von einem Algorithmus wird erwartet, dass er jede Problemeingabe nach endlich vielen Rechenschritten lst (etwa durch Produktion
einer Ausgabe). Eine wichtige Rolle spielen Entscheidungsprobleme,
bei denen jede Eingabe nur mit ja oder nein beantwortet wird. Problemeingaben knnen Zahlen, Formeln, Graphen etc. sein. Diese werden
ber einem Eingabealphabet kodiert.

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

Themen der Vorlesung


Welche Rechenmodelle sind fr bestimmte Aufgaben adquat?
(Automatentheorie)
Welche Probleme sind lsbar?
(Berechenbarkeitstheorie)
Welcher Aufwand ist zur Lsung eines algorithmischen Problems
ntig?
(Komplexittstheorie)
In den theoretisch orientierten Folgeveranstaltungen wird es dagegen
um folgende Themen gehen.

wobei n = {x1 . . . xn n 0 und xi fr i = 1, . . . , n} alle


Wrter der Lnge n enthlt.
d) Das (einzige) Wort der Lnge n = 0 ist das leere Wort, welches
wir mit bezeichnen.
e) Jede Teilmenge L heit Sprache ber dem Alphabet .

Thema der Vorlesung Algorithmen und Datenstrukturen


Wie lassen sich praktisch relevante Problemstellungen mglichst
effizient lsen?
(Algorithmik)

Beispiel 2. Sei ein Alphabet. Dann sind , , und {} Sprachen


ber . Die Sprache enthlt keine Wrter und heit leere Sprache. Die Sprache enthlt dagegen alle Wrter ber , whrend
die Sprache alle Wrter ber der Lnge 1 enthlt. Die Sprache

= 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.

2.1 Endliche Automaten


Ein endlicher Automat fhrt
bei einer Eingabe der Lnge n
nur n Rechenschritte aus. Um
die gesamte Eingabe lesen zu
knnen, muss der Automat also
in jedem Schritt ein Zeichen der
Eingabe verarbeiten.

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

Definition 4. Ein endlicher Automat (kurz: DFA; deterministic


finite automaton) wird durch ein 5-Tupel M = (Z, , , q0 , E) beschrieben, wobei
Z eine endliche Menge von Zustnden,
das Eingabealphabet,
Z Z die berfhrungsfunktion,
q0 Z der Startzustand und
E Z die Menge der Endzustnde ist.
Die von M akzeptierte oder erkannte Sprache ist

Die Sternhlle A von A ist A = n0 An .


Die Plushlle A+ von A ist A+ = n1 An = AA .

L(M ) = {x1 . . . xn
2

es gibt q1 , . . . , qn1 Z, qn E mit


}.
(qi , xi+1 ) = qi+1 fr i = 0, . . . , n 1

2 Regulre Sprachen

2.1 Endliche Automaten

q0 , q1 , . . . , qn heit Rechnung von M (x1 . . . xn ), falls (qi , xi+1 ) = qi+1


fr i = 0, . . . , n 1 gilt. Sie heit akzeptierend, falls qn E ist.
Beispiel 5. Betrachte den DFA M =
(Z, , , 0, E) mit Z = {0, 1, 2}, =
{a, b}, E = {1} und der berfhrungsfunktion

x) = 1 #a (x) #b (x) 3 1.
(0,

Graphische Darstellung:

Hierzu reicht es, die Kongruenz


0
b

0 1 2

x) 3 #a (x) #b (x).
(0,

a 1 2 0
b 2 0 1

Beweis. Da M nur den Endzustand 1 hat, ist L(M ) = {x


x) = 1}, d.h. wir mssen folgende quivalenz zeigen:
(0,

zu beweisen, wofr wir Induktion ber die Lnge n von x benutzen.


) = #a () = #b () = 0 ist.
Induktionsanfang (n = 0): klar, da (0,
Induktionsschritt (n ; n + 1): Sei x = x1 . . . xn+1 gegeben und sei
x1 . . . xn ). Nach IV gilt dann
i = (0,

b
2

1
a

Der Startzustand wird meist durch einen Pfeil und Endzustnde


werden durch einen doppelten Kreis gekennzeichnet.

x) denjenigen Zustand, in dem sich M nach Lesen von


Bezeichne (q,
x befindet, wenn M im Zustand q gestartet wird. Dann knnen wir
die Funktion
Z Z

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).

induktiv wie folgt definieren. Fr q Z, x und a sei


) = q,
(q,
xa) = ((q,
x), a).
(q,

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

Behauptung 6. Der DFA M aus Beispiel 5 akzeptiert die Sprache


L(M ) = {x #a (x) #b (x) 3 1},

REG = {L(M ) M ist ein DFA}.

wobei #a (x) die Anzahl der Vorkommen des Zeichens a in x bezeichnet


und j m k bedeutet, dass j k durch m teilbar ist.

Beobachtung 7. Alle Singletonsprachen sind regulr.


3

2 Regulre Sprachen

2.1 Endliche Automaten

Beweis. Fr jedes Wort x = x1 . . . xn existiert ein DFA Mx mit


L(Mx ) = {x}:
x1
q0
a x1

x2
q1

q2

a x2

x3

xn

Beispiel 11. Der Abschluss der Singletonsprachen unter besteht


aus allen Singletonsprachen und der leeren Sprache.
Der Abschluss der Singletonsprachen unter besteht aus allen nichtleeren endlichen Sprachen.

qn

Definition 12. Fr eine Sprachklasse C bezeichne co-C die Klasse


L C} aller Komplemente von Sprachen in C.
{L

a x3
a
e

Es ist leicht zu sehen, dass C genau dann unter Komplementbildung


abgeschlossen ist, wenn co-C = C ist.

Formal ist Mx also das Tupel (Z, , , q0 , E) mit Z = {q0 , . . . , qn , e},


E = {qn } und der berfhrungsfunktion

Beobachtung 13. Mit L1 , L2 REG sind auch die Sprachen L1 =


L1 , L1 L2 und L1 L2 regulr.

qi+1 , q = qi fr ein i mit 0 i n 1 und aj = xi+1


(q, aj ) =

sonst.

e,

Beweis. Sind Mi = (Zi , , i , q0 , Ei ), i = 1, 2, DFAs mit L(Mi ) = Li ,


so akzeptiert der DFA
M1 = (Z1 , , 1 , q0 , Z1 E1 )

das Komplement L1 von L1 . Der Schnitt L1 L2 von L1 und L2 wird


dagegen von dem DFA

Als nchstes betrachten wir Abschlusseigenschaften der Sprachklasse


REG.

M = (Z1 Z2 , , , (q0 , q0 ), E1 E2 )

Definition 8. Ein k-stelliger Sprachoperator ist eine Abbildung


op, die k Sprachen L1 , . . . , Lk auf eine Sprache op(L1 , . . . , Lk ) abbildet.

mit
((q, p), a) = (1 (q, a), 2 (p, a))

Beispiel 9. Der Schnittoperator bildet zwei Sprachen L1 und L2


auf die Sprache L1 L2 ab.

akzeptiert (M wird auch Kreuzproduktautomat genannt). Wegen


L1 L2 = (L1 L2 ) ist dann aber auch die Vereinigung von L1 und
L2 regulr. (Wie sieht der zugehrige DFA aus?)

Definition 10. Eine Sprachklasse K heit unter op abgeschlossen,


wenn gilt:
L1 , . . . , Lk K op(L1 , . . . , Lk ) K.

Aus Beobachtung 13 folgt, dass alle endlichen und alle co-endlichen


Sprachen regulr sind. Da die in Beispiel 5 betrachtete Sprache weder
endlich noch co-endlich ist, haben wir damit allerdings noch nicht alle
regulren Sprachen erfasst.

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

2.2 Nichtdeterministische endliche Automaten

Es stellt sich die Frage, ob REG neben den mengentheoretischen


Operationen Schnitt, Vereinigung und Komplement unter weiteren
Operationen wie etwa Produkt oder Sternhlle abgeschlossen ist. Im
bernchsten Abschnitt werden wir sehen, dass die Klasse REG als
der Abschluss der endlichen Sprachen unter Vereinigung, Produkt
und Sternhlle charakterisierbar ist.
Beim Versuch, einen endlichen Automaten fr das Produkt L1 L2 zweier regulrer Sprachen zu konstruieren, stt man auf die Schwierigkeit,
den richtigen Zeitpunkt fr den bergang von (der Simulation von)
M1 zu M2 zu finden. Unter Verwendung eines nichtdeterministischen
Automaten lsst sich dieses Problem jedoch leicht beheben, da dieser
den richtigen Zeitpunkt erraten kann.
Im nchsten Abschnitt werden wir nachweisen, dass auch nichtdeterministische endliche Automaten nur regulre Sprachen erkennen
knnen.

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

2.2 Nichtdeterministische endliche Automaten


Definition 14. Ein nichtdeterministischer endlicher Automat (kurz: NFA; nondeterministic finite automaton) N =
(Z, , , Q0 , E) ist hnlich aufgebaut wie ein DFA, nur dass er mehrere Startzustnde (zusammengefasst in der Menge Q0 Z) haben
kann und seine berfhrungsfunktion die Form

{p, q}

{p} {r}
{p}
{s}

0, 1, 2

Offensichtlich akzeptiert N die Sprache L(N ) = {x012 x } aller


Wrter, die mit dem Suffix 012 enden.

Beobachtung 16. Sind Ni = (Zi , , i , Qi , Ei ) (i = 1, 2) NFAs, so


werden auch die Sprachen L(N1 )L(N2 ) und L(N1 ) von einem NFA
erkannt.

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

Beweis. Sei Li = L(Ni ). Wir knnen Z1 Z2 = annehmen. Dann


akzeptiert der NFA

q0 , q1 , . . . , qn heit Rechnung von N (x1 . . . xn ), falls qi+1 (qi , xi+1 )


fr i = 0, . . . , n 1 gilt.

N = (Z1 Z2 , , 3 , Q1 , E)
5

2 Regulre Sprachen
mit

und

2.2 Nichtdeterministische endliche Automaten

Satz 17 (Rabin und Scott).


REG = {L(N ) N ist ein NFA}.
Beweis. Die Inklusion von links nach rechts ist klar, da jeder DFA
auch als NFA aufgefasst werden kann. Fr die Gegenrichtung konstruieren wir zu einem NFA N = (Z, , , Q0 , E) einen DFA M =
(P(Z), , , Q0 , E ) mit L(M ) = L(N ). Wir definieren die berfhrungsfunktion P(Z) P(Z) von M mittels

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

(Q, a) = (q, a).


qQ

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

N = (Z1 {qneu }, , 4 , Q1 {qneu }, E1 {qneu })


mit

die Sprache L1 akzeptiert.

1 (p, a),
p Z1 E1 ,

3 (p, a) = 1 (p, a) qQ2 2 (q, a), p E1 ,

sonst
2 (p, a),

1 (p, a),
p Z1 E1 ,

4 (p, a) = 1 (p, a) qQ1 1 (q, a), p E1 ,

sonst
,

qQn1

0 , x) alle Zustnde, die N (x) in genau n


enthlt dann aber (Q
Schritten erreichen kann.
6

2 Regulre Sprachen

2.3 Regulre Ausdrcke

Deklarieren wir nun diejenigen Teilmengen Q Z, die mindestens


einen Endzustand von N enthalten, als Endzustnde des Potenzmengenautomaten M , d.h.

0
1

0
{p}

E = {Q Z Q E =/ },
1, 2

{p, q}

so folgt fr alle Wrter x :

2
{p, r}

{p, s}

0
1, 2

x L(N ) N (x) kann in genau x Schritten einen Endzustand


erreichen
0 , x) E =/
(Q
0 , x) E
(Q
x L(M ).

Im obigen Beispiel wurden fr die Konstruktion des DFA M aus


dem NFA N nur 4 der insgesamt 2Z = 16 Zustnde bentigt, da die
brigen 12 Zustnde in P(Z) nicht vom Startzustand Q0 = {p} aus
erreichbar sind. Es gibt jedoch Beispiele, bei denen alle 2Z Zustnde
in P(Z) fr die Konstruktion des Potenzmengenautomaten bentigt
werden (siehe bungen).

Korollar 19. Die Klasse REG der regulren Sprachen ist unter folgenden Operationen abgeschlossen:
Komplement,
Produkt,
Schnitt,
Sternhlle.
Vereinigung,

Beispiel 18. Fr den NFA N = (Z, , , Q0 , E) aus Beispiel 15


p

2.3 Regulre Ausdrcke

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}

REG = {L(M ) M ist ein DFA} = {L(N ) N ist ein NFA}.


In diesem Abschnitt werden wir eine weitere Charakterisierung der
regulren Sprachen kennen lernen:
REG ist die Klasse aller Sprachen, die sich mittels der
Operationen Vereinigung, Schnitt, Komplement, Produkt
und Sternhlle aus der leeren Menge und den Singletonsprachen bilden lassen.

{p, q} {p}
{p}
{p, q} {p, r} {p}
{p, q} {p} {p, s}
{p, q} {p}
{p}
7

2 Regulre Sprachen

2.3 Regulre Ausdrcke

Tatschlich kann hierbei sogar auf die Schnitt- und Komplementbildung verzichtet werden.

Beispiel 23. Betrachte nebenstehenden DFA M .


Um fr die von M erkannte Sprache

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.

L(M ) = {x {a, b} #a (x) #b (x) 3 1}

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

Beispiel 22. Die regulren Ausdrcke  , , (01) 00 und 01


beschreiben folgende Sprachen:

(01) 00

L() {} = {} = {} {x00 x {0, 1} }

einen regulren Ausdruck zu finden, betrachten


b
2
1
wir zunchst die Sprache L0,0 aller Wrter x, die
a
den DFA M ausgehend vom Zustand 0 in den
Zustand 0 berfhren. Weiter sei L0
0,0 die Sprache aller solchen Wrter
w , die zwischendurch nicht den Zustand 0 besuchen. Dann setzt
sich jedes x L0,0 aus beliebig vielen Teilwrtern w1 , . . . , wk L0
0,0
.
zusammen, d.h. L0,0 = (L0
)
0,0

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}

Satz 24. {L() ist ein regulrer Ausdruck} = REG.


8

2 Regulre Sprachen

2.3 Regulre Ausdrcke


Beispiel 25. Betrachte den DFA

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

Da M insgesamt m = 2 Zustnde und nur den Endzustand 2 besitzt,


ist
2
).
L(M ) = L1,q = L1,2 = L21,2 = L(1,2

L(M ) = L1,q

qE

qE

2
Um 1,2
zu berechnen, benutzen wir die Rekursionsformel

von Sprachen der Form

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.

B = {(x, y) U U x ist Bruder von y}.


(P(M ), ), wobei P(M ) die Potenzmenge einer beliebigen Menge M und die Inklusionsbeziehung auf den Teilmengen von M
ist.
(A, IdA ), wobei IdA = {(x, x) x A} die Identitt auf A ist.
(R, ).
(Z, ), wobei die teilt-Relation bezeichnet (d.h. ab, falls ein
c Z mit b = ac existiert).

Da Relationen Mengen sind, sind auf ihnen die mengentheoretischen


Operationen Schnitt, Vereinigung, Komplement und Differenz
definiert. Seien R und S Relationen auf A, dann ist

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.

=
=
=
=

{(x, y) A A xRy xSy},


{(x, y) A A xRy xSy},
{(x, y) A A xRy xSy},
(A A) R.

Sei allgemeiner M P(A A) eine beliebige Menge von Relationen


auf A. Dann sind der Schnitt ber M und die Vereinigung ber
M folgende Relationen:
M =

R = {(x, y) R M xRy},
RM

M =

R = {(x, y) R M xRy}.
RM

Die transponierte (konverse) Relation zu R ist

Beispiel 27.
(F, M ) mit F = {f f ist Fluss in Europa} und

RT = {(y, x) xRy}.

M = {(f, g) F F f mndet in g}.

RT wird oft auch mit R1 bezeichnet. Z.B. ist (R, T ) = (R, ).


10

2 Regulre Sprachen

2.4 Relationalstrukturen

Seien R und S Relationen auf A. Das Produkt oder die Komposition von R und S ist

Die nachfolgende Tabelle gibt einen berblick ber die wichtigsten


Relationalstrukturen.

R S = {(x, z) A A y A xRy ySz}.

refl. sym. trans. antisym. asym. konnex semikon.

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

bliche Bezeichnungen fr das Relationenprodukt sind auch R ;S und


R S oder einfach RS. Das n-fache Relationenprodukt R R von
R wird mit Rn bezeichnet. Dabei ist R0 = Id.
Vorsicht: Das n-fache Relationenprodukt Rn von R sollte nicht mit
dem n-fachen kartesischen Produkt R R der Menge R verwechselt werden. Wir vereinbaren, dass Rn das n-fache Relationenprodukt
bezeichnen soll, falls R eine Relation ist.

In der Tabelle sind nur die definierenden Eigenschaften durch ein


gekennzeichnet. Das schliet nicht aus, dass gleichzeitig auch noch
weitere Eigenschaften vorliegen knnen.
Beispiel 29.
Die Relation ist Schwester von ist zwar in einer reinen Damengesellschaft symmetrisch, i.a. jedoch weder symmetrisch
noch asymmetrisch noch antisymmetrisch.
Die Relation ist Geschwister von ist zwar symmetrisch, aber
weder reflexiv noch transitiv und somit keine quivalenzrelation.
(R, <) ist irreflexiv, asymmetrisch, transitiv und semikonnex
und somit eine lineare Striktordnung.
(R, ) und (P(M ), ) sind reflexiv, antisymmetrisch und transitiv und somit Ordnungen.
(R, ) ist auch konnex und somit eine lineare Ordnung.
(P(M ), ) ist zwar im Fall M 1 konnex, aber im Fall
M 2 weder semikonnex noch konnex.

Eigenschaften von Relationen


Sei R eine Relation auf A. Dann heit R
reflexiv,
falls x A xRx
(also IdA R)
irreflexiv,
falls x A xRx
(also IdA R)
symmetrisch,
falls x, y A xRy yRx (also R RT )
asymmetrisch,
falls x, y A xRy yRx (also R RT )
antisymmetrisch, falls x, y A xRy yRx x = y
(also R RT Id)
konnex,
falls x, y A xRy yRx
(also A A R RT )
semikonnex,
falls x, y A x y xRy yRx
(also Id R RT )
transitiv,
falls x, y, z A xRy yRz xRz
(also R2 R)
gilt.

Graphische Darstellung von Relationen


Eine Relation R auf einer endlichen Menge A kann durch einen gerichteten Graphen (oder Digraphen) G = (V, E) mit Knotenmenge
11

2 Regulre Sprachen

2.4 Relationalstrukturen

V = A und Kantenmenge E = R veranschaulicht werden. Hierzu


stellen wir jedes Element x A als einen Knoten dar und verbinden jedes Knotenpaar (x, y) R durch eine gerichtete Kante (Pfeil).
Zwei durch eine Kante verbundene Knoten heien benachbart oder
adjazent.

auf der Menge A = {a, b, c, d} die Matrixdarstellung

MR

Beispiel 30. Fr die Relation (A, R) mit A = {a, b, c, d} und


R = {(b, c), (b, d), (c, a), (c, d), (d, d)} erhalten wir folgende graphische
Darstellung.
a

0
0
1
0

0
0
0
0

0
1
0
0

0
1
1
1

Darstellung durch eine Adjazenzliste


Eine weitere Mglichkeit besteht darin, eine endliche Relation R
in Form einer Tabelle darzustellen, die jedem Element x A seine
Nachfolgermenge R[x] in Form einer Liste zuordnet:

x R[x]

Der Ausgangsgrad eines Knotens x V ist deg (x) = R[x], wobei


R[x] = {y V xRy} die Menge der Nachfolger von x ist. Entsprechend ist deg (x) = {y V yRx} der Eingangsgrad von x und
R1 [x] = {y V yRx} die Menge der Vorgnger von x. Falls R
symmetrisch ist, werden die Pfeilspitzen meist weggelassen. In diesem
Fall ist d(x) = deg (x) = deg+ (x) der Grad von x und R[x] = R1 [x]
heit die Nachbarschaft von x. Ist R zudem irreflexiv, so ist G
schleifenfrei und wir erhalten einen (ungerichteten) Graphen.
+

a
b
c
d

c, d
a, d
d

Sind MR = (rij ) und MS = (sij ) boolesche n n-Matrizen fr R und


S, so erhalten wir fr T = R S die Matrix MT = (tij ) mit
tij =

Darstellung durch eine Adjazenzmatrix

(rik skj )
k=1,...,n

Eine Relation R auf einer endlichen (geordneten) Menge A =


{a1 , . . . , an } lsst sich durch eine boolesche n n-Matrix MR = (mij )
mit
1, ai Raj ,
mij = {
0, sonst
darstellen. Beispielsweise hat die Relation

Die Nachfolgermenge T [x] von x bzgl. der Relation T = RS berechnet


sich zu
T [x] = {S[y] y R[x]} = S[y].
yR[x]

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

(ii) Wegen x Id R y z x = z z R y x R y folgt Id R = R.


Die Gleichheit R Id = R folgt analog.

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 -

Manchmal steht man vor der Aufgabe, eine gegebene Relation R


durch eine mglichst kleine Modifikation in eine Relation R mit
vorgegebenen Eigenschaften zu berfhren. Will man dabei alle in R
enthaltenen Paare beibehalten, dann sollte R aus R durch Hinzufgen
mglichst weniger Paare hervorgehen.
Es lsst sich leicht nachprfen, dass der Schnitt ber eine Menge
reflexiver (bzw. transitiver oder symmetrischer) Relationen wieder reflexiv (bzw. transitiv oder symmetrisch) ist. Folglich existiert zu jeder
Relation R auf einer Menge A eine kleinste reflexive (bzw. transitive
oder symmetrische) Relation R , die R enthlt.

0000
0000
0000
1111
a bcd a, b, c, d

Definition 33. Sei R eine Relation auf A.


Die reflexive Hlle von R ist

Beobachtung: Das Beispiel zeigt, dass das Relationenprodukt nicht


kommutativ ist, d.h. i.a. gilt nicht R S = S R.
Als nchstes zeigen wir, dass die Menge R = P(A A) aller binren
Relationen auf A mit dem Relationenprodukt als binrer Operation
ein Monoid) (also eine Halbgruppe mit neutralem Element) bildet.

hrefl (R) = {S A A S ist reflexiv und R S}.


Die symmetrische Hlle von R ist
hsym (R) = {S A A S ist symmetrisch und R S}.

Satz 32. Seien Q, R, S Relationen auf A. Dann gilt


(i) (Q R) S = Q (R S), d.h. ist assoziativ,
(ii) Id R = R Id = R, d.h. Id ist neutrales Element.
Beweis.
(i) Es gilt:
x (Q R) S y

Die transitive Hlle von R ist


R+ = {S A A S ist transitiv und R S}.
Die reflexiv-transitive Hlle von R ist

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

R = {S A A S ist reflexiv, transitiv und R S}.


Die quivalenzhlle von R ist
hq (R) = {S S ist eine quivalenzrelation auf A und R S}.
Satz 34. Sei R eine Relation auf A.
13

2 Regulre Sprachen
(i)
(ii)
(iii)
(iv)
(v)

2.4 Relationalstrukturen

hrefl (R) = R IdA ,


hsym (R) = R RT ,
R+ = n1 Rn ,
R = n0 Rn ,
hq (R) = (R RT ) .

Beweis. Siehe bungen.

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

gezeichnet. Fr x y sagt man auch, y ist oberer Nachbar von x.


Weiterhin wird im Fall x y der Knoten y oberhalb vom Knoten x
gezeichnet, so dass auf Pfeilspitzen verzichtet werden kann.

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.

In der Graphentheorie nennt man x0 , . . . , xn einen Weg der Lnge n


von a nach b.

{a, c}

{a, b}
{a}

{b, c}
{c}

{b}

2.4.1 Ordnungs- und quivalenzrelationen

Wir betrachten zunchst Ordnungsrelationen, die durch die drei


Eigenschaften reflexiv, antisymmetrisch und transitiv definiert sind.

Schrnken wir die teilt-Relation


auf die Menge {1, 2, . . . , 10} ein,
so erhalten wir folgendes HasseDiagramm.

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 heit grtes Element oder Maximum von B (kurz


b = max B), falls gilt:

(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 heit minimal in B, falls es in B kein kleineres Element


gibt:
b B b b b = b.

Beispiel 41. Betrachte nebenstehende Ordnung auf der Menge A =


{a, b, c, d, e}. Die folgende Tabelle zeigt fr verschiea
b
dene Teilmengen B A alle minimalen und maximalen Elemente in B Minimum und Maximum, alle
c
d
unteren und oberen Schranken, sowie Infimum und
e
Supremum von B (falls existent).

b heit maximal in B, falls es in B kein greres Element


gibt:
b B b b b = b .
Bemerkung 38. Da Ordnungen antisymmetrisch sind, kann es in
jeder Teilmenge B hchstens ein kleinstes und hchstens ein grtes
Element geben. Die Anzahl der minimalen und maximalen Elemente
in B kann dagegen beliebig gro sein.

B
{a, b}
{c, d}
{a, b, c}
{a, b, c, e}
{a, c, d, e}

Definition 39. Sei eine Ordnung auf A und sei B A.


Jedes Element u A mit u b fr alle b B heit untere und
jedes o A mit b o fr alle b B heit obere Schranke von
B.
B heit nach oben beschrnkt, wenn B eine obere Schranke hat, und nach unten beschrnkt, wenn B eine untere
Schranke hat.
B heit beschrnkt, wenn B nach oben und nach unten beschrnkt ist.
Besitzt B eine grte untere Schranke i, d.h. besitzt die Menge
U aller unteren Schranken von B ein grtes Element i, so
heit i das Infimum von B (kurz i = inf B):

minimal maximal min max


a, b
c, d
c
e
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

Als nchstes betrachten wir quivalenzrelationen, die durch die drei


Eigenschaften reflexiv, symmetrisch und transitiv definiert sind.
Ist E eine quivalenzrelation, so nennt man die Nachbarschaft E[x]
die von x reprsentierte quivalenzklasse und bezeichnet sie
mit [x]E oder einfach mit [x]. Eine Menge S A heit Reprsentantensystem, falls sie genau ein Element aus jeder quivalenzklasse
enthlt.

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

()

(iii) Es gibt eine Partition {Bi i I} von A mit


xEy i I x, y Bi .
Beweis.
(i) (ii) Sei E eine quivalenzrelation auf A. Da E transitiv ist,
impliziert xEy die Inklusion E[y] E[x]:
z E[y] yEz xEz z E[x].
Da E symmetrisch ist, folgt aus xEy aber auch E[x] E[y].
Umgekehrt folgt aus E[x] = E[y] wegen der Reflexivitt von E,
dass y E[y] = E[x] enthalten ist, und somit xEy. Dies zeigt,
dass E die quivalenz () erfllt.
(ii) (iii) Wir zeigen, dass die quivalenzklassen E[x], x A, die
Menge A partitionieren, falls E die Bedingung () erfllt.
Wegen E[x] = E[x] folgt xEx und somit x E[x]. Folglich
berdecken die Mengen E[x] die Menge A.
Ist E[x] E[y] und z ein Element in E[x] E[y], so gilt
xEz und yEz und daher folgt E[x] = E[z] = E[y].
(iii) (i) Existiert schlielich eine Partition {Bi i I} von A mit
xEy i I x, y Bi , so ist E reflexiv, da zu jedem x A
eine Menge Bi mit x Bi existiert. Zudem ist E symmetrisch,
da aus x, y Bi auch y, x Bi folgt. Und E ist transitiv, da aus
x, y Bi und y, z Bj wegen y Bi Bj die Gleichheit Bi = Bj
und somit x, z Bi folgt.

[r] = {a Z a m r}, r = 0, 1, . . . , m 1.
Ein Reprsentantensystem wird beispielsweise durch die Reste
0, 1, . . . , m 1 gebildet.

Definition 44. Eine Familie {Bi i I} von nichtleeren Teilmengen


Bi A heit Partition der Menge A, falls gilt:
a) die Mengen Bi berdecken A, d.h. A = iI Bi und
b) die Mengen Bi sind paarweise disjunkt, d.h. fr je zwei verschiedene Mengen Bi =/ Bj gilt Bi Bj = .
Die quivalenzklassen einer quivalenzrelation E bilden eine Partition {[x] x A} von A (siehe Satz 45). Diese Partition wird auch
Quotienten- oder Faktormenge genannt und mit A/E bezeichnet.
Die Anzahl der quivalenzklassen von E wird auch als der Index
16

2 Regulre Sprachen

2.4 Relationalstrukturen

Der Nachbereich N (R) und der Vorbereich V (R) von R


sind
N (R) = R[x] und V (R) = RT [x].

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

Eine rechtseindeutige Relation R mit V (R) = A und N (R) B


heit Abbildung oder Funktion von A nach B (kurz
R A B).
Bemerkung 47.
Wie blich werden wir Abbildungen meist mit kleinen Buchstaben f, g, h, ... bezeichnen und fr (x, y) f nicht xf y sondern
f (x) = y oder f x y schreiben.
Ist f A B eine Abbildung, so wird der Vorbereich V (f ) = A
der Definitionsbereich und die Menge B der Wertebereich
oder Wertevorrat von f genannt.
Der Nachbereich N (f ) wird als Bild von f bezeichnet.

{M }

Die feiner-Relation auf


der Menge aller Partitionen von M = {a, b, c}
hat das folgende HasseDiagramm:

{{a, b}, {c}}

xM

{{a, c}, {b}}


{{a}, {b, c}}

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.

{{a}, {b}, {c}}

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:

Man beachte, dass der Definitionsbereich V (f 1 ) = N (f ) von f 1 nur


dann gleich B ist, wenn f auch surjektiv, also eine Bijektion ist.

xRy xRz y = z.
R heit linkseindeutig, falls fr alle x, y, z M gilt:

2.4.3 Homo- und Isomorphismen

xRz yRz x = y.

Definition 49. Seien (A1 , R1 ) und (A2 , R2 ) Relationalstrukturen.


17

2 Regulre Sprachen

2.4 Relationalstrukturen

Eine Abbildung h A1 A2 heit Homomorphismus, falls


fr alle a, b A1 gilt:

Beispiel 52.
Die Abbildung h R R+ mit

aR1 b h(a)R2 h(b).

h x ex

Sind (A1 , R1 ) und (A2 , R2 ) Ordnungen, so spricht man von


Ordnungshomomorphismen oder einfach von monotonen
Abbildungen.
Injektive Ordnungshomomorphismen werden auch streng monotone Abbildungen genannt.

ist ein Ordnungsisomorphismus zwischen (R, ) und (R+ , ).


Es existieren genau 5 nichtisomorphe Ordnungen mit 3 Elementen:

Beispiel 50. Folgende Abbildung h A1 A2 ist ein bijektiver Ordnungshomomorphismus.


h

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, )

die Menge aller Teiler von n und


Pn = {p Tn p ist prim}

Obwohl h ein bijektiver Homomorphismus ist, ist die Umkehrung h1


kein Homomorphismus, da h1 nicht monoton ist. Es gilt nmlich
2 3, aber h1 (2) = b / c = h1 (3).

die Menge aller Primteiler von n. Dann ist die Abbildung

h k Pk

Definition 51. Ein bijektiver Homomorphismus h A1 A2 , bei


dem auch h1 ein Homomorphismus ist, d.h. es gilt

ein (surjektiver) Ordnungshomomorphismus von (Tn , ) auf


(P(Pn ), ). h ist sogar ein Isomorphismus, falls n quadratfrei
ist (d.h. es gibt kein k 2, so dass k 2 die Zahl n teilt).
Die beiden folgenden Graphen G und G sind isomorph. Zwei
Isomorphismen sind beispielsweise h1 und h2 .

a, b A1 aR1 b h(a)R2 h(b).


heit Isomorphismus. In diesem Fall heien die Strukturen (A1 , R1 )
und (A2 , R2 ) isomorph (kurz: (A1 , R1 ) (A2 , R2 )).
18

2 Regulre Sprachen

2.5 Minimierung von DFAs

1
5

2
4

2.5 Minimierung von DFAs

1
5

2
4

G = (V, E)

Wie knnen wir feststellen, ob ein DFA M = (Z, , , q0 , E) unntige


Zustnde enthlt? Zunchst einmal knnen alle Zustnde entfernt
werden, die nicht vom Startzustand aus erreichbar sind. Im folgenden
gehen wir daher davon aus, dass M keine unerreichbaren Zustnde
enthlt. Offensichtlich knnen zwei Zustnde q und p zu einem Zustand verschmolzen werden (kurz: q p), wenn M von q und von p
ausgehend jeweils dieselben Wrter akzeptiert. Bezeichnen wir den
DFA (Z, , , q, E) mit Mq , so sind q und p genau dann verschmelzbar,
wenn L(Mq ) = L(Mp ) ist.
Fassen wir alle zu einem Zustand z quivalenten Zustnde in dem
neuen Zustand

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:

[z] = {z Z L(Mz ) = L(Mz )}


zusammen (wofr wir auch kurz [z] oder z schreiben) und ersetzen
wir Z und E durch Z = {
z z Z} und E = {
z z E}, so erhalten

mit
wir den DFA M = (Z, , , q0 , E)

(
q , a) = (q,
a).

fr eine Teilmenge Q Z die Menge {


Hierbei bezeichnet Q
q q Q}
aller quivalenzklassen q, die mindestens ein Element q Q enthalten.
Der nchste Satz zeigt, dass M tatschlich der gesuchte Minimalautomat ist.

Bemerkung 53. Auf der Knotenmenge V = {1, . . . , n} existieren gen


nau 2( 2 ) verschiedene Graphen. Sei a(n) die Anzahl aller nichtisomorphen Graphen auf V . Da jede Isomorphieklasse mindestens einen und
n
n
hchstens n! verschiedene Graphen enthlt, ist 2( 2 ) /n! a(n) 2( 2 ) .

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.

ein DFA fr L(M ) mit einer minimalen Anzahl von Zustnden.

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

2.5 Minimierung von DFAs

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).

durchluft M dann die Zustnde


q0 , q1 , . . . , qn .
Da aber qn genau dann zu E gehrt, wenn qn E ist, folgt
L(M ) = L(M ) (man beachte, dass qn entweder nur Endzustnde
oder nur Nicht-Endzustnde enthlt, vgl. Beobachtung 55).
von Zustnden
Es bleibt zu zeigen, dass M eine minimale Anzahl Z
hat. Dies ist sicher dann der Fall, wenn bereits M minimal ist. Es
= {L(Mz ) z Z} der
reicht also zu zeigen, dass die Anzahl k = Z

Zustnde von M nicht von M , sondern nur von L = L(M ) abhngt.


Fr x sei
Lx = {y xy L}.

Wenn also D nur Paare von inquivalenten Zustnden enthlt, dann


trifft dies auch auf die Menge
D = {{p, q} a {(p, a), (q, a)} D}
zu. Wir knnen somit ausgehend von der Menge
D0 = {{p, q} p E, q / E}
eine Folge von Mengen
D0 D1 {{z, z } Z z z }

Dann gilt {Lx x } {L(Mz ) z Z}, da Lx = L(M(q


0 ,x) )
ist. Die umgekehrte Inklusion gilt ebenfalls, da nach Voraussetzung
jeder Zustand q Z ber ein x erreichbar ist. Also hngt
k = {L(Mz ) z Z} = {Lx x } nur von L ab.

mittels der Vorschrift


Di+1 = Di {{p, q} a {(p, a), (q, a)} Di }
20

2 Regulre Sprachen

2.5 Minimierung von DFAs

berechnen, indem wir zu Di alle Paare {p, q} hinzufgen, fr die eines


der Paare {(p, a), (q, a)}, a , bereits zu Di gehrt. Da Z endlich
ist, muss es ein j mit Dj+1 = Dj geben. In diesem Fall gilt (siehe
bungen):
p / q {p, q} Dj .

Die Paare in D0 sind in der folgenden Matrix durch den Unterscheider


markiert.
2
3
4 a a
5 a a
6

Folglich kann M durch Verschmelzen aller Zustnde p, q mit {p, q} /


Dj gebildet werden. Der folgende Algorithmus berechnet fr einen
beliebigen DFA M den zugehrigen Minimal-DFA M .

1 2 3 4 5
Wegen

Algorithmus min-DFA(M )
1
2
3
4
5
6
7
8

Input: DFA M = (Z, , , q0 , E)


entferne alle nicht erreichbaren Zustaende
D = {{z, z } z E, z / E}
repeat
D = D
D = D {{p, q} a {(p, a), (q, a)} D}
until D = D
, , q0 , E),
wobei fr jeden Zustand
Output: M = (Z,

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}

Beispiel 56. Betrachte den DFA M


b

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},

die auf folgenden Minimal-DFA M fhren:

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

2.5 Minimierung von DFAs

Es ist auch mglich, einen Minimalautomaten ML direkt aus einer


regulren Sprache L zu gewinnen (also ohne einen DFA M fr L zu
kennen). Da wegen

Im Fall, dass M bereits ein Minimalautomat ist, sind alle Zustnde


von M von der Form q = {q}, so dass M isomorph zu M und damit
auch isomorph zu ML ist. Dies zeigt, dass alle Minimalautomaten fr
eine Sprache L isomorph sind.

(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) =

und y den DFA M genau dann in denselben Zu


(q
0 , y) berfhren, wenn Lx = Ly ist, knnen wir

den von M bei Eingabe x erreichten Zustand (q


0 , x) auch mit
der Sprache Lx bezeichnen. Dies fhrt auf den zu M isomorphen
(also bis auf die Benennung der Zustnde mit M identischen) DFA
ML = (ZL , , L , L , EL ) mit

Satz 58 (Myhill und Nerode).


1. REG = {L RL hat endlichen Index}.
2. Sei L regulr und sei index(RL ) der Index von RL . Dann gibt
es fr L bis auf Isomorphie genau einen Minimal-DFA. Dieser
hat index(RL ) Zustnde.
Beispiel 59. Sei L = {ai bi i 0}. Wegen bi Lai La j fr i =/ j hat
RL unendlichen Index, d.h. L ist nicht regulr.

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

Notwendig und hinreichend fr die Existenz von ML ist, dass RL


endlichen Index hat, also die Menge {Lx x } endlich ist.

Z
= {[x]RL x },
E
= {[x]RL x L} und
([x]RL , a) = [xa]RL

Beispiel 57. Fr L = {x1 . . . xn {0, 1} n 2 und xn1 = 0} ist

L,
x {, 1} oder x endet mit 11,

x = 0 oder x endet mit 10,


L {0, 1},
Lx =

L {, 0, 1}, x endet mit 00,

x endet mit 01.


L {},
Somit erhalten wir den folgenden Minimalautomaten ML .
L0

0
L

0
1

L01

wird auch als quivalenzklassenautomat bezeichnet.


Die Konstruktion von MRL ist meist einfacher als die von ML , da die
Bestimmung der Sprachen Lx entfllt. Um die berfhrungsfunktion
von MRL aufzustellen, reicht es, ausgehend von r1 = eine Folge
r1 , . . . , rk von paarweise bzgl. RL inquivalenten Wrtern zu bestimmen, so dass zu jedem Wort ri a, a , ein rj mit ri aRL rj existiert.
In diesem Fall ist ([ri ], a) = [ri a] = [rj ].

0
L00

Beispiel 60. Fr die Sprache L = {x1 . . . xn {0, 1} xn1 = 0} lsst


sich MRL wie folgt konstruieren:

1
0
22

2 Regulre Sprachen

2.6 Das Pumping-Lemma

Wir beginnen mit r1 = .


Da r1 0 = 0 / [] ist, whlen wir r2 = 0 und setzen ([], 0) = [0].
Da r1 1 = 1 [] ist, setzen wir ([], 1) = [].
Da r2 0 = 00 / [] [0] ist, ist r3 = 00 und wir setzen
([0], 0) = [00].
5. Da r2 1 = 01 / [] [0] [00] ist, whlen wir r4 = 01 und setzen
([0], 1) = [01].
6. Da die Wrter r3 0 = 000 [00], r3 1 = 001 [01], r4 0 = 010 [0]
und r4 1 = 011 [] sind, setzen wir ([00], 0) = [00], ([00], 1) =
[01], ([01], 0) = [0] und ([01], 1) = [].
Wir erhalten also folgenden Minimal-DFA MRL :

2.6 Das Pumping-Lemma

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]

Beweis. Sei M = (Z, , , q0 , E) ein DFA fr L und sei l = Z


die Anzahl der Zustnde von M . Setzen wir M auf eine Eingabe
x = x1 . . . xn L der Lnge n l an, so muss M nach sptestens l
Schritten einen Zustand q Z zum zweiten Mal besuchen:

1
0

Wir fassen nochmals die wichtigsten Ergebnisse zusammen.


0 , x1 . . . xj ) = (q
0 , x1 . . . xk ) = q.
j, k 0 j < k l (q

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.

Whlen wir nun u = x1 . . . xj , v = xj+1 . . . xk und w = xk+1 . . . xn , so ist


v = k j 1 und uv = k l. Ausserdem gilt uv i w L fr i 0, da
v) = q
wegen (q,
0 , uv i w) = (
(
(q
0 , u), v i ), w) = (
(q,
v i ), w) = (q
0 , x) E
(q


q

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

2.6 Das Pumping-Lemma


ist nicht regulr, da sich fr jede Zahl l 0 das Wort x = al bl der
Lnge x = 2l l in der Sprache L befindet, welches offensichtlich
nicht in Teilwrter u, v, w mit v =/ und uv 2 w L zerlegbar ist.

Beispiel 63. Die Sprache


L = {x {a, b} #a (x) #b (x) 3 1}

Beispiel 66. Die Sprache

hat die Pumping-Zahl l = 3. Sei nmlich x L beliebig mit x 3. Dann


lsst sich innerhalb des Prfixes von x der Lnge drei ein nichtleeres
Teilwort v finden, das gepumpt werden kann:
1. Fall: x hat das Prfix ab (oder ba).
Zerlege x = uvw mit u = und v = ab (bzw. v = ba).
2. Fall: x hat das Prfix aab (oder bba).
Zerlege x = uvw mit u = a (bzw. u = b) und v = ab (bzw. v = ba).
3. Fall: x hat das Prfix aaa (oder bbb).
Zerlege x = uvw mit u = und v = aaa (bzw. v = bbb).

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

Beispiel 64. Eine endliche Sprache L hat die Pumping-Zahl

ausgeschlossen ist.

L = ,
0,
l=

max{x + 1 x L}, sonst.

Beispiel 67. Auch die Sprache


L = {ap p prim }

Tatschlich lsst sich jedes Wort x L der Lnge x l pumpen


(da solche Wrter gar nicht existieren), weshalb die Pumping-Zahl
hchstens l ist. Zudem gibt es im Fall l > 0 ein Wort x L der Lnge
x = l 1, das sich nicht pumpen lsst, weshalb die Pumping-Zahl
nicht kleiner als l sein kann.

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.

nicht der Fall.

p + (p + 1 1)v = p(1 + v)

Bemerkung 68. Mit Hilfe des Pumping-Lemmas kann nicht fr jede


Sprache L / REG gezeigt werden, dass L nicht regulr ist, da seine
Umkehrung falsch ist. So hat beispielsweise die Sprache
L = {ai b j ck i = 0 oder j = k}

Beispiel 65. Die Sprache

die Pumping-Zahl 1 (d.h. jedes Wort x L mit Ausnahme von kann


gepumpt werden). Dennoch ist L nicht regulr (siehe bungen).

L = {a b j 0}
j j

24

2 Regulre Sprachen

2.7 Grammatiken

2.7 Grammatiken

auch die Stelle in , an der u durch v ersetzt wird, eindeutig


erkennbar sind.)
b) Eine Folge = (l0 , u0 , r0 ), . . . , (lm , um , rm ) von Tripeln (li , ui , ri )
heit Ableitung von aus , falls gilt:
l0 u0 r0 = , lm um rm = und
li ui ri li+1 ui+1 ri+1 fr i = 0, . . . , m 1.
Die Lnge von ist m und wir notieren auch in der Form

Eine beliebte Methode, Sprachen zu beschreiben, sind Grammatiken.


Implizit haben wir hiervon bei der Definition der regulren Ausdrcke
bereits Gebrauch gemacht.
Beispiel 69. Die Sprache RA aller regulren Ausdrcke ber einem Alphabet = {a1 , . . . , ak } lsst sich aus dem Symbol R durch
wiederholte Anwendung folgender Regeln erzeugen:
R ,

R RR,

R ,

R (RR),

R ai , i = 1, . . . , k,

R (R) .

l0 u0 r0 l1 u1 r1 lm1 um1 rm1 lm um rm .


c) Die durch G erzeugte Sprache ist
L(G) = {x S G x}.

d) Ein Wort (V ) mit S G heit Satzform von G.

Definition 70. Eine Grammatik ist ein 4-Tupel G = (V, , P, S),


wobei
V eine endliche Menge von Variablen (auch Nichtterminalsymbole genannt),
das Terminalalphabet,
P (V )+ (V ) eine endliche Menge von Regeln (oder
Produktionen) und
S V die Startvariable ist.

Zur Erinnerung: Die Relation bezeichnet die reflexive, transitive


Hlle der Relation , d.h. bedeutet, dass es ein n 0 gibt mit
n . Hierzu sagen wir auch, ist aus (in n Schritten) ableitbar.
Die Relation n bezeichnet das n-fache Produkt der Relation , d.h.
es gilt n , falls Wrter 0 , . . . , n existieren mit
0 = , n = und
i i+1 fr i = 0, . . . , n 1.

Fr (u, v) P schreiben wir auch kurz u G v bzw. u v, wenn die


benutzte Grammatik aus dem Kontext ersichtlich ist.

Beispiel 72. Wir betrachten nochmals die Grammatik G = ({R},


{, , (, ), , }, P, R), die die Menge der regulren Ausdrcke ber dem
Alphabet erzeugt, wobei P die oben angegebenen Regeln enthlt. Ist
= {0, 1}, so lsst sich der regulre Ausdruck (01) () beispielsweise
wie folgt ableiten:

Definition 71. Seien , (V ) .


a) Wir sagen, ist aus in einem Schritt ableitbar (kurz:
G ), falls eine Regel u G v und Wrter l, r (V )
existieren mit
= lur und = lvr.

R RR (R) R (RR) R (RR) (RR)


(0R) (RR) (01) (RR) (01) (R) (01) ()

Hierfr schreiben wir auch lur G lvr. (Man beachte, dass


durch Unterstreichen von u in sowohl die benutzte Regel als

Man unterscheidet vier verschiedene Typen von Grammatiken.


25

2 Regulre Sprachen

2.7 Grammatiken

Definition 73. Sei G = (V, , P, S) eine Grammatik.


1. G heit vom Typ 3 oder regulr, falls fr alle Regeln u v
gilt: u V und v V {}.
2. G heit vom Typ 2 oder kontextfrei, falls fr alle Regeln
u v gilt: u V .
3. G heit vom Typ 1 oder kontextsensitiv, falls fr alle Regeln
u v gilt: v u (mit Ausnahme der -Sonderregel, siehe
unten).
4. Jede Grammatik ist automatisch vom Typ 0.

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

-Sonderregel: In einer kontextsensitiven Grammatik G =


(V, , P, S) kann auch die verkrzende Regel S benutzt werden. Aber nur, wenn das Startsymbol S nicht auf der rechten Seite
einer Regel in P vorkommt.
Die Sprechweisen vom Typ i bzw. regulr, kontextfrei und kontextsensitiv werden auch auf die durch solche Grammatiken erzeugte
Sprachen angewandt. (Der folgende Satz rechtfertigt dies fr die regulren Sprachen, die wir bereits mit Hilfe von DFAs definiert haben.)
Die zugehrigen neuen Sprachklassen sind

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.

Satz 75. REG = {L(G) G ist eine regulre Grammatik}.


Beweis. Sei L REG und sei M = (Z, , , q0 , E) ein DFA mit
L(M ) = L. Wir konstruieren eine regulre Grammatik G = (V, , P, S)
mit L(G) = L. Setzen wir
V = Z,
S = q0 und
P = {q ap (q, a) = p} {q q E},

CFL = {L(G) G ist eine kontextfreie Grammatik},


(context free languages) und

so gilt fr alle Wrter x = x1 . . . xn :

CSL = {L(G) G ist eine kontextsensitive Grammatik}

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)

(context sensitive languages). Da die Klasse der Typ 0 Sprachen


mit der Klasse der rekursiv aufzhlbaren (recursively enumerable)
Sprachen bereinstimmt, bezeichnen wir diese Sprachklasse mit
RE = {L(G) G ist eine Grammatik}.
Die Sprachklassen
REG CFL CSL RE
26

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

ber die Grammatik G = ({A, B, C, D}, {a, b}, P , A) mit


P A aB, bC, ,
B aC, bA, bD,
C aA, bB, aD,
D

Z = V,
E = {A A G } und
(A, a) = {B A G aB}
zu erhalten. Genau wie oben folgt nun L(M ) = L(G).

auf den NFA

b
b
b

A
a

Beispiel 76. Der DFA

q0
1

0
1

0
q2

1
q3

b
a

D
a

q1

fhrt auf die Grammatik ({q0 , q1 , q2 , q3 }, {0, 1}, P, q0 ) mit


P q0 1q0 , 0q1 ,
q1 0q2 , 1q3 ,
q2 0q2 , 1q3 , ,
q3 0q1 , 1q0 , .
Umgekehrt fhrt die Grammatik G = ({A, B, C}, {a, b}, P, A) mit
P A aB, bC, ,
B aC, bA, b,
C aA, bB, a
27

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

G = ({S}, {a, b}, {S aSb, S }, S).

E = {A V A }
repeat
E = E
E = E {A V B1 , . . . , Bk E A B1 . . . Bk }
until E = E

Nun konstruieren wir G = (V, , P , S) wie folgt:


Nehme zu P alle Regeln A mit hinzu, fr
die P eine Regel A enthlt, so dass aus durch
Entfernen von beliebig vielen Variablen A E hervorgeht.

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:

REG CFL CSL.

Beispiel 78. Betrachte die Grammatik G = (V, , P, S) mit V =


{S, T, U, X, Y, Z}, = {a, b, c} und den Regeln

Kontextfreie Grammatiken sind dadurch charakterisiert, dass sie nur


Regeln der Form A haben. Dies lsst die Verwendung von beliebigen -Regeln der Form A zu. Eine kontextsensitive Grammatik
darf dagegen hchstens die -Regel S haben. Voraussetzung
hierfr ist, dass S das Startsymbol ist und dieses nicht auf der rechten Seite einer Regel vorkommt. Daher sind nicht alle kontextfreien Grammatiken kontextsensitiv. Beispielsweise ist die Grammatik
G = ({S}, {a, b}, {S aSb, S }, S) nicht kontextsensitiv, da sie
die Regel S enthlt, obwohl S auf der rechten Seite der Regel
S aSb vorkommt.
Es lsst sich jedoch zu jeder kontextfreien Grammatik eine quivalente kontextfreie Grammatik G konstruieren, die auch kontextsensitiv
ist. Hierzu zeigen wir zuerst, dass sich zu jeder kontextfreien Grammatik G, in der nicht das leere Wort ableitbar ist, eine quivalente
kontextfreie Grammatik G ohne -Regeln konstruieren lsst.

P S aY, bX, Z; Y bS, aY Y ; T U ;


X aS, bXX; Z , S, T, cZ; U abc.
Bei der Berechnung von E = {A V A } ergeben sich der Reihe
nach folgende Belegungen fr die Mengenvariablen E und E :
E {Z} {Z, S}
E {Z, S} {Z, S}
Um nun die Regelmenge P zu bilden, entfernen wir aus P die einzige
-Regel Z und fgen die Regeln X a (wegen X aS), Y b
(wegen Y bS) und Z c (wegen Z cZ) hinzu:
P S aY, bX, Z;
Y b, bS, aY Y ; T U ;
X a, aS, bXX; Z c, S, T, cZ; U abc.

Satz 77. Zu jeder kontextfreien Grammatik G gibt es eine kontextfreie


Grammatik G ohne -Produktionen mit L(G ) = L(G) {}.
28

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.

Offen bleibt zunchst, ob die kontextfreien Sprachen auch unter


Schnitt und Komplement abgeschlossen sind. Hierzu mssen wir fr
bestimmte Sprachen nachweisen, dass sie nicht kontextfrei sind. Dies
gelingt mit einem Pumping-Lemma fr kontextfreie Sprachen, fr
dessen Beweis wir Grammatiken in Chomsky-Normalform bentigen.

Korollar 79. REG CFL CSL RE.


Beweis. Die Inklusionen REG CFL und CSL RE sind klar. Wegen
{an bn n 0} CFL REG ist die Inklusion REG CFL auch echt. Also
ist nur noch die Inklusion CFL CSL zu zeigen. Nach obigem Satz
ex. zu L CFL eine kontextfreie Grammatik G = (V, , P, S) ohne
-Produktionen mit L(G) = L {}. Da G dann auch kontextsensitiv
ist, folgt hieraus im Fall / L unmittelbar L(G) = L CSL. Im Fall
L erzeugt die kontextsensitive Grammatik

Satz (Pumping-Lemma fr kontextfreie Sprachen).


Zu jeder kontextfreien Sprache L gibt es eine Zahl l, so dass sich alle
Wrter z L mit z l in z = uvwxy zerlegen lassen mit
1. vx =/ ,
2. vwx l und
3. uv i wxi y L fr alle i 0.

G = (V {S }, , P {S S, }, S )
die Sprache L(G ) = L, d.h. L CSL.

Beispiel 81. Betrachte die Sprache L = {an bn n 0}. Dann lsst


sich jedes Wort z = an bn mit z 2 pumpen: Zerlege z = uvwxy mit
u = an1 , v = a, w = , x = b und y = bn1 .

Als nchstes zeigen wir folgende Abschlusseigenschaften der kontextfreien Sprachen.


Satz 80. Die Klasse CFL ist abgeschlossen unter Vereinigung, Produkt
und Sternhlle.

Beispiel 82. Die Sprache {an bn cn n 0} ist nicht kontextfrei. Fr


eine vorgegebene Zahl l 0 hat nmlich z = al bl cl die Lnge z = 3l l.
Dieses Wort lsst sich aber nicht pumpen, da fr jede Zerlegung
z = uvwxy mit vx =/ und vwx l das Wort z = uv 2 wx2 y nicht zu
L gehrt:
Wegen vx =/ ist z < z .
Wegen vwx l kann in vx nicht jedes der drei Zeichen a, b, c
vorkommen.
Kommt aber in vx beispielsweise kein a vor, so ist

Beweis. Seien Gi = (Vi , , Pi , Si ), i = 1, 2, kontextfreie Grammatiken


fr die Sprachen L(Gi ) = Li mit V1 V2 = und sei S eine neue
Variable. Dann erzeugt die kontextfreie Grammatik
G3 = (V1 V2 {S}, , P1 P2 {S S1 , S2 }, S)
die Vereinigung L(G3 ) = L1 L2 . Die Grammatik
G4 = (V1 V2 {S}, , P1 P2 {S S1 S2 }, S)
erzeugt das Produkt L(G4 ) = L1 L2 und die Sternhlle (L1 ) wird von
der Grammatik

#a (z ) = #a (z) = l = z/3 < z /3,

G5 = (V1 {S}, , P1 {S S1 S, }, S)
erzeugt.

also kann z nicht zu L gehren.


29

3 Kontextfreie Sprachen

3.1 Chomsky-Normalform

Die Chomsky-Normalform ist auch Grundlage fr einen effizienten


Algorithmus zur Lsung des Wortproblems fr kontextfreie Grammatiken, das wie folgt definiert ist.

Nun entfernen wir sukzessive die restlichen Variablenumbenennungen,


indem wir
eine Regel A B whlen, so dass in P keine Variablenumbenennung B C mit B auf der rechten Seite existiert,
diese Regel A B aus P entfernen und
fr jede Regel B in P die Regel A zu P hinzunehmen.

Wortproblem fr kontextfreie Grammatiken:


Gegeben: Eine kontextfreie Grammatik G und ein Wort x.
Gefragt: Ist x L(G)?
Satz. Das Wortproblem fr kontextfreie Grammatiken ist effizient
entscheidbar.

Beispiel 86. Ausgehend von den Produktionen


P S aY, bX, Z;
Y b, bS, aY Y ; T U ;
X a, aS, bXX; Z c, S, T, cZ; U abc

3.1 Chomsky-Normalform

entfernen wir den Zyklus S Z S, indem wir die Regeln S Z


und Z S entfernen und dafr die Produktionen S c, T, cS (wegen
Z c, T, cZ) hinzunehmen:

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.

S aY, bX, c, T, cS; Y b, bS, aY Y ; T U ;


X a, aS, bXX;
U abc.

Um eine kontextfreie Grammatik in Chomsky-Normalform zu bringen,


mssen wir neben den -Regeln A auch smtliche Variablenumbenennungen A B loswerden.

Nun entfernen wir die Regel T U und fgen die Regel T abc
(wegen U abc) hinzu:

Definition 84. Regeln der Form A B heien Variablenumbenennungen.

S aY, bX, c, T, cS; Y b, bS, aY Y ; T abc;


X a, aS, bXX;
U abc.

Satz 85. Zu jeder kontextfreien Grammatik G ex. eine kontextfreie


Grammatik G ohne Variablenumbenennungen mit L(G ) = L(G).

Als nchstes entfernen wir dann auch die Regel S T und fgen die
Regel S abc (wegen T abc) hinzu:

Beweis. Zuerst entfernen wir sukzessive alle Zyklen

S abc, aY, bX, c, cS; Y b, bS, aY Y ; T abc;


X a, aS, bXX;
U abc.

A1 A2 Ak A1 ,

Da T und U nun nirgends mehr auf der rechten Seite vorkommen,


knnen wir die Regeln T abc und U abc weglassen:

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.

S abc, aY, bX, c, cS; Y b, bS, aY Y ; X a, aS, bXX.


30

3 Kontextfreie Sprachen

3.1 Chomsky-Normalform

Nach diesen Vorarbeiten ist es nun leicht, eine gegebene kontextfreie


Grammatik in Chomsky-Normalform umzuwandeln.

Eine interessante Frage ist, ob in einer kontextfreien Grammatik G


jedes Wort x L(G) eindeutig ableitbar ist. Es ist klar, dass in
diesem Kontext Ableitungen, die sich nur in der Reihenfolge der
Regelanwendungen unterscheiden, nicht als verschieden betrachtet
werden sollten. Dies erreichen wir dadurch, dass wir die Reihenfolge
der Regelanwendungen festlegen.

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

Definition 89. Sei G = (V, , P, S) eine kontextfreie Grammatik.


a) Eine Ableitung
0 = l0 A0 r0 l1 A1 r1 lm1 Am1 rm1 m .
heit Linksableitung von (kurz 0 L m ), falls in jedem
Ableitungsschritt die am weitesten links stehende Variable ersetzt
wird, d.h. es gilt li fr i = 0, . . . , m 1.
b) Rechtsableitungen 0 R m sind analog definiert.
c) G heit mehrdeutig, wenn es ein Wort x L(G) gibt, das
zwei verschiedene Linksableitungen S L x hat. Andernfalls
heit G eindeutig.

AB1 A1 , A1 B2 A2 , . . . , Ak3 Bk2 Ak2 , Ak2 Bk1 Bk ,


wobei A1 , . . . , Ak2 neue Variablen sind.

Beispiel 88. In der Produktionenmenge


P S abc, aY, bX, c, cS; X a, aS, bXX; Y b, bS, aY Y
ersetzen wir die Terminalsymbole a, b und c durch die Variablen A,
B und C (auer wenn sie alleine auf der rechten Seite einer Regel
vorkommen) und fgen die Regeln Aa, B b, C c hinzu:
S c, ABC, AY, BX, CS; X a, AS, BXX;

Offenbar gelten fr alle Wrter x folgende quivalenzen:

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 zeigen durch Induktion ber die Ableitungslnge l, dass jede in


G ableitbare Satzform {a, b, S} folgende Bedingungen erfllt.
() #a () = #b ()
() #a (u) #b (u) fr jedes Prfix u von .

S aSbS aaSbSbS aaSbbS aabbS aabb


S aSbS aaSbSbS aaSbbS aaSbb aabb
S aSbS aaSbSbS aabSbS aabbS aabb
S aSbS aaSbSbS aabSbS aabSb aabb
S aSbS aaSbSbS aaSbSb aabSb aabb
S aSbS aaSbSbS aaSbSb aaSbb aabb
S aSbS aSb aaSbSb aabSb aabb
S aSbS aSb aaSbSb aaSbb aabb.

l = 0: Klar, da = S beide Bedingungen erfllt.


l ; l + 1: Gelte S l .
Falls aus durch Anwendung der Regel S entsteht, ist
dies ebenfalls klar.
Entsteht aus durch die Regel S aSbS, so folgt
#a () = #a () + 1 = #b () + 1 = #b (), also (). Zudem
entspricht jedem Prfix u von ein Prfix u von mit
#a (u) #b (u) #a (u ) #b (u ), wodurch sich () von
auf bertrgt.

Darunter sind genau eine Links- und genau eine Rechtsableitung:


S L aSbS L aaSbSbS L aabSbS L aabbS L aabb
und
S R aSbS R aSb R aaSbSb R aaSbb R aabb.
Die Grammatik G ist eindeutig. Dies liegt daran, dass in keiner Satzform von G die Variable S von einem a gefolgt wird. Daher muss
jede Linksableitung eines Wortes x L(G) die am weitesten links
stehende Variable der aktuellen Satzform S genau dann nach aSbS
expandieren, falls das Prfix in x von einem a gefolgt wird.
Dagegen ist die Grammatik G = ({S}, {a, b}, {S aSbS, ab, }, S)
mehrdeutig, da das Wort x = ab zwei verschiedene Linksableitungen
hat:
S L ab und S L aSbS L abS L ab.

Tatschlich sind in G genau die Wrter x {a, b} ableitbar, die die


Bedingungen (, ) erfllen.
Dazu zeigen wir durch Induktion ber n folgende Behauptung.
Behauptung 91. Alle Wrter x {a, b} der Lnge n, die die
Bedingungen (, ) erfllen, sind in G ableitbar.
n = 0: Klar, da x = aus S ableitbar ist.
n ; n+1: Sei x ein Wort der Lnge n+1, das die Bedingungen (, )
erfllt und sei u das krzeste Prfix von x mit #a (u) = #b (u) > 1.
Dann muss u die Form u = avb haben, wobei v die Bedingungen
(, ) erfllt. Nach IV gilt daher S v.
Zudem hat x die Form x = uw, wobei auch w die Bedingungen
(, ) erfllt. Nach IV gilt daher S w.
Nun ist x aus S wie folgt ableitbar: S aSbS avbS =
uS uw = x.

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.

Ableitungen in einer kontextfreien Grammatik lassen sich graphisch


sehr gut durch einen Syntaxbaum (auch Ableitungsbaum genannt,
engl. parse tree) veranschaulichen.
32

3 Kontextfreie Sprachen

3.2 Das Pumping-Lemma fr kontextfreie Sprachen

Definition 92. Sei G = (V, E) ein Digraph.


Ein v0 -vk -Weg in G ist eine Folge von Knoten v0 , . . . , vk mit
(vi , vi+1 ) E fr i = 0, . . . , k 1. Seine Lnge ist k.
Ein Weg heit einfach oder Pfad, falls alle seine Knoten paarweise verschieden sind.
Ein u-v-Weg der Lnge 1 mit u = v heit Zyklus.
G heit azyklisch, wenn es in G keinen Zyklus gibt.
G heit gerichteter Wald, wenn G azyklisch ist und jeder
Knoten v V Eingangsgrad deg (v) 1 hat.
Ein Knoten u V vom Ausgangsgrad deg+ (u) = 0 heit Blatt.
Ein Knoten w V heit Wurzel von G, falls alle Knoten v V
von w aus erreichbar sind (d.h. es gibt einen w-v-Weg in G).
Ein gerichteter Wald, der eine Wurzel hat, heit gerichteter Baum.
Da die Kantenrichtungen durch die Wahl der Wurzel eindeutig
bestimmt sind, kann auf ihre Angabe verzichtet werden. Man
spricht dann auch von einem Wurzelbaum.

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).

Definition 93. Wir ordnen einer Ableitung


A0 l1 A1 r1 lm1 Am1 rm1 m .
den Syntaxbaum Tm zu, wobei die Bume T0 , . . . , Tm induktiv wie folgt
definiert sind:
T0 besteht aus einem einzigen Knoten, der mit A0 markiert ist.
Wird im (i + 1)-ten Ableitungsschritt die Regel Ai v1 . . . vk
mit vj V fr j = 1, . . . , k angewandt, so ensteht Ti+1 aus
Ti , indem wir das Blatt Ai in Ti durch folgenden Unterbaum
ersetzen:
k > 0 Ai
k = 0 Ai
v1 vk

T2 : S

3.2 Das Pumping-Lemma fr kontextfreie


Sprachen
In diesem Abschnitt beweisen wir das Pumping-Lemma fr kontextfreie Sprachen. Dabei nutzen wir die Tatsache aus, dass die Syntaxbume einer CNF-Grammatik Binrbume sind.

33

3 Kontextfreie Sprachen

3.2 Das Pumping-Lemma fr kontextfreie Sprachen

Definition 96. Die Tiefe eines Baumes mit Wurzel w ist die maximale Pfadlnge von w zu einem Blatt.

dass zuerst alle Regeln der Form A BC und


danach die Regeln der Form A a zur Anwendung kommen. Dann besteht die Satzform
Tn1
n1 aus n Variablen und der Syntaxbaum Tn1
hat ebenfalls n Bltter. Setzen wir l = 2k , wobei
k = V ist, so hat Tn1 im Fall n l mindestens
l = 2k > 2k1 Bltter und daher mindestens die
Tiefe k. Sei ein von der Wurzel ausgehender

Pfad maximaler Lnge in Tn1 . Dann hat die


A
Lnge k und unter den letzten k + 1 Knoten
A
von mssen zwei mit derselben Variablen A
markiert sein.

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:

Lemma 97. Ein Binrbaum B der Tiefe k hat hchstens 2k Bltter.


Beweis. Wir fhren den Beweis durch Induktion ber k.
k = 0: Ein Baum der Tiefe 0 kann nur einen Knoten haben.
k ; k + 1: Sei B ein Binrbaum der Tiefe k + 1. Dann hngen an Bs
Wurzel maximal zwei Teilbume. Da deren Tiefe k ist, haben sie
nach IV hchstens 2k Bltter. Also hat B 2k+1 Bltter.

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.

Satz 99 (Pumping-Lemma fr kontextfreie Sprachen).


Zu jeder kontextfreien Sprache L gibt es eine Zahl l, so dass sich alle
Wrter z L mit z l in z = uvwxy zerlegen lassen mit
1. vx =/ ,
2. vwx l und
3. uv i wxi y L fr alle i 0.
Beweis. Sei G = (V, , P, S) eine CNF-Grammatik fr L {}. Dann
gibt es in G fr jedes Wort z = z1 . . . zn L mit n 1, eine Ableitung
S
S = 0 1 m = z.
T2n1

B0

B1
U

Da G in CNF ist, werden hierbei n 1 Regeln


der Form A BC und n Regeln der Form
A a angewandt, d.h. m = 2n 1 und z hat
den Syntaxbaum T2n1 . Wir knnen annehmen,

B2

v
v

34

U
U

x
x

3 Kontextfreie Sprachen

3.3 Der CYK-Algorithmus

B 0 entsteht also aus B 1 = T2n1 , indem wir U durch U ersetzen,


und B i+1 entsteht aus B i , indem wir U durch U ersetzen.

Beweis. Seien eine Grammatik G = (V, , P, S) und ein Wort x =


x1 . . . xn gegeben. Falls x = ist, knnen wir effizient prfen, ob S
gilt. Andernfalls transformieren wir G in eine CNF-Grammatik G fr
die Sprache L(G) {}. Chomsky-Normalform. Es lsst sich leicht
verifizieren, dass die ntigen Umformungsschritte effizient ausfhrbar
sind. Nun setzen wir den CYK-Algorithmus auf das Paar (G , x) an,
der die Zugehrigkeit von x zu L(G ) wie folgt entscheidet.
Bestimme fr l = 1, . . . , n und k = 1, . . . , n l + 1 die Menge

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}

Vl,k (x) = {A V A xk . . . xk+l1 }

sind kontextfrei. Nicht jedoch L1 L2 = {an bn cn n 0}. Also ist CFL


nicht unter Schnitt abgeschlossen.
Da CFL zwar unter Vereinigung aber nicht unter Schnitt abgeschlossen ist, kann CFL wegen de Morgan nicht unter Komplementbildung
abgeschlossen sein.

aller Variablen, aus denen das mit xk beginnende Teilwort xk . . . xk+l1


von x der Lnge l ableitbar ist. Dann gilt offensichtlich x L(G )
S Vn,1 (x).
Fr l = 1 ist
V1,k (x) = {A V A xk }
und fr l = 2, . . . , n ist
Vl,k (x) = {A V l < l B Vl ,k (x) C Vll ,k+l (x): A BC}.

3.3 Der CYK-Algorithmus

Eine Variable A gehrt also genau dann zu Vl,k (x), l 2, falls


eine Zahl l {1, . . . , l 1} und
eine Regel A BC existieren,
so dass B Vl ,k (x) und C
Vll ,k+l (x) sind.

In diesem Abschnitt stellen wir den bereits angekndigten effizienten


Algorithmus zur Lsung des Wortproblems fr kontextfreie Grammatiken vor.
Wortproblem fr kontextfreie Grammatiken:
Gegeben: Eine kontextfreie Grammatik G und ein Wort x.
Gefragt: Ist x L(G)?

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

Satz 101. Das Wortproblem fr kontextfreie Grammatiken ist effizient entscheidbar.

6
7

35

Input: CNFGrammatik G = (V, , P, S) und ein Wort x = x1 . . . xn


for k = 1 to n do
V1,k = {A V A xk P }
for l = 2 to n do
for k = 1 to n l + 1 do
Vl,k =
for l = 1 to l 1 do

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,

Der CYK-Algorithmus lsst sich leicht dahingehend modifizieren, dass


er im Fall x L(G) auch einen Syntaxbaum T von x ausgibt. Hierzu
gengt es, zu jeder Variablen A in Vl,k den Wert von l und die Regel
A BC zu speichern, die zur Aufnahme von A in Vl,k gefhrt haben.
Im Fall S Vn,1 (x) lsst sich dann mithilfe dieser Information leicht
ein Syntaxbaum T von x konstruieren.
Beispiel 102. Betrachte die CNF-Grammatik mit den Produktionen
S AS , AY, BX, CS, c;

S BC;

X AS, BX , a;

Y BS, AY , b; Y Y Y ; Aa; B b; C c.

kann -bergnge machen,

X XX;

liest in jedem Schritt das aktuelle


Eingabezeichen und das oberste
Kellersymbol,

Dann erhalten wir fr das Wort x = abb folgende Mengen Vl,k :

kann das oberste Kellersymbol


entfernen (durch eine pop-Operation) und

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 #

durch beliebig viele Symbole ersetzen (durch eine push-Operation).

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

Wenn q der momentane Zustand, A das oberste Kellerzeichen und


u das nchste Eingabezeichen (bzw. u = ) ist, so kann M im Fall
(p, B1 . . . Bk ) (q, u, A)
in den Zustand p wechseln,
den Lesekopf auf dem Eingabeband um u Positionen vorrcken
und
das Zeichen A im Keller durch die Zeichenfolge B1 . . . Bk ersetzen.
Hierfr sagen wir auch, M fhrt die Anweisung quA pB1 . . . Bk
aus. Da im Fall u = kein Eingabezeichen gelesen wird, spricht man
auch von einem spontanen bergang (oder -bergang). Eine
Konfiguration wird durch ein Tripel

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.

L(M ) = {x p Z (q0 , x, #) (p, , )}.

Beispiel 104. Sei M = (Z, , , , q, #) ein PDA mit Z = {q, p},


= {a, b}, = {A, #} und den Anweisungen
q# q
(1)
qaA qAA (3)
pbA p
(5)

#, (1)
a#, A (2)
aA, AA (3)

qa# qA (2)
qbA p (4)

bA, (5)

bA, (4)

Dann akzeptiert M die Eingabe aabb:

K = (q, xi . . . xn , A1 . . . Al ) Z

(q, aabb, #) (q, abb, A) (q, bb, AA) (p, b, A) (p, , ).

beschrieben und besagt, dass


q der momentane Zustand,
xi . . . xn der ungelesene Rest der Eingabe und
A1 . . . Al der aktuelle Kellerinhalt ist (A1 steht oben).
Eine Anweisung quA1 pB1 . . . Bk (mit u {, xi }) berfhrt die
Konfiguration K in die Folgekonfiguration

Allgemeiner akzeptiert M das Wort x = an bn mit folgender Rechnung:


n = 0: (q, , #) (p, , ).

(2)

(3)

(4)

(5)

(1)

n 1:

(q, an bn , #)

(q, an1 bn , A) n1 (q, bn , An )


(2)

(3)

(p, bn1 , An1 ) n1 (p, , ).


(4)

{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

Falls die akzeptierende Rechnung mit Anweisung (2) beginnt, muss


x1 = a sein. Danach ist nur Anweisung (3) ausfhrbar, bis M das
erste b liest:

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:

(q, x1 . . . xn , #) (q, x2 . . . xn , A) m1 (q, xm+1 . . . xn , Am )


(2)

(p, xm+2 . . . xn

(3)

(p, x, A) (p , , ) gdw. XpAp x.

, Am1 )

()

mit x1 = x2 = = xm = a und xm+1 = b. Damit M den Keller leeren


kann, mssen jetzt noch genau m 1 bs kommen, weshalb x auch in
diesem Fall die Form am bm hat.

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.

Fr jede Zustandsfolge p1 , . . . , pk : XpApk uXp0 A1 p1 . . . Xpk1 Ak pk .

(4)

Um damit alle Wrter x L(M ) aus S ableiten zu knnen, bentigen


wir jetzt nur noch fr jeden Zustand p Z die Regel S Xq0 #p . Die
Variablenmenge von G ist also

Satz 105. CFL = {L(M ) M ist ein PDA}.


Beweis. Wir zeigen zuerst die Inklusion von links nach rechts.
Idee: Konstruiere zu einer kontextfreien Grammatik G = (V, , P, S)
einen PDA M = ({q}, , , , q0 , S) mit = V , so dass gilt:

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

S L x1 . . . xn gdw. (q, x1 . . . xn , S) (q, , ).


Hierzu fgen wir fr jede Regel A G in P die Anweisung qA q
und fr jedes a die Anweisung qaa q zu hinzu.
M berechnet also nichtdeterministisch eine Linksableitung fr die
Eingabe x. Da M hierbei den Syntaxbaum von oben nach unten
aufbaut, wird M als Top-Down Parser bezeichnet. Nun ist leicht zu
sehen, dass sogar folgende quivalenz gilt:

x L(M ) (q0 , x, #) (p , , ) fr ein p Z


S Xq0 #p x fr ein p Z
x L(G).

S lL x1 . . . xn gdw. (q, x1 . . . xn , S) l+n (q, , ).

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 ).

(p, x, A) m (p , , ) gdw. XpAp m x.


38

()

3 Kontextfreie Sprachen

3.4 Kellerautomaten

m = 0: Da sowohl (p, x, A) 0 (p , , ) als auch XpAp 0 x falsch


sind, ist die quivalenz () fr m = 0 erfllt.
m;m + 1: Wir zeigen zuerst die Implikation von links nach rechts.
Fr eine gegebene Rechnung

Wegen XpAp G gibt es eine Anweisung puA p0 A1 . . . Ak ,


k 0, und Zustnde p1 , . . . , pk Z mit
= u Xp0 A1 p1 . . . Xpk1 Ak pk ,
wobei pk = p ist. Wegen m x ex. eine Zerlegung x = uu1 . . . uk
und Zahlen mi 1 mit m1 + + mk = m und

(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

Beispiel 106. Sei G = ({S}, {a, b}, P, S) mit

uXp0 A1 p1 . . . Xpk2 Ak1 pk1 Xpk1 Ak pk


uu1 Xp1 A2 p2 . . . Xpk2 Ak1 pk1 Xpk1 Ak pk

P S aSbS, (1) S a. (2)


Der zugehrige PDA besitzt dann die Anweisungen

uu1 . . . uk1 Xpk1 Ak pk


uu1 . . . uk = x.

: qaa q,
(0)
qS qaSbS, (1 )

Zuletzt zeigen wir den Induktionsschritt fr die Implikation von


rechts nach links von (). Gelte also umgekehrt XpAp m+1 x
und sei die im ersten Schritt abgeleitete Satzform, d.h.

qbb q, (0 )
qS qa. (2 )

Der Linksableitung
S aSbS aabS aaba

XpAp m x.

(1)

39

(2)

(2)

3 Kontextfreie Sprachen

3.5 Deterministisch kontextfreie Sprachen

in G entspricht beispielsweise die akzeptierende Rechnung


(q, aaba, S) (q, aaba, aSbS) (q, aba, SbS)
(1 )

Der akzeptierenden Rechnung

(0)

(q, aba, abS)

(2 )

(q, ba, bS)

(p, aabb, #) (p, abb, A) (p, bb, AA) (q, b, A) (q, , )

(0)

(2)

(q, a, S) (q, a, a) (q, , )

(0 )

(2 )

(0 )

p# q, (1) paA pAA, (3) qbA q. (5)


pa# pA, (2) pbA q, (4)

die folgenden Produktionen:

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 )

Definition 108. Ein Kellerautomat heit deterministisch, falls


eine rechtseindeutige Relation ist:

S Xp#p , Xp#q (0, 0 )

paA pAA (3)

Von besonderem Interesse sind kontextfreie Sprachen, die von einem


deterministischen Kellerautomaten erkannt werden knnen.

Die Regelmenge P enthlt neben den beiden Startregeln

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

3.5 Deterministisch kontextfreie Sprachen

V = {S, Xp#p , Xp#q , Xq#p , Xq#q , XpAp , XpAq , XqAp , XqAq }.

p
q
p, p
p, q
q, p
q, q
-

(2 )

in G und umgekehrt.

Dann erhalten wir die Grammatik G = (V, , P, S) mit der Variablenmenge

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)

von M entspricht dann die Ableitung

(0)

von M und umgekehrt.

p# q
pa# pA

(3)

quivalent hierzu ist, dass die berfhrungsfunktion fr alle


(q, a, A) Z folgende Bedingung erfllt (siehe bungen):

(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

3.5 Deterministisch 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

L(M ) = {x p E, (q0 , x, #) (p, , )}.

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.

Man beachte, dass jedes Tabellenfeld hchstens eine Anweisung enthlt


und jede Spalte, die einen -Eintrag in der ersten Zeile hat, sonst
keine weiteren Eintrge enthlt. Daher ist fr alle (q, a, A) Z
die Bedingung
(q, a, A) + (q, , A) 1
erfllt.

Die Klasse der deterministisch kontextfreien Sprachen ist definiert durch


DCFL = {L(M )M ist ein DPDA}.

Die Klasse der deterministisch kontextfreien Sprachen lsst sich auch


mit Hilfe von speziellen kontextfreien Grammatiken charakterisieren,
den so genannten LR(k)-Grammatiken.
Der erste Buchstabe L steht fr die Leserichtung bei der Syntaxanalyse, d.h. das Eingabewort x wird von links (nach rechts) gelesen.
Der zweite Buchstabe R bedeutet, dass bei der Syntaxanalyse eine
Rechtsableitung entsteht. Schlielich gibt der Parameter k an, wieviele
Zeichen man ber das aktuelle Eingabezeichen hinauslesen muss, damit der nchste Schritt eindeutig feststeht (k wird auch als Lookahead
bezeichnet).
Durch LR(0)-Grammatiken lassen sich nur die prfixfreien Sprachen
in DCFL erzeugen. Dagegen erzeugen die LR(k)-Grammatiken fr
jedes k 1 genau die Sprachen in DCFL.
Daneben gibt es noch LL(k)-Grammatiken, die fr wachsendes k
immer mehr deterministisch kontextfreie Sprachen erzeugen.

Verlangen wir von einem deterministischen Kellerautomaten, dass er


seine Eingabe durch Leeren des Kellers akzeptiert, so knnen nicht
alle regulren Sprachen von deterministischen Kellerautomaten erkannt werden. Um beispielsweise die Sprache L = {a, aa} zu erkennen,
muss der Keller von M nach Lesen von a geleert werden. Daher ist
es M nicht mehr mglich, die Eingabe aa zu akzeptieren. Deterministische Kellerautomaten knnen also durch Leeren des Kellers nur
prfixfreie Sprachen L akzeptieren (d.h. kein Wort x L ist Prfix
eines anderen Wortes in L).
Wir knnen das Problem aber einfach dadurch lsen, dass wir deterministischen Kellerautomaten erlauben, ihre Eingabe durch Erreichen
eines Endzustands zu akzeptieren.
Definition 110.
41

3 Kontextfreie Sprachen

3.5 Deterministisch kontextfreie Sprachen


(c) raA rA,

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.

Als nchstes verhindern wir die Ausfhrung einer unendlichen Folge


von -bergngen. Dabei unterscheiden wir die beiden Flle, ob M
hierbei auch Endzustnde besucht oder nicht. Falls ja, sehen wir einen
Umweg ber den neuen Endzustand t vor.

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.

Schlielich bernehmen wir von M die folgenden Anweisungen:


(f)

alle Anweisungen aus , soweit sie nicht durch Anweisungen


vom Typ (d) oder (e) berschrieben wurden.

Zusammenfassend transformieren wir M in den DPDA


M = (Z {r, s, t}, , , , s, #, E {t})
mit = {}, wobei die unter (a) bis (f) genannten Anweisungen
enthlt.

(dabei sei s der neue Startzustand).


Beispiel 112. Wenden wir diese Konstruktion auf den DPDA

Die zweite Ursache schlieen wir durch Hinzunahme eines Fehlerzustands r sowie folgender Anweisungen aus (hierbei ist = {}):
(b) qaA rA,

fr alle a und A .

M = ({q0 , q1 , q2 }, {a, b, c}, {A, B, #}, , q0 , #, {q2 })

fr alle (q, a, A) Z mit A = oder


(q, a, A) = (q, , A) = ,

mit der berfhrungsfunktion


42

3 Kontextfreie Sprachen

3.5 Deterministisch 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 #

an, so erhalten wir den DPDA

(q0 , 1), q0 / E,
s=

(q0 , 2), sonst,

M = ({q0 , q1 , q2 , r, s, t}, {a, b, c}, {A, B, #, }, , s, #, {q2 , t})

mit folgender berfhrungsfunktion :

indem wir zu fr jede Anweisung qA M p die Anweisungen

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 )

(f ) (b) (f ) (f, b)(f, b) (b) (e) (b) (b) (b)

s, #

s, B s, r, # r, A r, B r, t, # t, A t, B t,

q0 #
a

Typ (a)

s, A

(q, 1)A (p, 1), falls p / E,


(q, 1)A (p, 2), falls p E und
(q, 2)A (p, 2),

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)

sowie fr jede Anweisung qaA M p die Anweisungen


(q, 1)A (q, 3)A,
(q, 2)aA (p, 1),
(q, 2)aA (p, 2),
(q, 3)aA (p, 1),
(q, 3)aA (p, 2),

falls
falls
falls
falls

p / E,
p E,
p / E und
p E.

hinzufgen.

Eine ntzliche Eigenschaft von M ist, dass M in einem Endzustand


keine -bergnge macht.

Satz 113. Die Klasse DCFL ist unter Komplement abgeschlossen, d.h.
es gilt DCFL = co-DCFL.

Beispiel 114. Angenommen, ein DPDA M = (Z, , , , q0 , #, E)


fhrt bei der Eingabe x = a folgende Rechnung aus:

Beweis. Sei M = (Z, , , , q0 , #, E) ein DPDA, der alle Eingaben


zu Ende liest, und sei L(M ) = L. Wir konstruieren einen DPDA M
fr L.

(q0 , a, #) (q1 , , 1 ) (q2 , , 2 ).


43

3 Kontextfreie Sprachen

3.5 Deterministisch kontextfreie Sprachen

Dann wrde M im Fall E = {q0 , q2 } (d.h. x L(M )) die Rechnung

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

((q0 , 2), a, #) ((q1 , 1), , 1 ) ((q2 , 2), , 2 )


ausfhren. Da (q1 , 1), (q2 , 2) / Z {3} sind, verwirft also M das Wort
a. Dagegen wrde M im Fall E = {q0 } (d.h. x / L(M )) die Rechnung

0L = 0L3 0L4 / DCFL,


da sich ein DPDA M = (Z, , , , q0 , #, E) fr 0L leicht zu einem
DPDA fr L umbauen liee. Sei nmlich (p, , ) die Konfiguration,
die M nach Lesen der Eingabe 0 erreicht. Dann erkennt der DPDA M = (Z {s}, , , , s, #, E) die Sprache L, wobei wie folgt
definiert ist:

(q, u, A) = (s, , #),


(p, ),

(q, u, A) =

(q, u, A), (q, u, A) Z ( {}) .

((q0 , 2), a, #) ((q1 , 1), , 1 ) ((q2 , 1), , 2 ) ((q2 , 3), , 2 )


ausfhren. Da (q2 , 3) Z {3} ein Endzustand von M ist, wrde M
nun also das Wort a akzeptieren.

Satz 115. Die Klasse DCFL ist nicht abgeschlossen unter Schnitt,
Vereinigung, Produkt und Sternhlle.
Beweis. Die beiden Sprachen

Es ist leicht zu sehen, dass die beiden Sprachen {, 0} und L5 = L3 0L4


in DCFL sind (siehe bungen). Ihr Produkt {, 0}L5 = L5 0L5 =
L3 0L4 0L3 00L4 gehrt aber nicht zu DCFL. Da DCFL unter
Schnitt mit regulren Sprachen abgeschlossen ist (siehe bungen),
wre andernfalls auch

L1 = {an bm cm n, m 0} und L2 = {an bn cm n, m 0}


sind deterministisch kontextfrei (siehe bungen). Da der Schnitt
L1 L2 = {an bn cn n 0} nicht kontextfrei ist, liegt er auch nicht in
DCFL, also ist DCFL nicht unter Schnitt abgeschlossen.
Da DCFL unter Komplementbildung abgeschlossen ist, kann DCFL
wegen de Morgan dann auch nicht unter Vereinigung abgeschlossen
sein. Beispielsweise sind folgende Sprachen deterministisch kontextfrei:

{, 0}L5 L(0a b c ) = 0L3 0L4

Dass DCFL auch nicht unter Sternhllenbildung abgeschlossen ist,


lsst sich ganz hnlich zeigen (siehe bungen). Wir fassen die bewiesenen Abschlusseigenschaften der Klassen REG, DCFL und CFL in
folgender Tabelle zusammen:

L3 = {a b c i =/ j} und L4 = {a b c j =/ k}.
i j k

in DCFL, was wir bereits ausgeschlossen haben.

i j k

Ihre Vereinigung L3 L4 = {ai b j ck i =/ j oder j =/ k} gehrt aber nicht


zu DCFL, d.h. L3 L4 CFL DCFL. DCFL ist nmlich unter Schnitt
mit regulren Sprachen abgeschlossen (siehe bungen). Daher wre
mit L3 L4 auch die Sprache

Vereinigung Schnitt Komplement Produkt Sternhlle


REG
DCFL
CFL

(L3 L4 ) L(a b c ) = {an bn cn n 0}


(deterministisch) kontextfrei.
44

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

ihrer Rechnung kann sie den


x1 xi xn
Schreib-Lese-Kopf auf dem
Band in beide Richtungen bewegen und dabei die besuchten Bandfelder lesen sowie geSteuerlesenen Zeichen gegebenenfalls
einheit
berschreiben.
Es gibt mehrere Arten von Turingmaschinen (u.a. mit einseitig unendlichem Band oder mit mehreren Schreib-Lese-Kpfen auf dem Band).
Wir verwenden folgende Variante der Mehrband-Turingmaschine.

4.1 Kontextsensitive Grammatiken


Zur Erinnerung: Eine Grammatik G = (V, , P, S) heit kontextsensitiv, falls fr alle Regeln gilt: . Als einzige Ausnahme
hiervon ist die Regel S erlaubt. Allerdings nur dann, wenn das
Startsymbol S nicht auf der rechten Seite einer Regel vorkommt.
Das nchste Beispiel zeigt, dass die Sprache L = {an bn cn n 0} von einer kontextsensitiven Grammatik erzeugt wird. Da L nicht kontextfrei
ist, ist also die Klasse CFL echt in der Klasse CSL enthalten.
Beispiel 116. Betrachte die kontextsensitive Grammatik G =
(V, , P, S) mit V = {S, B}, = {a, b, c} und den Regeln
P : S aSBc, abc (1, 2) cB Bc (3) bB bb (4)
In G lt sich beispielsweise das Wort w = aabbcc ableiten:
S aSBc aabcBc aabBcc aabbcc
(1)

(2)

(3)

Definition 117. Sei k 1.


a) Eine nichtdeterministische k-Band-Turingmaschine
(kurz k-NTM oder einfach NTM) wird durch ein 6-Tupel
M = (Z, , , , q0 , E) beschrieben, wobei

(4)

Allgemein gilt fr alle n 1:


S n1 an1 S(Bc)n1 an bc(Bc)n1 ( 2 ) an bB n1 cn n1 an bn cn
n

(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 , , , , . . . , , , ),

Z eine endliche Menge von Zustnden,


das Eingabealphabet (wobei ),
das Arbeitsalphabet (wobei {} ),
: Z k P(Z k {L, R, N }k ) die berfhrungsfunktion,
q0 der Startzustand und
E Z die Menge der Endzustnde ist.
b) Eine k-NTM M heit deterministisch (kurz: M ist eine kDTM oder einfach DTM), falls fr alle (q, a1 , . . . ak ) Z k
die Ungleichung (q, a1 , . . . ak ) 1 gilt.

c) Eine Konfiguration K = (q, u1 , a1 , v1 , . . . , uk , ak , vk ) heit Folgekonfiguration von K = (p, u1 , a1 , v1 , . . . , uk , ak , vk ) (kurz


K K ), falls eine Anweisung

Fr (q , a1 , . . . , ak , D1 , . . . , Dk ) (q, a1 , . . . ak ) schreiben wir auch

(q, a1 , . . . , ak ) (q , b1 , . . . , bk , D1 , . . . , Dk )

(q, a1 , . . . , ak ) (q , a1 , . . . , ak , D1 , . . . , Dk ).

existiert, so dass fr i = 1, . . . , k gilt:

Eine solche Anweisung ist ausfhrbar, falls


q der aktuelle Zustand von M ist und
sich fr i = 1, . . . , k der Lesekopf des i-ten Bandes auf einem mit
ai beschrifteten Feld befindet.
Ihre Ausfhrung bewirkt, dass M
vom Zustand q in den Zustand q bergeht,
auf Band i das Symbol ai durch ai ersetzt und
den Kopf gem Di bewegt (L: ein Feld nach links, R: ein Feld
nach rechts, N: keine Bewegung).

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 .

Definition 118. Sei M = (Z, , , , q0 , E) eine k-NTM.


a) Eine Konfiguration von M ist ein (3k + 1)-Tupel

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 .

Man beachte, dass sich die Lnge der Bandinschrift ui ai vi beim


bergang von K zu K genau dann um 1 erhht, wenn in K
zum ersten Mal ein neues Feld auf dem i-ten Band besucht wird.
Andernfalls bleibt die Lnge von ui ai vi unverndert. Die Lnge
von ui ai vi entspricht also genau der Anzahl der auf dem i-ten
Band besuchten Felder (inkl. Eingabezeichen im Fall i = 1).

K = (q, u1 , a1 , v1 , . . . , uk , ak , vk ) Z ( )
und besagt, dass
q der momentane Zustand ist und

46

4 Kontextsensitive Sprachen

4.3 Linear beschrnkte Automaten


hnlich lt sich an bn L(M ) fr ein beliebiges n 1 zeigen. Andererseits fhrt die Eingabe abb auf die Rechnung

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

q0 abb Aq1 bb q2 ABb Aq0 Bb ABq3 b,

L(M ) = {x K E ( )k Kx K}.

(1)

Beispiel 119. Betrachte die 1-DTM M = (Z, , , , q0 , E) mit


Z = {q0 , . . . q4 }, = {a, b}, = {A, B, }, E = {q4 }, wobei
folgende Anweisungen emthlt:

q1 a q1 aR (2) Bewege den Kopf nach rechts bis zum ersten b


q1 B q1 BR (3) und ersetze dies durch ein B (falls kein b mehr
q1 b q2 BL (4) vorhanden ist, dann halte ohne zu akzeptieren).
q2 a q2 aL (5) Bewege den Kopf zurck nach links bis ein A
q2 B q2 BL (6) kommt, gehe wieder ein Feld nach rechts und wieq2 A q0 AR (7) derhole die Schleife.
q0 B q3 BR (8) Falls kein a am Anfang der Schleife, dann teste,
q3 B q3 BR (9) ob noch ein b vorhanden ist. Wenn ja, dann halte
q3 q4 N (10) ohne zu akzeptieren. Andernfalls akzeptiere.

4.3 Linear beschrnkte Automaten


Eine 1-NTM M , die bei keiner Eingabe x , deren letztes Zeichen
markiert ist, den Bereich der Eingabe verlsst, wird als LBA (linear
beschrnkter Automat) bezeichnet. Ein LBA
darf also bei Eingaben der Lnge n > 0
x1

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

Dann fhrt M bei Eingabe aabb folgende Rechnung aus:


Aaq1 bb Aq2 aBb
(2)

(4)

q2 AaBb

Aq0 aBb AAq1 Bb

(5)

(7)

(1)

AABq1 b AAq2 BB Aq2 ABB


(3)

(4)

(6)

AAq0 BB AABq3 B AABBq3 AABBq4


(7)

(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.

q0 a q1 AR (1) Anfang der Schleife: Ersetze das erste a durch A.

(1)

(7)

die nicht weiter fortsetzbar ist. Da M deterministisch ist, kann M (abb)


auch nicht durch eine andere Rechnung den Endzustand q4 erreichen.
D.h. abb gehrt nicht zu L(M ). Tatschlich lsst sich durch Betrachtung der brigen Flle (x = an bm , n > m, x = an bm ak , m, k 1, etc.)
zeigen, dass M nur Eingaben der Form an bn akzeptiert, und somit
L(M ) = {an bn n 1} ist.

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.

q0 aabb Aq1 abb

(4)

(10)

47

4 Kontextsensitive Sprachen

4.3 Linear beschrnkte Automaten


in einen DLBA M fr die Sprache {an bn n 1} umzuwandeln.
Ersetze hierzu
= {a, b, a
durch
, b},
{A, B, B,
} sowie
durch =
q4 BN
(10 )
die Anweisung q3 q4 N (10) durch q3 B
(4a) und q0 B
q4 BN
(8a)
und fge die Anweisungen q1b q2 BL

hinzu. Dann erhalten wir den DLBA M = (Z, , , , q0 , E) mit der


berfhrungsfunktion

Konstante c) Bandfelder besucht, von einem LBA simuliert werden


kann.
In diesem Abschnitt zeigen wir, dass LBAs genau die kontextsensitiven
Sprachen erkennen.
Definition 120.
a) Fr ein Alphabet und ein Wort x = x1 . . . xn bezeichne x
das Wort

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

, , q0 , E) heit linear beschrnkt


b) Eine 1-NTM M = (Z, ,
(kurz: M ist ein LBA), falls M bei jeder Eingabe x der Lnge
n hchstens max{n, 1} Bandfelder besucht:

(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:

x Kx uqav uav max{x, 1}.


c) Die von einem LBA akzeptierte oder erkannte Sprache ist

q0 aabb Aq1 abb

L(M ) = {x M (
x) akzeptiert}.

(1)
(7)

(3)

AAq2 B B
(4a)

(7)

(8)

(10 )

Der DLBA M fr die Sprache A = {an bn n 1} aus dem letzten


Beispiel lsst sich leicht in einen DLBA fr die Sprache B = {an bn cn
n 1} transformieren (siehe bungen), d.h. B DCSL CFL. Die
Inklusion von CFL in DCSL wird in den bungen gezeigt.
Als nchstes beweisen wir, dass LBAs genau die kontextsensitiven
Sprachen erkennen.

Beispiel 121. Es ist nicht schwer, die 1-DTM M = (Z, , , , q0 , E)


aus Beispiel 119 mit der berfhrungsfunktion
q2 a q2 aL
q2 Bq2 BL
q2 Aq0 AR
q0 Bq3 BR

(1)

q2 AaBb

AAq0 B B
AABq3 B
AABq4 B

Aq2 AB B

(6)

DCSL = {L(M ) M ist ein DLBA}.

(1)
(2)
(3)
(4)

(5)

(4)

Aq0 aBb AAq1 Bb AABq1b

d) Ein deterministischer LBA wird auch als DLBA bezeichnet.


e) Die Klasse der deterministisch kontextsensitiven Sprachen ist definiert als

: q0 a q1 AR
q1 a q1 aR
q1 Bq1 BR
q1 b q2 BL

Aaq1 bb Aq2 aBb


(2)

(5) q3 Bq3 BR (9)


(6) q3 q4 N (10)
(7)
(8)

Satz 122. CSL = {L(M ) M ist ein LBA}.


48

4 Kontextsensitive Sprachen

4.3 Linear beschrnkte Automaten

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

(qc, a)(d, b) (c , a)(q d, b), falls qc M q c R

(N) N-Regeln

(d, a)(qc, b) (q d, a)(c , b), falls qc M q c L

Arbeitsweise von M bei Eingabe x = x1 . . . xn1 xn mit n > 0:


1
2
3

4
5

Durch Induktion ber m lsst sich nun leicht fr alle a1 , . . . , an


und q Z die folgende quivalenz beweisen:

Markiere das erste Eingabezeichen x1


Whle eine beliebige Regel aus P
Whle ein beliebiges Vorkommen von auf dem Band (falls
nicht vorkommt, halte ohne zu akzeptieren)
Ersetze die ersten Zeichen von durch
Falls das erste (oder letzte ) Zeichen von markiert war,
markiere auch das erste ( letzte ) Zeichen von
Verschiebe die Zeichen rechts von um Positionen nach
links und berschreibe die frei werdenden Bandfelder mit Blanks
Enthlt das Band auer Blanks nur das ( markierte ) Startsymbol,
so halte in einem Endzustand
Gehe zurck zu Schritt 2

q0 x1 . . . xn1 xn m a1 . . . ai1 qai . . . an


(q0 x1 , x1 ) . . . (
xn , xn )

(N,L,R)
n

A A(a, a), (q0 a, a)

(A) A-Regeln

(c, a) a
(qc, a) a,

(q0 x1 , x1 )(x2 , x2 ) . . . (xn1 , xn1 )(


xn , x n )
(a1 , x1 ) . . . (ai1 , xi1 )(qai , xi ) . . . (an , xn )
x1 . . . x n

Die Inklusion L(G) L(M ) folgt analog.

Eine einfache Modifikation des Beweises zeigt, dass 1-NTMs genau


die Sprachen vom Typ 0 akzeptieren (siehe bungen).
, , q0 , E) mit Z =
Beispiel 123. Betrachte den LBA M = (Z, ,
} und E = {q4 }, sowie
{q0 , . . . q4 }, = {a, b}, = {a, b, a
, b, A, B, B,
: q0 a q1 AR
q1 a q1 aR
q1 B q1 BR
q1 b q2 BL

(F) Finale Regeln


falls q E

(a1 , x1 ) . . . (qai , xi ) . . . (an , xn )

(F,E)

die fr alle a, b und c, d folgende Regeln enthlt:


(S) Startregeln

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

Nun ist leicht zu sehen, dass M wegen tatschlich ein LBA


ist. M akzeptiert eine Eingabe x, falls es gelingt, eine Ableitung fr
x in G zu finden (in umgekehrter Reihenfolge, d.h. M ist ein nichtdeterministischer Bottom-Up Parser). Da sich genau fr die Wrter in
L(G) eine Ableitung finden lsst, folgt L(M ) = L(G).
Fr den Beweis der umgekehrten Inklusion sei ein LBA M =
, , q0 , E) gegeben (o.B.d.A. sei / L(M )). Betrachte die kon(Z, ,
textsensitive Grammatik G = (V, , P, S) mit

(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

4.3 Linear beschrnkte Automaten

Die zugehrige kontextsensitive Grammatik G = (V, , P, S) enthlt


dann neben den Start- und A-Regeln
S A(
a, a), A(b, b), (q0 a
, a), (q0b, b)
A A(a, a), A(b, b), (q0 a, a), (q0 b, b)

REG
DCFL
CFL
DCSL
CSL
RE

(S1 -S4 )
(A1 -A4 )

fr jedes Zeichen c folgende F- und E-Regeln (wegen E = {q4 }):


(c, a) a und (c, b) b
(q4 c, a) a und (q4 c, b) b

(F1 -F16 )
(E1 -E16 )

q4 BN

Daneben enthlt P beispielsweise fr die Anweisung q3 B


folgende zwei N-Regeln:
a) (q4 B,
a), (q3 B,
b) (q4 B,
b).
(q3 B,
Fr die Anweisung q1 b q2 BL kommen fr jedes d die vier
L-Regeln
(d, a)(q1 b, a) (q2 d, a)(B, a), (d, b)(q1 b, a) (q2 d, b)(B, a)
(d, a)(q1 b, b) (q2 d, a)(B, b), (d, b)(q1 b, b) (q2 d, b)(B, b)
zu P hinzu und die Anweisung q0 a q1 AR bewirkt fr jedes d die
Hinzunahme folgender vier R-Regeln:
(q0 a, a)(d, a) (A, a)(q1 d, a), (q0 a, a)(d, b) (A, a)(q1 d, b)
(q0 a, b)(d, a) (A, b)(q1 d, a), (q0 a, b)(d, b) (A, b)(q1 d, b)

Folgende Tabelle gibt einen berblick ber die Abschlusseigenschaften


der Klassen REG, DCFL, CFL, DCSL, CSL und RE. In der Vorlesung
Komplexittstheorie wird gezeigt, dass die Klasse CSL unter Komplementbildung abgeschlossen ist. Im nchsten Kapitel werden wir sehen,
dass die Klasse RE nicht unter Komplementbildung abgeschlossen ist.
Die brigen Abschlusseigenschaften in folgender Tabelle werden in
den bungen bewiesen.
50

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

5 Entscheidbare und semi-entscheidbare Sprachen


Wir wenden uns nun der Berechnung von Funktionen zu.
Definition 126.
Eine k-DTM M = (Z, , , , q0 , E) berechnet

eine Funktion f , falls M bei jeder Eingabe x in einer


Konfiguration

5 Entscheidbare und semi-entscheidbare


Sprachen

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.

Um eine Funktion f zu berechnen, muss M also bei jeder


Eingabe x den Funktionswert f (x) auf das k-te Band schreiben und
danach halten. Falls M nicht bei allen Eingaben hlt, berechnet M
keine totale, sondern eine partielle Funktion.

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.

e) f heit total, falls dom(f ) = ist.


f) Eine DTM M = (Z, , , , q0 , E) berechnet eine partielle
Funktion f {}, falls M (x) fr alle x dom(f )
das Wort f (x) ausgibt und fr alle x / dom(f ) keine Ausgabe
berechnet (d.h. M (x) = ).
51

5 Entscheidbare und semi-entscheidbare Sprachen


Satz 129.
(i) Eine Sprache A ist genau dann entscheidbar, wenn ihre
charakteristische Funktion A {0, 1} berechenbar ist.
Diese ist wie folgt definiert:

Aus historischen Grnden werden die berechenbaren Funktionen und


die entscheidbaren Sprachen auch rekursiv (engl. recursive) genannt.
Wir fassen die entscheidbaren Sprachen und die (partiellen) berechenbaren Funktionen in folgenden Klassen zusammen:
REC = {L(M ) M ist eine DTM, die jede Eingabe entscheidet},

1,
A (x) =

0,

FREC = {f f ist eine berechenbare (totale) Funktion},


FRECp = {f f ist eine berechenbare partielle Funktion}.

x A,
x / A.

(ii) Eine Sprache A ist genau dann semi-entscheidbar, falls


die partielle charakteristische Funktion A {1, }
berechenbar ist. Letztere ist wie folgt definiert:

Dann gilt FREC FRECp und


REG DCFL CFL DCSL CSL REC RE.
Wir wissen bereits, dass die Inklusionen REG DCFL CFL DCSL
echt sind. In diesem Abschnitt werden wir die Echtheit der Inklusion
REC RE zeigen. Dass CSL eine echte Teilklasse von REC ist, wird in
den bungen gezeigt.

1, x A,
A (x) =

, x / A.
Beweis. Siehe bungen.

Beispiel 128. Bezeichne x+ den lexikografischen Nachfolger von


x . Fr = {0, 1} ergeben sich beispielsweise folgende Werte:

Definition 130. Eine Sprache A heit rekursiv aufzhlbar,


falls A entweder leer oder das Bild img(f ) einer berechenbaren Funktion f fr ein beliebiges Alphabet ist.

x 0 1 00 01 10 11 000 . . .
x+ 0 1 00 01 10 11 000 001 . . .

Da diese vier partiellen Funktionen alle berechenbar sind, gehren die


totalen Funktionen f1 , f2 , f3 zu FREC, whrend f4 zu FRECp gehrt.

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)

Betrachte die auf definierten partiellen Funktionen f1 , f2 , f3 , f4 mit


f1 (x) = 0,
f2 (x) = x,
f3 (x) = x+

und

, x = ,
f4 (x) =
+

y, x = y .

52

131. Folgende Eigenschaften sind quivalent:


A ist semi-entscheidbar (d.h. A wird von einer DTM akzeptiert),
A wird von einer 1-DTM akzeptiert,
A wird von einer 1-NTM akzeptiert,
A ist vom Typ 0,
A wird von einer NTM akzeptiert,
A ist rekursiv aufzhlbar.

5 Entscheidbare und semi-entscheidbare Sprachen


mit L(M ) = A. M simuliert M , indem sie jede Konfiguration
K von M der Form

Sobald M in einen Endzustand bergeht, wechselt M ebenfalls


in einen Endzustand und hlt. Nun ist leicht zu sehen, dass
L(M ) = L(M ) ist.
2) 3): Klar.
3) 4) 5): Diese beiden Implikationen lassen sich ganz hnlich wie
die Charakterisierung der Typ-1 Sprachen durch LBAs zeigen
(siehe bungen).
5) 6): Sei M = (Z, , , , q0 , E) eine k-NTM, die eine Sprache A =/ akzeptiert. Kodieren wir eine Konfiguration K =
(q, u1 , a1 , v1 , . . . , uk , ak , vk ) von M durch das Wort

a b c d

e f g h

durch eine Konfiguration K folgender Form nachbildet:


a

( ) ( ) () ()

code(K) = #q#u1 #a1 #v1 # . . . #uk #ak #vk #


= Z {#} und eine Rechnung
ber dem Alphabet
K0 Kt durch code(K0 ) . . . code(Kt ), so lassen sich die
aufzhlen
Wrter von A durch folgende Funktion f
(dabei ist x0 ein beliebiges Wort in A):

Das heit, M arbeitet mit dem Alphabet


= ( {
a a })k
und erzeugt bei Eingabe x = x1 . . . xn zuerst die der Startkonfiguration Kx = (q0 , , x1 , x2 . . . xn , , , , . . . , , , ) von M
bei Eingabe x entsprechende Konfiguration

y, x kodiert eine Rechnung K0 Kt von M

mit K0 = Ky und Kt E ( )k
f (x) =

x0 , sonst.

x1 x2 xn

.
Kx = q0

Da f berechenbar ist, ist A = img(f ) rekursiv aufzhlbar.


6) 1): Sei f eine Funktion mit A = img(f ) und sei M eine
k-DTM, die f berechnet. Dann akzeptiert folgende (k + 1)-DTM
M die Sprache A.
M berechnet bei Eingabe x auf dem 2. Band der Reihe nach fr alle Wrter y den Wert f (y) durch
Simulation von M (y) und akzeptiert, sobald sie ein
y mit f (y) = x findet.

Dann simuliert M jeweils einen Schritt von M durch folgende


Sequenz von Rechenschritten:
Zuerst geht M solange nach rechts, bis sie alle mit
markierten Zeichen (z.B. a
1 , . . . , a
k ) gefunden hat.

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

5 Entscheidbare und semi-entscheidbare Sprachen

5.1 Unentscheidbarkeit des Halteproblems

Beweis. Sei A entscheidbar. Es ist leicht zu sehen, dass dann auch A


entscheidbar ist. Also sind dann A und A auch semi-entscheidbar. Fr
die Rckrichtung seien f1 , f2 Turing-berechenbare Funk Wir betrachten folgende
tionen mit img(f1 ) = A und img(f2 ) = A.
k-DTM M , die bei Eingabe x fr jedes y die beiden Werte f1 (y)
und f2 (y) bestimmt und im Fall
f1 (y) = x in einem Endzustand
f2 (y) = x in einem Nichtendzustand
hlt. Da jede Eingabe x entweder in img(f1 ) = A oder in img(f2 ) = A
enthalten ist, hlt M bei allen Eingaben.

Form auflisten. Kodieren wir die Zeichen 0, 1, # binr (z.B. 0 00,


1 11, # 10), so gelangen wir zu einer Binrkodierung wM von M .
Die Binrzahl wM wird auch die Gdel-Nummer von M genannt
(tatschlich kodierte Kurt Gdel Turingmaschinen durch natrliche
Zahlen und nicht durch Binrstrings). Die Maschine Mw ist durch die
Angabe von w bis auf die Benennung ihrer Zustnde und Arbeitszeichen eindeutig bestimmt. Ganz analog lassen sich auch DTMs mit
einer beliebigen Anzahl von Bndern (sowie NTMs, Konfigurationen
oder Rechnungen von TMs) kodieren.
Umgekehrt knnen wir jedem Binrstring w {0, 1} eine DTM Mw
wie folgt zuordnen:

M, falls eine DTM M mit wM = w existiert,


Mw =

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

5.1 Unentscheidbarkeit des Halteproblems


Eine fr die Programmverifikation sehr wichtige Fragestellung ist,
ob ein gegebenes Programm bei allen Eingaben nach endlich vielen
Rechenschritten stoppt. In diesem Abschnitt werden wir zeigen, dass
es zur Lsung dieses Problems keinen Algorithmus gibt, nicht einmal
dann, wenn wir die Eingabe fixieren. Damit wir einer Turingmaschine
eine andere Turingmaschine als Eingabe vorlegen knnen, mssen wir
eine geeignete Kodierung von Turingmaschinen vereinbaren (diese
wird auch Gdelisierung genannt).
Sei M = (Z, , , , q0 , E) eine 1-DTM mit Zustandsmenge Z =
{q0 , . . . , qm } (o.B.d.A. sei E = {qm }) und Eingabealphabet =
{0, 1, #}. Das Arbeitsalphabet sei = {a0 , . . . , al }, wobei wir o.B.d.A.
a0 = 0, a1 = 1, a2 = #, a3 = annehmen. Dann knnen wir jede
Anweisung der Form qi aj qi aj D durch das Wort

b) Das spezielle Halteproblem ist


K = {w {0, 1}

#bin(i)#bin(j)#bin(i )#bin(j )#bD #

die DTM Mw
}
hlt bei Eingabe w

K
w1 1
w2
0
w3
1

Der Werteverlauf der charakteristischen Funktion K von K stimmt


also mit der Diagonalen der als Matrix dargestellten charakteristischen
Funktion H von H berein.

kodieren. Dabei ist bin(n) die Binrdarstellung von n und bN = 0,


bL = 1, sowie bR = 10. M lsst sich nun als ein Wort ber dem Alphabet
{0, 1, #} kodieren, indem wir die Anweisungen von M in kodierter

Satz 134. K RE co-RE.


54

5 Entscheidbare und semi-entscheidbare Sprachen

5.1 Unentscheidbarkeit des Halteproblems

Beweis. Wir zeigen zuerst K RE. Sei w0 die Kodierung einer DTM,
die bei jeder Eingabe (sofort) hlt und betrachte die Funktion

()

w, x ist Kodierung einer haltenden Berechnung einer

DTM Mw bei Eingabe w,


f (x) =

w0 , sonst.

()

wre semi-entscheidbar. Dann existiert eine


DTM Mw , die die partielle charakteristische
berechnet, d.h. es gilt
Funktion K von K

Mw (w) hlt w K
Fr die Kodierung
aber

()

von M

folgt dann

Korollar 135. REC RE.


Beweis. Klar da K RE REC.

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).

Da f berechenbar und img(f ) = K ist, folgt K RE. Um zu zeigen,


nicht semi-entscheidbar ist, fhren wir die Annahme K
RE
dass K
auf einen Widerspruch.
Wir erklren zuerst die Beweisidee. Da K RE ist, gibt es in der
Matrixdarstellung von H eine Zeile w (bzw. eine DTM M = Mw ),
die mit der Diagonalen der Matrix bereinstimmt. Beispielsweise knnen wir fr M eine DTM whlen, die die partielle charakteristische
RE, so wrde eine
Funktion K von K berechnet. Wre auch K
DTM M existieren, so dass die zugehrige Zeile in der Matrix invers
zur Zeile von M und damit zur Diagonalen ist. Beispielsweise knnen
wir fr M eine DTM whlen, die die partielle charakteristische Funk berechnet. Da in keiner Matrix eine Zeile existieren
tion K von K
kann, die invers zur Diagonalen ist, fhrt dies auf den gewnschten
Widerspruch.
Nehmen wir also an, die Sprache
= {w Mw (w) hlt nicht}
K

()

Mw (w ) hlt nicht w / K

d) Eine C-harte Sprache B, die zu C gehrt, heit C-vollstndig.


Beispiel 137. Es gilt K H mittels f w w#w, da fr alle
w {0, 1} gilt:
w K Mw ist eine DTM, die bei Eingabe w hlt
w#w H.

w 0 1 0

55

5 Entscheidbare und semi-entscheidbare Sprachen

5.2 Der Satz von Rice

Das Halteproblem H ist sogar RE-hart, da sich jede semi-entscheidbare


Sprache A auf H reduzieren lsst. Die Reduktion A H leistet beispielsweise die Funktion x w#x, wobei w die Kodierung einer
DTM Mw ist, die die partielle charakteristische Funktion A von A
berechnet.

Definition 141. Das Halteproblem


bei leerem Band ist die Sprache
die DTM Mw hlt
H0 = {w {0, 1}
}
bei Eingabe

Satz 138. Die Klasse REC ist unter abgeschlossen.

w1
w2
w3

1
1
0

Satz 142. H0 ist RE-vollstndig.

Beweis. Gelte A B mittels f und sei M eine DTM, die B berechnet.


Betrachte folgende DTM M :
M berechnet bei Eingabe x zuerst den Wert f (x) und
simuliert dann M bei Eingabe f (x).
Wegen
x A f (x) B

Beweis. Da die Funktion w w# die Sprache H0 auf H reduziert


und da H RE ist, folgt H0 RE.
Fr den Beweis, dass H0 RE-hart ist sei A RE beliebig und sei w die
Kodierung einer DTM, die A berechnet. Um A auf H0 zu reduzieren,
transformieren wir x {0, 1} in die Kodierung wx einer DTM M ,
die zunchst ihre Eingabe durch x ersetzt und dann Mw (x) simuliert.
Dann gilt
x A wx H0

folgt
M (x) = M (f (x)) = B (f (x)) = A (x).
Also berechnet M die Funktion A , d.h. A REC.

H0 x1 (= )

und somit A H0 mittels der Reduktionsfunktion x wx .

Der Abschluss von RE unter folgt analog (siehe bungen).

Insbesondere folgt also K H0 , d.h. H0 ist unentscheidbar.

Korollar 139.
1. A B A / REC B / REC,
2. A B A / RE B / RE.

5.2 Der Satz von Rice


Frage. Kann man einer beliebig vorgegebenen TM ansehen, ob die
von ihr berechnete Funktion (bzw. die von ihr akzeptierte Sprache)
eine gewisse Eigenschaft hat? Kann man beispielsweise entscheiden,
ob eine gegebene DTM eine totale Funktion berechnet?

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).

Wegen K H bertrgt sich die Unentscheidbarkeit von K auf H.


Korollar 140. H / REC.
56

5 Entscheidbare und semi-entscheidbare Sprachen

5.2 Der Satz von Rice

Definition 143. Zu einer Klasse F von Funktionen definieren wir


die Sprache

Dann ist h w w eine totale berechenbare Funktion und es gilt


w H0 Mw berechnet f w LF ,
w H0 Mw berechnet u w / LF .

LF = {w {0, 1} die DTM Mw berechnet eine Funktion in F } .


Die Eigenschaft F heit trivial, wenn LF = oder LF = {0, 1} ist.

Dies zeigt, dass h das Problem H0 auf LF reduziert, und da H0


unentscheidbar ist, muss auch LF unentscheidbar sein.

Der Satz von Rice besagt, dass LF nur fr triviale Eigenschaften


entscheidbar ist:
LF LF {0, 1} LF / REC.

Beispiel 145. Die Sprache

Satz 144 (Satz von Rice).


Fr jede nicht triviale Eigenschaft F ist LF unentscheidbar.

L = {w {0, 1} Mw (0n ) = 0n+1 fr alle n 0}


ist unentscheidbar. Dies folgt aus dem Satz von Rice, da die Eigenschaft
F = {f f (0n ) = 0n+1 fr alle n 0}

Beweis. Wir reduzieren H0 auf LF (oder auf LF ). Die Idee besteht


darin, fr eine gegebene DTM Mw eine DTM Mw zu konstruieren
mit
w H0 Mw berechnet (k)eine Funktion in F.

nicht trivial und L = LF ist. F ist nicht trivial, da z.B. die berechenbare
partielle Funktion

Hierzu lassen wir Mw bei Eingabe x zunchst einmal die DTM Mw


bei Eingabe simulieren. Falls w H0 ist, berechnet Mw also die
berall undefinierte Funktion u mit u(x) = fr alle x .
Fr das Folgende nehmen wir o.B.d.A. an, dass u F ist. (Andernfalls
knnen wir F durch die komplementre Eigenschaft F ersetzen.
Wegen LF = LF ist LF genau dann unentscheidbar, wenn LF unentscheidbar ist.)
Damit die Reduktion gelingt, mssen wir nur noch dafr sorgen, dass
Mw im Fall w H0 eine Funktion f F berechnet.
Da F nicht trivial ist, gibt es eine DTM Mf , die eine partielle Funktion f F berechnet. Betrachte die Reduktionsfunktion
h {0, 1} {0, 1} mit

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.

In den bungen wird folgende Variante des Satzes von Rice fr


Spracheigenschaften bewiesen, wonach wir einer gegebenen TM nicht
ansehen knnen, ob die von ihr akzeptierte Sprache eine gewisse
Eigenschaft hat oder nicht.
Satz 146. Fr eine beliebige Sprachklasse S sei

h(w) = w , wobei w die Kodierung einer DTM ist, die bei


Eingabe x zunchst die DTM Mw () simuliert
und im Fall, dass Mw hlt, mit der Simulation
von Mf (x) fortfhrt.

LS = {w {0, 1} L(Mw ) S}.


Dann ist LS unentscheidbar, auer wenn LS {, {0, 1} } ist.
57

5 Entscheidbare und semi-entscheidbare Sprachen

5.3 Das Postsche Korrespondenzproblem

5.3 Das Postsche Korrespondenzproblem

Satz 150. MPCP PCP.

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.

Beweis. Wir zeigen MPCP PCP fr = {a, b, , , }. Wegen


PCP PCP folgt hieraus MPCP PCP. Fr ein Wort w =
w1 . . . wn sei

Wir notieren eine PCP-Instanz meist in Form einer Matrix


und kodieren sie durch das Wort x1 #y1 # . . . #xk #yk .

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

Da jede MPCP-Lsung = (1, i2 , . . . , in ) fr I auf eine PCP-Lsung


= (1, i2 + 1, . . . , in + 1, k + 2) fr f (I) fhrt, folgt

Lemma 149. Fr jedes Alphabet gilt PCP PCP{a,b} .

I MPCP f (I) PCP .

Beweis. Sei = {a1 , . . . , am }. Fr ein Zeichen ai sei c(ai ) = 01i1


und fr ein Wort w = w1 . . . wn mit wi sei c(w) =
c(w1 ) . . . c(wn ). Dann folgt PCP PCP{a,b} mittels der Reduktionsfunktion
x1 . . . x k
c(x1 ) . . . c(xk )
).
)(
y1 . . . yk
c(y1 ) . . . c(yk )

f (

a ab caa
)
Beispiel 148. Die Instanz I = (xy11 xy22 yx33 ) = ( aca
bc aa besitzt wegen

f (

Wir reduzieren MPCP mittels folgender Funktion f auf PCP :

k
(xy11 ...x
)
...yk

die PCP-Lsung = (1, 3, 2, 3), die auch eine MPCP-Lsung ist.

Fr die umgekehrte Implikation sei = (i1 , . . . , in ) eine PCP-Lsung


fr
x1 x1 xk
f (I) = (
).
y1 y1 yk
Dann muss i1 = 1 und in = k + 2 sein, da das Lsungswort mit
beginnen und mit enden muss (und f (I) nicht das Paar (, ) enthlt). Whlen wir von minimaler Lnge, so ist ij {2, . . . , k + 1}
fr j = 2, . . . , n 1. Dann ist aber

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

5 Entscheidbare und semi-entscheidbare Sprachen

5.4 Weitere Unentscheidbarkeitsresultate


Obiger Ableitung entspricht dann folgendes Lsungswort fr f (aabb):

Satz 151. PCP ist RE-vollstndig und damit unentscheidbar.


Beweis. Es ist leicht zu sehen, dass PCP RE ist. Um zu zeigen,
dass PCP RE-hart ist, sei A eine beliebige Sprache in RE und sei
G = (V, , P, S) eine Typ-0 Grammatik fr A. Sei = V {, , }.
Dann knnen wir eine Eingabe w in eine MPCP -Instanz f (w) =
k
(xy11 ...x
)
...yk transformieren, so dass = (i1 , . . . , in ) genau dann eine Lsung
fr f (w) ist, wenn das zugehrige Lsungswort xi1 . . . xin = yi1 . . . yin
eine Ableitung von w in G kodiert. Dies erreichen wir, indem wir
f (w) aus folgenden Wortpaaren bilden:
1. ( , S),
Startpaar
2. fr jede Regel l r in P : (l, r),
Ableitungspaare
3. fr alle a V {}: (a, a),
Kopierpaare
4. sowie das Paar (w , )
Abschlusspaar
Nun lsst sich leicht aus einer Ableitung S = 0 m = w von
w in G eine MPCP-Lsung mit dem Lsungswort

S aSbS aaSbSbS aaSbbS aabbS aabb


S aSbS aaSbSbS aaSbbS aabbS aabb
Das krzeste MPCP-Lsungswort fr f (aabb) ist
S aSbS aaSbSb aabb
S aSbS aaSbSb aabb
Dieses entspricht der parallelisierten Ableitung
S aSbS 2 aaSbSb 2 aabb

5.4 Weitere Unentscheidbarkeitsresultate

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.

angeben. Zudem lsst sich auch umgekehrt aus jeder MPCP-Lsung


eine Ableitung von w in G gewinnen, womit
w L(M ) f (w) MPCP

Schnittproblem fr kontextfreie Grammatiken


Gegeben: Zwei kontextfreie Grammatiken G1 und G2 .
Gefragt: Ist L(G1 ) L(G2 ) =/ ?

gezeigt ist.

Beispiel 152. Betrachte die Grammatik G = ({S}, {a, b}, {S


aSbS, }, S) und die Ableitung

Satz 153. Das Schnittproblem fr kontextfreie Grammatiken ist REvollstndig.

S aSbS aaSbSbS aaSbbS aabbS aabb

Beweis. Es ist leicht zu sehen, dass das Problem semi-entscheidbar


ist. Um PCP auf dieses Problem zu reduzieren, betrachten wir fr
eine Folge s = (x1 , . . . , xk ) von Strings xi {a, b} die Sprache

Die MPCP-Instanz f (aabb) enthlt dann die acht Wortpaare


f (aabb) = (

S S a b aabb

S aSbS S a b

).

Ls = {in . . . i1 #xi1 xin 1 n, 1 i1 , . . . , in k}.


59

5 Entscheidbare und semi-entscheidbare Sprachen

5.4 Weitere Unentscheidbarkeitsresultate

Ls wird von der Grammatik Gs = ({A}, {1, . . . , k, #, a, b}, Ps , A) erzeugt mit

Des weiteren erhalten wir die Unentscheidbarkeit des Schnitt- und


des Inklusionsproblems fr DPDAs.
Inklusionsproblem fr DPDAs
Gegeben: Zwei DPDAs M1 und M2 .
Gefragt: Ist L(M1 ) L(M2 )?

Ps : A 1Ax1 , . . . , kAxk , 1#x1 , . . . , k#xk


...xk
) bilden wir das Paar (Gs , Gt ), wobei
Zu einer PCP-Instanz I = (xy11 ...y
k
s = (x1 , . . . , xk ) und t = (y1 , . . . , yk ) ist. Dann ist L(Gs ) L(Gt ) die
Sprache

Korollar 155.
(i) Das Schnittproblem fr DPDAs ist RE-vollstndig.
(ii) Das Inklusionsproblem fr DPDAs ist co-RE-vollstndig.

{in . . . i1 #xi1 . . . xin 1 n, xi1 . . . xin = yi1 . . . yin }.


Folglich ist = (i1 , . . . , in ) genau dann eine Lsung fr I, wenn
in . . . i1 xi1 . . . xin L(Gs ) L(Gt ) ist. Also vermittelt f I (Gs , Gt )
eine Reduktion von PCP auf das Schnittproblem fr CFL.

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.

Beispiel 154. Die PCP-Instanz


I =(

Korollar 156. Fr kontextfreie Grammatiken sind folgende Fragestellungen unentscheidbar:


(i) Ist L(G) = ?
(Ausschpfungsproblem)
(ii) Ist L(G1 ) = L(G2 )?
(quivalenzproblem)
(iii) Ist G mehrdeutig?
(Mehrdeutigkeitsproblem)

x1 x2 x3
a
aab abbaa
)=(
)
y1 y2 y3
aabba ababb aa

wird auf das Grammatikpaar (Gs , Gt ) mit folgenden Regeln reduziert:


Ps : A 1Aa, 2Aaab, 3Aabbaa,
1#a, 2#aab, 3#abbaa,

Beweis.
(i) Wir reduzieren das Komplement von PCP auf das Ausschpfungsproblem fr CFL. Es gilt

Pt : A 1Aaabba, 2Aababb, 3Aaa,


1#aabba, 2#ababb, 3#aa.
Der PCP-Lsung = (1, 3, 2, 3) entspricht dann das Wort

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

5 Entscheidbare und semi-entscheidbare Sprachen

5.4 Weitere Unentscheidbarkeitsresultate

die Funktion f I G, wobei G eine kontextfreie Grammatik


mit
L(G) = Ls Lt

Leerheitsproblem fr DLBAs
Gegeben: Ein DLBA M .
Gefragt: Ist L(M ) = ?

ist, die gewnschte Reduktion.


(ii) Wir zeigen, dass das quivalenzproblem fr CFL ebenfalls co-REvollstndig ist, indem wir das Ausschpfungsproblem fr CFL
darauf reduzieren. Dies leistet beispielsweise die Funktion

Satz 157. Das Leerheitsproblem fr DLBAs ist co-RE-vollstndig.

f G (G, Gall ),

Beweis. Wir reduzieren PCP auf das Leerheitsproblem fr DLBAs.


k
) in einen
Hierzu transformieren wir eine PCP-Instanz I = (xy11 ...x
...yk
DLBA M fr die Sprache Ls Lt , wobei s = (x1 , . . . , xk ) und
t = (y1 , . . . , yk ) ist (siehe bungen). Dann gilt I / PCP L(M ) = .

wobei Gall eine kontextfreie Grammatik mit L(Gall ) = ist.


(iii) Schlielich zeigen wir, dass das Mehrdeutigkeitsproblem REvollstndig ist, indem wir PCP darauf reduzieren. Betrachte die
k
)
Funktion f (xy11 ...x
...yk G mit
G = ({S, A, B}, {1, . . . , k, #, a, b}, P {S A, S B}, S)

Dagegen ist es nicht schwer, fr eine kontextfreie Grammatik G zu


entscheiden, ob mindestens ein Wort in G ableitbar ist. Ebenso ist es
mglich, fr eine kontextsensitive Grammatik G und ein Wort x zu
entscheiden, ob x in G ableitbar ist.

und den Regeln


P : A 1Ax1 , . . . , kAxk , 1#x1 , . . . , k#xk ,
B 1By1 , . . . , kByk , 1#y1 , . . . , k#yk .

Satz 158.
(i) Das Leerheitsproblem fr kfr. Grammatiken ist entscheidbar.
(ii) Das Wortproblem fr kontextsensitive Grammatiken ist entscheidbar.

Da alle von A oder B ausgehenden Ableitungen eindeutig sind,


ist G genau dann mehrdeutig, wenn es ein Wort w L(G) gibt
mit
S A w und S B w.
Wie wir im Beweis der Unentscheidbarkeit des Schnittproblems
fr CFL gesehen haben, ist dies genau dann der Fall, wenn die
k
)
PCP-Instanz I = (xy11 ...x
...yk eine PCP-Lsung hat.

Beweis. Siehe bungen.

Als weitere Folgerung erhalten wir die Unentscheidbarkeit des Leerheitsproblems fr DLBAs.

Die folgende Tabelle gibt an, welche Probleme fr Sprachen in den


verschiedenen Stufen der Chomsky-Hierarchie entscheidbar sind.
61

5 Entscheidbare und semi-entscheidbare Sprachen

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):

Wort- Leerheits- Aus- quivalenz- Inklusions- Schnittproblem problem schpfung problem


problem
problem
xL ?
L= ?
L= ?
L1 =L2 ?
L1 L2 L1 L2 =/ ?
REG
DCFL
CFL
DCSL
CSL
RE
a

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

Bewiesen in 1997 von Graud Snizergues (Univ. Bordeaux).

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

setzt Register ri auf den Wert rj + c


setzt Register ri auf max(0, rj c)
setzt den Befehlszhler IC auf j
setzt IC auf j, falls ri = c ist
beendet die Programmausfhrung

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

Beispiel 159. Folgendes GOTO-Programm berechnet die Funktion


f (x, y) = xy:

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

5 Entscheidbare und semi-entscheidbare Sprachen

2
3
4

5.5 GOTO-Berechenbarkeit

r0 = r0 + r2
GOTO 0
HALT

Nun knnen wir eine partielle Funktion f Nk N{} durch folgende


partielle Wortfunktion f {0, 1, #} {0, 1} {} reprsentieren:

str(n), w = strk (n1 , . . . , nk ) und f (n1 , . . . , nk ) = n N,


f(w) =

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.

Um mit einem GOTO-Programm auch Wortfunktionen berechnen zu


knnen, mssen wir Wrter numerisch reprsentieren.
Sei = {a0 , . . . , am1 } ein Alphabet. Dann knnen wir jedes Wort
x = ai1 . . . ain durch eine natrliche Zahl num (w) kodieren:
n1

j=0

j=1

num (x) = mj + ij mnj =

Beweis. Wir zeigen zuerst die Simulation eines GOTO-Programms


durch eine DTM. Sei f eine partielle Funktion, deren numerische
Reprsentation f von einem GOTO-Programm P auf einer RAM R
berechnet wird. Dann existiert eine Zahl k , so dass P nur Register ri
mit i k benutzt. Daher lsst sich eine Konfiguration von R durch
Angabe der Inhalte des Befehlszhlers IC und der Register r0 , . . . , rk
beschreiben. Wir konstruieren eine (k + 2)-DTM M , die
den Inhalt von IC in ihrem Zustand,
die Registerwerte r1 , . . . , rk auf den Bndern 1, . . . , k und
den Wert von r0 auf dem Ausgabeband k + 2 speichert.
Ein Registerwert ri wird hierbei in der Form str(ri ) gespeichert. Band
k + 1 wird zur Ausfhrung von Hilfsberechnungen benutzt.
Die Aufgabe von M ist es, bei Eingabe w = strk (n1 , . . . , nk ) das Wort
str(f (n1 , . . . , nk )) auszugeben, wenn (n1 , . . . , nk ) dom(f ) ist, und
andernfalls nicht zu halten.
Zuerst kopiert M die Teilwrter str(ni ) fr i = 2, . . . , k auf das i-te
Band und lscht auf dem 1. Band alle Eingabezeichen bis auf str(n1 ).
Da das leere Wort den Wert num() = 0 kodiert, sind nun auf den
Bndern 1, . . . , k und auf Band k +2 die der Startkonfiguration von R

mn 1
+ (i1 . . . in )m .
m1

Da die Abbildung num N bijektiv ist, knnen wir umgekehrt


jede natrliche Zahl n durch das Wort str (n) = num1 (n) kodieren.
Fr das Alphabet = {a, b, c} erhalten wir beispielsweise folgende
Kodierung:
w
a b c aa ab ac ba bb bc ca cb cc aaa . . .
num (w) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 . . .
Ist = {0, 1}, so lassen wir den Index weg und schreiben einfach
num und str anstelle von num und str . Zudem erweitern wir die
Kodierungsfunktion str N {0, 1} zu einer Kodierungsfunktion
strk Nk {0, 1, #} wie folgt:
strk (n1 , . . . , nk ) = str(n1 )# . . . #str(nk ).
63

5 Entscheidbare und semi-entscheidbare Sprachen

5.6 WHILE- und LOOP-Berechenbarkeit

bei Eingabe (n1 , . . . , nk ) entsprechenden Registerinhalte gespeichert.


Danach fhrt M das Programm P Befehl fr Befehl aus.
Es ist leicht zu sehen, dass sich jeder Befehl I in P durch eine Folge
von Anweisungen realisieren lsst, die die auf den Bndern gespeicherten Registerinhalte bzw. den im Zustand von M gespeicherten
Wert von IC entsprechend modifizieren. Sobald P stoppt, hlt auch
M und gibt das Wort str(r0 ) = str(f (n1 , . . . , nk )) aus.
Nun betrachten wir die Simulation einer DTM durch ein GOTOProgramm. Sei f Nk N {} eine partielle Funktion und sei
M = (Z, , , , q0 , E) eine DTM mit Eingabealphabet = {0, 1, #},
die die zugehrige Wortfunktion f {0, 1} {} berechnet. M
gibt also bei Eingabe strk (n1 , . . . , nk ) das Wort str(f (n1 , . . . , nk ))
aus, falls f (n1 , . . . , nk ) definiert ist, und hlt andernfalls nicht.
Wir konstruieren ein GOTO-Programm P , das bei Eingabe
(n1 , . . . , nk ) die DTM M bei Eingabe w = strk (n1 , . . . , nk ) simuliert
und im Fall, dass M (w) hlt, den Wert num(M (w)) = f (n1 , . . . , nk )
berechnet. Wir knnen annehmen, dass M eine 1-DTM ist. Sei
Z = {q0 , . . . , qr } und = {a0 , . . . , am1 }, wobei wir annehmen, dass
a0 = , a1 = 0, a2 = 1 und a3 = # ist.
Eine Konfiguration K = uqi v von M wird wie folgt in den Registern
r0 , r1 , r2 gespeichert. Sei u = ai1 . . . ain und v = aj1 . . . ajn .
r0 = (i1 . . . in )m ,
r1 = i,
r2 = (jn . . . j1 )m .
P besteht aus 3 Programmteilen P = P1 , P2 , P3 . P1 berechnet in Register r2 die Zahl (jn . . . j1 )m , wobei (j1 , . . . , jn ) die Indexfolge der
Zeichen von strk (n1 , . . . , nk ) = aj1 . . . ajn ist. Die brigen Register setzt
P1 auf den Wert 0. P1 stellt also die Startkonfiguration Kw = q0 w von
M bei Eingabe w = strk (n1 , . . . , nk ) in den Registern r0 , r1 , r2 her.
Anschlieend fhrt P2 eine schrittweise Simulation von M aus. Hierzu berfhrt P2 solange die in r0 , r1 , r2 gespeicherte Konfiguration

von M in die zugehrige Nachfolgekonfiguration, bis M hlt. Das


Programmstck P2 hat die Form
M2

r3 = r2 MOD m
IF r1 = 0 r3 = 0 THEN GOTO M0,0

IF r1 = r r3 = m 1 THEN GOTO Mr,m1

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

Die hierbei benutzten Makrobefehle r3 = r2 MOD m, r2 = r2 DIV


m etc. knnen leicht durch GOTO-Programmstcke ersetzt werden
(siehe bungen).
Im Fall (qi , aj ) = erfolgt ein Sprung an den Beginn von P3 . P3
transformiert den Inhalt r0 = (j1 . . . jn )m von Register r0 in die Zahl
num(aj1 . . . ajn ) und hlt.

5.6 WHILE- und LOOP-Berechenbarkeit


Die Syntax von WHILE-Programmen ist induktiv wie folgt definiert (i, j, c N):
Jede Wertzuweisung der Form xi = xj + c oder xi = xj  c ist
ein WHILE-Programm.
Falls P und Q WHILE-Programme sind, so auch
P ; Q und
64

5 Entscheidbare und semi-entscheidbare Sprachen

5.6 WHILE- und LOOP-Berechenbarkeit

IF xi = c THEN P ELSE Q END


WHILE xi c DO P END
Die Syntax von LOOP-Programmen ist genauso definiert, nur
dass Schleifen der Form LOOP xi DO P END an die Stelle von
WHILE-Schleifen treten. Die Semantik von WHILE-Programmen ist
selbsterklrend. Eine LOOP-Schleife LOOP xi DO P END wird sooft
ausgefhrt, wie der Wert von xi zu Beginn der Schleife angibt.
Eine partielle Funktion f Nk N {} heit WHILEberechenbar, falls es ein WHILE-Programm P mit folgender Eigenschaft gibt: Wird P mit den Werten xi = ni fr i = 1, . . . , k gestartet,
so gilt:
P hlt genau dann, wenn (n1 , . . . , nk ) dom(f ) ist, und
falls P hlt, hat x0 nach Beendigung von P den Wert
f (n1 , . . . , nk ).
Die LOOP-Berechenbarkeit von f ist entsprechend definiert.

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

hnlich lsst sich die Verzweigung IF xi = c THEN Q1 ELSE Q2


END in ein GOTO-Programmstck transformieren. Zudem fgen wir
ans Ende von P den HALT-Befehl an.
Fr die umgekehrte Implikation sei nun P = (I0 , . . . , Im ) ein GOTOProgramm, das f berechnet, und sei rz , z > k, ein Register, das in P
nicht benutzt wird. Dann knnen wir P wie folgt in ein quivalentes
WHILE-Programm P bersetzen:

Beispiel 161. Die Funktion f (x1 , x2 ) = x1 x2 wird von dem WHILEProgramm


WHILE x1 0 DO
x0 = x0 + x2 ;
x1 = x1  1
END

xz = 0;
WHILE xz m + 1 DO
IF xz = 0 THEN P0 END;

IF xz = m THEN Pm END
END

sowie von folgendem LOOP-Programm berechnet:


LOOP x1 DO
x0 = x0 + x2
END

IF ri = c THEN GOTO M2
Q
GOTO M1

Dabei ist Pj abhngig vom Befehl Ij folgendes WHILE-Programm:


ri = rk + c: xi = xk + c; xz = xz + 1,
ri = rk  c: xi = xk  c; xz = xz + 1,
GOTO k: xz = k,
IF ri = c THEN GOTO k:

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.

IF xi = c THEN xz = k ELSE xz = xz + 1 END


65

6 Komplexittsklassen
HALT: xz = m + 1.
Man beachte, dass P nur eine WHILE-Schleife enthlt.

Es ist leicht zu sehen, dass sich jedes LOOP-Programm durch ein


WHILE-Programm simulieren lsst. Offensichtlich knnen LOOPProgramme nur totale Funktionen berechnen. Daher kann nicht jedes
WHILE-Programm durch ein LOOP-Programm simuliert werden.
Mittels Diagonalisierung lsst sich eine totale WHILE-berechenbare
Funktion f angeben, die nicht LOOP-berechenbar ist. Ein bekanntes Beispiel einer totalen WHILE-berechenbaren Funktion, die nicht
LOOP-berechenbar ist, ist die Ackermannfunktion a(x, y), die
induktiv wie folgt definiert ist:

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,

a(x, y) = a(x 1, 1),


x 1, y = 0,

a(x 1, a(x, y 1)), x, y 1.

time M (x) = sup{t 0 K Kx t K},


wobei sup N = ist.
b) Sei t N N eine monoton wachsende Funktion. Dann ist M
t(n)-zeitbeschrnkt, falls fr alle Eingaben x gilt:
timeM (x) t(x).
Die Zeitschranke t(n) beschrnkt also die Laufzeit bei allen Eingaben
der Lnge n (worst-case Komplexitt).
Wir fassen alle Sprachen und Funktionen, die in einer vorgegebenen
Zeitschranke t(n) entscheidbar bzw. berechenbar sind, in folgenden
Komplexittsklassen zusammen.
Definition 164.
a) Die in deterministischer Zeit t(n) entscheidbaren Sprachen bilden die Sprachklasse
DTIME(t(n)) = {L(M )M ist eine t(n)-zeitbeschrnkte DTM}.
66

6 Komplexittsklassen

6.2 Das P-NP-Problem

b) Die in nichtdeterministischer Zeit t(n) entscheidbaren Sprachen


bilden die Sprachklasse

Klasse aller Funktionen f , die obige Bedingung erfllen. Die Gleichung


f (n) = O(g(n)) drckt also in Wahrheit eine Element-Beziehung
f O(g(n)) aus. O-Terme knnen auch auf der linken Seite vorkommen. In diesem Fall wird eine Inklusionsbeziehung ausgedrckt. So
steht n2 + O(n) = O(n2 ) fr die Aussage {n2 + f f O(n)} O(n2 ).

NTIME(t(n)) = {L(M )M ist eine t(n)-zeitbeschrnkte NTM}.


c) Die in deterministischer Zeit t(n) berechenbaren Funktionen
bilden die Funktionenklasse

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).

FTIME(t(n)) = {f t(n)-zeitb. DTM M , die f berechnet}.


Die wichtigsten deterministischen Zeitkomplexittsklassen sind
LINTIME = DTIME(cn + c)

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

6.2 Das P-NP-Problem

Die nichtdeterministischen Klassen NLINTIME, NP, NE, NEXP und die


Funktionenklassen FP, FE, FEXP sind analog definiert.
Fr eine Funktionenklasse F sei DTIME(F) = tF DTIME(t(n)) (die
Klassen NTIME(F) und FTIME(F) seien analog definiert).

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.

Asymptotische Laufzeit und Landau-Notation


Definition 165. Seien f und g Funktionen von N nach R+ . Wir
schreiben f (n) = O(g(n)), falls es Zahlen n0 und c gibt mit
n n0 f (n) c g(n).
Die Bedeutung der Aussage f (n) = O(g(n)) ist, dass f nicht wesentlich schneller als g wchst. Formal bezeichnet der Term O(g(n)) die

Definition 167. Seien A und B Sprachen.


67

6 Komplexittsklassen

6.2 Das P-NP-Problem

a) A ist auf B in Polynomialzeit reduzierbar (A p B), falls


eine Funktion f in FP existiert mit

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.

Eine einfache Mglichkeit, ein vollstndiges Problem fr NP und


andere Komplexittsklassen zu erhalten, besteht darin, als Eingabe
beliebige TMs M zuzulassen, und zu fragen, ob M ein gegebenes
Wort in einer vorgegebenen Zeit- oder Platzschranke akzeptiert.
Um die Komplexitt einer solchen Sprache nach oben abschtzen zu
knnen, mssen wir eine Schranke fr die Laufzeit einer universellen
TM herleiten.

Satz 168. Die Klassen P und NP sind unter p abgeschlossen.


Beweis. Sei B P und gelte A p B mittels einer Funktion f FP.
Seien M und T DTMs mit L(M ) = B und T (x) = f (x). Weiter seien
p und q polynomielle Zeitschranken fr M und T . Betrachte die DTM
M , die bei Eingabe x zuerst T simuliert, um f (x) zu berechnen, und
danach M bei Eingabe f (x) simuliert. Dann gilt

Lemma 170. Es gibt eine NTM U fr die Sprache

x A f (x) B f (x) L(M ) x L(M ).


Also ist

L(M )

{w#x

= A und wegen

time M (x) time T (x) + time M (f (x)) q(x) + p(q(x))

w {0, 1} , x {0, 1, #} und Mw


}
ist eine NTM, die x akzeptiert

mit der Laufzeit

ist
polynomiell zeitbeschrnkt und somit A in P. Den Abschluss
von NP unter p zeigt man vollkommen analog.

time U (w#x) = O(w time Mw (x)2 ).


68

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.

Als nchstes definieren wir den Platzverbrauch von NTMs. Intuitiv


ist dies die Anzahl aller whrend einer Rechnung benutzten Bandfelder. Wollen wir auch sublinearen Platz sinnvoll definieren, so drfen
wir hierbei das Eingabeband offensichtlich nicht bercksichtigen. Um
sicherzustellen, dass eine NTM M das Eingabeband nicht als Speicher
benutzt, verlangen wir, dass M die Felder auf dem Eingabeband nicht
verndert und sich nicht mehr als ein Feld von der Eingabe entfernt.
Definition 172. Eine NTM M heit Offline-NTM (oder NTM
mit Eingabeband), falls fr jede von M bei Eingabe x erreichbare
Konfiguration
K = (q, u1 , a1 , v1 , . . . , uk , ak , vk )
gilt, dass u1 a1 v1 ein Teilwort von x ist.

Satz 171. Folgende Sprache ist NP-vollstndig:


L = {w#x#0m

Definition 173. Der Platzverbrauch einer Offline-NTM M bei


Eingabe x ist definiert als

{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

Beweis. Wir modifizieren die NTM U im Beweis von Lemma 170


wie folgt zu einer NTM U mit L(U ) = L. U simuliert bei Eingabe
w#x#0m die NTM Mw (x) und zhlt dabei die simulierten Schritte.
U verwirft, falls der Zhler den Wert m berschreitet und akzeptiert
nur dann, wenn Mw (x) nach hchstens m Schritten akzeptiert. Da U
hierzu O(w(x + m)2 ) Zeit bentigt, ist entscheidet U die Sprache
L in Polynomialzeit.
Sei nun A eine beliebige NP-Sprache. Dann ist A in Polynomialzeit
auf eine Sprache B {0, 1} in NP reduzierbar (siehe bungen). Sei
Mw eine durch ein Polynom p zeitbeschrnkte NTM fr B. Dann
reduziert folgende FP-Funktion f die Sprache B auf L:
f x w#x#0p(x) .

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

DSPACE(s(n)) = {L(M )M ist eine s(n)-platzb. Offline-DTM}.


69

6 Komplexittsklassen

6.3 Platzkomplexitt

Die auf nichtdeterministischem Platz s(n) entscheidbaren Sprachen


bilden die Klasse

Die Klassen der Chomsky-Hierarchie lassen sich wie folgt einordnen


(eine dicke Linie deutet an, dass die Inklusion als echt nachgewiesen
werden konnte):

NSPACE(s(n)) = {L(M )M ist eine s(n)-platzb. Offline-NTM}.


Die wichtigsten deterministischen Platzkomplexittsklassen sind
L = DSPACE(O(log n))

Logarithmischer Platz

LINSPACE = DSPACE(O(n))

Linearer Platz

PSPACE = DSPACE(nO(1) )

Polynomieller Platz

RE

REG = DSPACE(O(1)) = NSPACE(O(1)) L,


DCFL LINTIME CFL LINTIME P,

REC

CFL NLINTIME DTIME(n3 ) P,

EXP

DCSL = LINSPACE CSL,


CSL = NLINSPACE PSPACE E,

Die nichtdeterministischen Klassen NL, NLINSPACE und NPSPACE


sind analog definiert.
Dass nichtdeterministische Berechnungen nicht sehr viel Platz gegenber deterministischen Berechnungen einsparen knnen, wurde von
Savitch 1970 bewiesen (siehe Vorlesung Komplexittstheorie).

E
CSL

REC = DSPACE(f (n))

DCSL

= NSPACE(f (n))

CFL

= DTIME(f (n))
= NTIME(f (n)),

DCFL

PSPACE
NP
P
NL
L
REG

wobei f alle berechenbaren (oder quivalent: alle) Funktionen f N


N durchluft.
Die Klasse L ist nicht in CFL enthalten, da beispielsweise die Sprache
{an bn cn n 0} in logarithmischem Platz (und linearer Zeit) entscheidbar ist. Ob P in CSL enthalten ist, ist nicht bekannt. Auch nicht ob
DCSL P gilt. Man kann jedoch zeigen, dass CSL P DCSL ist.
hnlich verhlt es sich mit den Klassen E und PSPACE: Man kann
zwar zeigen, dass sie verschieden sind, aber ob eine in der anderen
enthalten ist, ist nicht bekannt.

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

7.1 Aussagenlogische Erfllbarkeitsprobleme


Definition 176.
a) Die Menge der booleschen (oder aussagenlogischen) Formeln ber den Variablen x1 , . . . , xn ist induktiv wie folgt definiert:
Jede Variable xi ist eine boolesche Formel.
Mit G und H sind auch die Negation G von G und die
Konjunktion (G H) von G und H boolesche Formeln.
b) Eine Belegung von x1 , . . . , xn ist ein Wort a = a1 . . . an
{0, 1}n . Der Wert F (a) von F unter a ist induktiv ber den
Aufbau von F definiert:

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)

Beispiel 178. Die Formel


G(x1 , . . . , xn ) = (x1 xn ) (xi xj )

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

nimmt unter einer Belegung a = a1 . . . an genau dann den Wert 1 an,


wenn ni=1 ai = 1 ist. D.h. es gilt genau dann G(a) = 1, wenn genau
eine Variable xi mit dem Wert ai = 1 belegt ist. Diese Formel wird im
Beweis des nchsten Satzes bentigt.

Bei vielen praktischen Anwendungen ist es erforderlich, eine erfllende


Belegung fr eine vorliegende boolesche Formel zu finden (sofern es eine gibt). Die Bestimmung der Komplexitt des Erfllbarkeitsproblems

Beispiel 177 (Erfllbarkeitstest mittels Wahrheitswerttabelle).


Da die Formel F = ((x1 x2 ) (x2 x3 )) fr die Belegungen
71

7 NP-vollstndige Probleme

7.1 Aussagenlogische Erfllbarkeitsprobleme

(engl. satisfiability) fr boolesche Formeln hat also groe praktische


Bedeutung.

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 ,

Aussagenlogisches Erfllbarkeitsproblem (Sat):


Gegeben: Eine boolesche Formel F in den Variablen x1 , . . . , xn .
Gefragt: Ist F erfllbar?

die fr folgende Aussagen stehen:

Dabei kodieren wir boolesche Formeln F durch Binrstrings wF und


ordnen umgekehrt jedem Binrstring w eine Formel Fw zu. Um die
Notation zu vereinfachen, werden wir jedoch meist F anstelle von wF
schreiben.

xt,q : zum Zeitpunkt t befindet sich M im Zustand q,


yt,i : zur Zeit t besucht M das Feld mit der Nummer i,
zt,i,a : zur Zeit t steht das Zeichen a auf dem i-ten Feld.
Konkret sei nun Fw = R S 1 2 E. Dabei stellt die Formel
p(n)
R = t=0 Rt (Randbedingungen) sicher, dass wir jeder erfllenden
Belegung eindeutig eine Folge von Konfigurationen K0 , . . . , Kp(n) zuordnen knnen:

Satz 179 (Cook, Karp, Levin). Sat ist NP-vollstndig.


Beweis. Es ist leicht zu sehen, dass Sat NP ist, da eine NTM
zunchst eine Belegung a fr eine gegebene booleschen Formel F
nichtdeterministisch raten und dann in Polynomialzeit testen kann,
ob F (a) = 1 ist (guess and verify Strategie).
Es bleibt zu zeigen, dass Sat NP-hart ist. Sei L eine beliebige NPSprache und sei M = (Z, , , , q0 ) eine durch ein Polynom p zeitbeschrnkte k-NTM mit L(M ) = L. Da sich eine t(n)-zeitbeschrnkte
k-NTM in Zeit t2 (n) durch eine 1-NTM simulieren lsst, knnen wir
k = 1 annehmen. Unsere Aufgabe besteht nun darin, in Polynomialzeit zu einer gegebenen Eingabe w = w1 . . . wn eine Formel Fw zu
konstruieren, die genau dann erfllbar ist, wenn w L ist,

Rt = G(xt,q0 , . . . , xt,qm ) G(yt,p(n) , . . . , yt,p(n) )


p(n)

G(zt,i,a1 , . . . , zt,i,al ).
i=p(n)

Die Teilformel Rt sorgt also dafr, dass zum Zeitpunkt t


genau ein Zustand q {q0 , . . . , qm } eingenommen wird,
genau ein Bandfeld i {p(n), . . . , p(n)} besucht wird und
auf jedem Feld i genau ein Zeichen a steht.
Die Formel S (wie Startbedingung) stellt sicher, dass zum Zeitpunkt
0 tatschlich die Startkonfiguration

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

7.1 Aussagenlogische Erfllbarkeitsprobleme

n1

p(n)

K0 ist Startkonfiguration von M (w) (wegen S(a) = 1),

i=p(n)

i=0

i=n

Ki Ki+1 fr i = 0, . . . , p(n) 1 (wegen 1 (a) = 2 (a) = 1),

S = x0,q0 y0,0 z0,i, z0,i,wi+1 z0,i,

M nimmt sptestensin der Konfiguration Kp(n) den Endzustand


qm an (wegen E(a) = 1).

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)

Also gilt fr alle w die quivalenz w L(M ) Fw Sat, d.h.


die FP-Funktion f w Fw reduziert L(M ) auf Sat.

(yt,i zt,i,a zt+1,i,a )

i=p(n) a

Korollar 180. Sat P P = NP.

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.

(xt,p yt,i zt,i,a

i=p(n) a pZ

xt+1,q yt+1,i+D zt+1,i,b ),

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, x1 , . . . , xn , (, j), (, j, k), (, j, k)}


mit 1 j, k < l.
b) Die am Gatter gl berechnete n-stellige boolesche Funktion ist
induktiv wie folgt definiert:

ist. Schlielich berprft E, ob M zur Zeit p(n) den Endzustand qm


erreicht hat:
E = xp(n),qm

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)

Da der Aufbau der Formel f (w) = Fw einem einfachen Bildungsgesetz


folgt und ihre Lnge polynomiell in n ist, folgt f FP. Es ist klar,
dass Fw im Fall w L(M ) erfllbar ist, indem wir die Variablen von
Fw gem einer akz. Rechnung von M (w) belegen. Umgekehrt fhrt
eine Belegung a mit Fw (a) = 1 wegen R(a) = 1 eindeutig auf eine
Konfigurationenfolge K0 , . . . , Kp(n) , so dass gilt:

c) S berechnet die boolesche Funktion S(a) = gm (a).


d) S heit erfllbar, wenn eine Eingabe a {0, 1}n mit S(a) = 1
existiert.
73

7 NP-vollstndige Probleme

7.1 Aussagenlogische Erfllbarkeitsprobleme

Beispiel 182. Der Schaltkreis

S = (x1 , x2 , x3 , x4 , (, 1, 2), (, 2, 3),


(, 3, 4), (, 5), (, 6), (, 7),
(, 6, 8), (, 9, 10), (, 11, 12))
ist nebenstehend graphisch dargestellt.

b) Eine Klausel ist eine Disjunktion C = kj=1 lj von Literalen.


Hierbei ist auch k = 0 zulssig, d.h. die leere Klausel reprsentiert die Konstante 0 und wird blicherweise mit
bezeichnet.
c) Eine Formel F ist in konjunktiver Normalform (kurz
KNF), falls F eine Konjunktion

x1

x2

x3

x4

F = Ci

i=1

von m 0 Klauseln ist. Im Fall m = 0 reprsentiert F die


Konstante 1.
d) Enthlt jede Klausel hchstens k Literale, so heit F in k-KNF.

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.

Erfllbarkeitsproblem fr boolesche Schaltkreise (CirSat):


Gegeben: Ein boolescher Schaltkreis S.
Gefragt: Ist S erfllbar?

Erfllbarkeitsproblem fr k-KNF Formeln (k-Sat):


Gegeben: Eine boolesche Formel F in k-KNF.
Gefragt: Ist F erfllbar?

Da eine boolesche Formel F leicht in einen quivalenten Schaltkreis


S mit s(a) = F (a) fr alle Belegungen a transformiert werden kann,
folgt Sat p CirSat.

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?

Korollar 184. CirSat ist NP-vollstndig.


Bemerkung 185. Da Sat NP-vollstndig ist, ist CirSat in Polynomialzeit auf Sat reduzierbar. Dies bedeutet, dass sich jeder Schaltkreis
S in Polynomialzeit in eine quivalente Formel FS berfhren lsst.
FS und S mssen aber nicht logisch quivalent sein.

Beispiel 187. Die 3-KNF Formel F = (x1


x2 )(
x1 x3 )(x2
x3 x4 )
ist alternativ durch folgende Klauselmenge darstellbar:

CirSat ist sogar auf eine ganz spezielle Sat-Variante reduzierbar.

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

7.2 Entscheidungsprobleme fr regulre Sprachen

Satz 188. 3-Sat ist NP-vollstndig.

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.

7.2 Entscheidungsprobleme fr regulre


Sprachen

Gatter gi Semantik von Fi Klauseln von Fi


0
1
xj
(, j)
(, j, k)
(, j, k)

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.

Satz 189. Das Wortproblem fr NFAs,


WPNFA = {N #x N ist ein NFA und x L(N )},
ist in P entscheidbar.

Ist nmlich a {0, 1}n eine Eingabe mit S(a) = 1. Dann erhalten wir
mit
bl = gl (a) fr l = 1, . . . , m

Beweis. Um die Zugehrigkeit von x zu L(N ) zu testen, simulieren


wir den Potenzmengen-DFA bei Eingabe x:

eine erfllende Belegung ab1 . . . bm fr FS . Ist umgekehrt ab1 . . . bm eine


erfllende Belegung fr FS , so folgt durch Induktion ber i = 1, . . . , m,
dass
gi (a) = bi

P-Algorithmus fr WPNFA
1
2
3

ist. Insbesondere muss also gm (a) = bm gelten, und da {ym } eine


Klausel in FS ist, folgt S(a) = gm (a) = bm = 1. Damit haben wir ge-

4
5

75

Input: NFA N = (Z, , , Q0 , E) und ein Wort x = x1 . . . xn


Q = Q0
for i = 1 to n do
Q = qQ (q, xi )
if Q E then accept else reject

7 NP-vollstndige Probleme

7.2 Entscheidungsprobleme fr regulre Sprachen

Es ist klar, dass dieser Algorithmus korrekt arbeitet und auch in eine
polynomiell zeitbeschrnkte DTM fr die Sprache WPNFA transformiert werden kann.

NP-Algorithmus fr das Inquivalenzproblem fr SFRAs


1
2
3

Korollar 190. Das Wortproblem fr regulre Ausdrcke ist in P


entscheidbar:

Input: SFRAs und


m = max{, }
guess x {0, 1}m
if x L()L() then accept else reject

Als nchstes reduzieren wir 3-Sat auf das Inquivalenzproblem fr


SFRAs. Sei eine 3-KNF Formel F = {C1 , . . . , Cm } gegeben. Betrachte
den regulren Ausdruck F = (1 . . . m ) mit j = j1 . . . jn und

WPRA = {#x ist ein regulrer Ausdruck und x L()} P.


Beweis. Ein regulrer Ausdruck lsst sich in Polynomialzeit in einen
quivalenten NFA N transformieren. Daher gilt WPRA p WPNFA
mittels f (#x) (N #x). Da nach vorigem Satz WPNFA P ist,
und da P unter p abgeschlossen ist, folgt WPRA P.

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.

Dann ist L(j ) = {a {0, 1}n Cj (a) = 0} und daher folgt


F 3-Sat

Satz 191. Das quivalenzproblem fr sternfreie regulre Ausdrcke


PSFRA = {# , sind SFRAs mit L() = L()}
ist co-NP-vollstndig.

a {0, 1}n F (a) = 1


a {0, 1}n j = 1, . . . , m Cj (a) = 1
a {0, 1}n j = 1, . . . , m a / L(j )
a {0, 1}n a / L(F )
L(F ) {0, 1}n

Also folgt 3-Sat p PSFRA mittels F F # (01) . . . (01).


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

ist. Daher entscheidet folgender NP-Algorithmus das Inquivalenzproblem fr SFRAs:


76

Falls G aus dem Kontext ersichtlich ist, schreiben wir auch einfach n,
m, N (v), N (U ), deg(v), usw.

Wort- Leerheits- Schnitt- quivalenz- Inklusionsproblem problem problem


problem
problem
xL ?
L= ? L1 L2 =/ ? L1 =L2 ?
L1 L2
DFA
SFRA
RA
NFA

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 :

Definition 192. Ein (ungerichteter) Graph ist ein Paar G =


(V, E), wobei

K1,2 :

K2,2 :

K2,3 :

K3,3 :

Der Pfad der Lnge m wird mit Pm bezeichnet.


P1 :

V - eine endliche Menge von Knoten/Ecken und


E - die Menge der Kanten ist.

P2 :

P3 :

P4 :

Der Kreis der Lnge n wird mit Cn bezeichnet.

Hierbei gilt

C3 :

E (V2 ) = {{u, v} V u v}.


a) Die Knotenzahl von G ist n(G) = V .
b) Die Kantenzahl von G ist m(G) = E.
c) Die Nachbarschaft von v V ist

C4 :

C5 :

C6 :

7.3.1 Cliquen, Stabilitt und Kantenberdeckungen


Definition 194. Sei G = (V, E) ein Graph.
a) Ein Graph G = (V , E ) heit Sub-/Teil-/Untergraph von
G, falls V V und E E ist. Ein Subgraph G = (V , E ) heit

(durch V ) induziert, falls E = E (V2 ) ist. Hierfr schreiben


wir auch H = G[V ].
b) Ein Weg ist eine Folge von (nicht notwendig verschiedenen)
Knoten v0 , . . . , v` mit {vi , vi+1 } E fr i = 0, . . . , ` 1. Sind alle

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?

Knoten auf dem Weg paarweise verschieden, so heit der Weg


einfach oder Pfad. Die Lnge des Weges ist die Anzahl der
Kanten, also `. Im Fall ` = 0 heit der Weg trivial. Ein Weg
v0 , . . . , v` heit auch v0 -v` -Weg.
Ein Zyklus ist ein u-v-Weg der Lnge ` 2 mit u = v.
Ein Kreis ist ein Zyklus v0 , v1 . . . , v`1 , v0 der Lnge ` 3, fr
den v0 , v1 , . . . , v`1 paarweise verschieden sind.
G heit zusammenhngend, wenn es von jedem Knoten u in
G zu jedem Knoten v in G einen Weg gibt.
Eine Knotenmenge U V heit stabil oder unabhngig,
wenn keine Kante in G beide Endpunkte in U hat, d.h. es gilt
E (U2 ) = . Die Stabilittszahl ist

Vertex Cover (VC): Hat G eine Kantenberdeckung der Gre k?


Satz 195.
Clique, IS und VC sind NP-vollstndig.
Matching ist in P entscheidbar (ohne Beweis).
Beweis. Wir zeigen zuerst, dass IS NP-hart ist. Hierzu reduzieren
wir 3-Sat auf IS. Sei F = {C1 , . . . , Cm } mit Ci = {li,1 , . . . , li,ki } fr i =
1, . . . , m eine 3-KNF-Formel ber den Variablen x1 , . . . , xn . Betrachte
den Graphen G = (V, E) mit
V = {vij 1 i m, 1 j ki } und

(G) = max{U U ist stabile Menge in G}.

E = {{vs,t , vu,v } (V2 ) s = u oder lst ist komplementr zu luv }.

g) Eine Knotenmenge U V heit Clique, wenn jede Kante mit


beiden Endpunkten in U in E ist, d.h. es gilt (U2 ) E. Die
Cliquenzahl ist

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.

(G) = max{U U ist Clique in G}.


h) Eine Knotenmenge U V heit Kantenberdeckung (engl.
vertex cover), wenn jede Kante e E mindestens einen Endpunkt in U hat, d.h. es gilt e U =/ fr alle Kanten e E. Die
berdeckungszahl ist
(G) = min{U U ist eine Kantenberdeckung in G}.

Als nchstes reduzieren wir IS auf Clique. Es ist leicht zu sehen,


dass jede Clique in einem Graphen G = (V, E) eine stabile Menge in
= (V, E)
mit E = (V ) E ist
dem zu G komplementren Graphen G
2
und umgekehrt. Daher lsst sich IS mittels

Fr einen gegebenen Graphen G und eine Zahl k 1 betrachten wir


die folgenden Fragestellungen:
Clique: Hat G eine Clique der Gre k?

k)
f (G, k) (G,

Matching: Hat G ein Matching der Gre k?


78

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:

auf Clique reduzieren. Schlielich ist eine Menge I offenbar genau


dann stabil, wenn ihr Komplement V I eine Kantenberdeckung ist.
Daher lsst sich IS mittels
f (G, k) (G, n(G) k)
auf VC reduzieren.

7.3.2 Frbung von Graphen


Definition 196. Sei G = (V, E) ein Graph und sei k N.
a) Eine Abbildung f V N heit Frbung von G, wenn f (u)
f (v) fr alle {u, v} E gilt.
b) G heit k-frbbar, falls eine Frbung f V {1, . . . , k} existiert.
c) Die chromatische Zahl ist
(G) = min{k N G ist k-frbbar}.

Gatter gi Klauseln von Fi


k-Frbbarkeit (k-Coloring):
Gegeben: Ein Graph G.
Gefragt: Ist G k-frbbar?

0
1
xj
(, j)
(, j, k)
(, j, k)

Um zu zeigen, dass 3-Coloring NP-vollstndig ist, reduzieren wir


NaeSat auf 3-Coloring. Die Reduktion von CirSat auf 3-Sat
lsst sich nmlich leicht zu einer Reduktion von CirSat auf NaeSat
modifizieren, weshalb NaeSat (wie 3-Sat) NP-vollstndig ist.

{
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

Satz 197. NaeSat ist NP-vollstndig.


Beweis. Es ist klar, dass NaeSat NP liegt. Die Reduktion s Fs
von CirSat auf 3-Sat aus vorigem Beweis erfllt bereits die folgenden Bedingungen:

s CirSat Fs NaeSat.
79

7 NP-vollstndige Probleme

7.3 Graphprobleme

Fr den Nachweis der umgekehrten Implikation sei nun Fs NaeSat


angenommen. Dann existiert eine Belegung abc {0, 1}n+m+1 fr Fs ,
unter der in jeder Klausel ein wahres und ein falsches Literal vorkommen. Da dies auch unter der komplementren Belegung abc der Fall
ist, knnen wir c = 0 annehmen. Dann erfllt aber die Belegung ab
die Formel Fs und damit folgt s(a) = 1, also s CirSat.

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

Definition 199. Sei G = (V, E) ein Graph und sei s = (v0 , v1 , . . . , vl )


eine Folge von Knoten mit {vi , vi+1 } E fr i = 0, . . . , l 1.
a) s heit Eulerlinie (auch Eulerzug oder Eulerweg) in G,
falls s jede Kante in E genau einmal durchluft, d.h. es gilt
{{vi , vi+1 } i = 0, . . . , l 1} = E und l = E.
b) Gilt zudem vl = v0 , so heit s Eulerkreis (auch Eulerzyklus
oder Eulertour).
c) s heit Hamiltonpfad in G, falls s jeden Knoten in V genau
einmal durchluft, d.h. es gilt {v0 , . . . , vl } = V und l = V 1.
d) Ist zudem {v0 , vl } E, d.h. s = (v0 , v1 , . . . , vl , v0 ) ist ein Kreis,
so heit s Hamiltonkreis.

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

Die angegebenen Definitionen lassen sich unmittelbar auf Digraphen


bertragen, indem wir jede darin vorkommende ungerichtete Kante
{u, v} durch die gerichtete Kante (u, v) ersetzen.

Wir betrachten fr einen gegebenen Graphen (bzw. Digraphen) G


und zwei Knoten s und t folgende Entscheidungsprobleme:
Das Eulerlinienproblem (EulerPath bzw. DiEulerPath)
Hat G eine Eulerlinie von s nach t?

Beispiel 200 (Das Knigsberger Brckenproblem).


a
Gibt es einen Spaziergang ber alle 7
Brcken, bei dem keine Brcke mehrmals
d
b
berquert wird und der zum Ausgangspunkt zurckfhrt?
c
Diese Frage wurde von Euler (1707 1783)
a
durch Betrachtung des nebenstehenden Graphen beantwortet. Dieser Graph hat offenbar
b
d
genau dann einen Eulerkreis, wenn die Antwort ja ist. (Wir werden gleich sehen, dass
c
die Antwort nein ist.)

Beispiel 201.
Der nebenstehende Graph besitzt die Eulerlinie
(4, 1, 2, 3, 5, 7, 6, 4, 5, 2, 4, 7), aber keinen Eulerkreis.

Das Hamiltonpfadproblem (HamPath bzw. DiHamPath)


Hat G einen Hamiltonpfad von s nach t?
Zudem betrachten wir fr einen gegebenen Graphen (bzw. Digraphen)
G die folgenden Probleme:
Das Eulerkreisproblem (EulerCycle bzw. DiEulerCycle)
Hat G einen Eulerkreis?
Das Hamiltonkreisproblem (HamCycle bzw. DiHamCycle)
Hat G einen Hamiltonkreis?
Satz 202 (Euler, 1736). Sei G ein zusammenhngender Graph.
(i) G besitzt genau dann einen Eulerkreis, wenn alle seine Knoten
geraden Grad haben.
(ii) G besitzt im Fall s t genau dann eine Eulerlinie von s nach t,
wenn s und t ungeraden Grad und alle brigen Knoten geraden
Grad haben.

1
6
7

Der nebenstehende Digraph besitzt den Eulerkreis s = (1, 4, 5, 2, 3, 5, 7, 4, 7, 6, 4, 2, 1).


Es folgen ein Hamiltonkreis in einem Graphen
sowie ein a-d-Hamiltonpfad in einem Graphen
und ein m-p-Hamiltonpfad in einem Digraphen:

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

Whle u V beliebig und initialisiere s zu s = (u)

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.

Whle einen beliebigen Knoten u auf dem Weg s, der mit


einer unmarkierten Kante verbunden ist .
Folge ausgehend von u den unmarkierten Kanten auf einem
beliebigen Weg z solange wie mglich und markiere
dabei jede durchlaufene Kante. (Da von jedem
erreichten Knoten v u ungerade viele markierte Kanten
ausgehen, muss der Weg z zum Ausgangspunkt u
zurckfhren.)
Fge den Zyklus z an der Stelle u in s ein.
Wenn noch nicht alle Kanten markiert sind , gehe zu 2.
Output: s

Satz 204 (Euler, 1736). Sei G = (V, E) ein stark zusammenhngender


Digraph.
(i) G besitzt genau dann einen Eulerkreis, wenn fr jeden Knoten
u in V der Ein- und Ausgangsgrad bereinstimmen.
(ii) G besitzt genau dann eine Eulerlinie von s nach t, wenn fr
jeden Knoten u V {s, t} der Ein- und Ausgangsgrad bereinstimmen und deg+ (s) deg (s) = deg (t) deg+ (t) = 1 ist.

(ii) Da G im Fall s t genau dann eine Eulerlinie von s nach t


hat, wenn der Graph G = (V {uneu }, E {{t, uneu }, {uneu , s}})
einen Eulerkreis hat, folgt dies aus Teil (i) des Satzes.

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.

Beim Problem des Handlungsreisenden sind die Entfernungen dij


zwischen n Stdten i, j {1, . . . , n} gegeben. Gesucht ist eine Rundreise (i1 , . . . , in ) mit minimaler Lnge di1 ,i2 + + din1 ,in + din ,i1 , die
jede Stadt genau einmal besucht. Die Entscheidungsvariante dieses
Optimierungsproblems ist wie folgt definiert.

Definition 203. Sei G = (V, E) ein Digraph, d.h. E V V =


{(u, v) u, v V }, wobei E auch Schlingen (u, u) enthalten kann, und
sei v V ein Knoten.
a) Die Nachfolgermenge von v ist N + (v) = {u V (v, u) E}.
b) Die Vorgngermenge von v ist N (v) = {u V (u, v) E}.
c) Die Nachbarmenge von v ist N (v) = N + (v) N (v).
d) Der Ausgangsgrad von v ist deg+ (v) = N + (v).
e) Der Eingangsgrad von v ist deg (v) = N (v).
f) Der Grad von v ist deg(v) = deg+ (v) + deg (v).
g) Ein (gerichteter) v0 -vj -Weg in G ist eine Folge von Knoten
(v0 , . . . , vj ) mit (vi , vi+1 ) E fr i = 0, . . . , j 1.

Problem des Handlungsreisenden (TSP; traveling-salesmanproblem)


Gegeben: Eine n n Matrix D = (di,j ) Nnn und eine Zahl k.
Gefragt: Existiert eine Permutation {1, . . . , n} {1, . . . , n},
so dass die Rundreise ((1), . . . , (n)) die Lnge k
hat?
Wir zeigen nun, dass die Probleme DiHamPath, HamPath, DiHamCycle, HamCycle und TSP alle NP-vollstndig sind. Es ist
82

7 NP-vollstndige Probleme

7.3 Graphprobleme
Satz 208. DiHamPath p DiHamCycle.

leicht zu sehen, dass diese Probleme in NP entscheidbar sind. Zum


Nachweis der NP-Hrte zeigen wir folgende Reduktionen:
3-Sat p DiHamPath p

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

Wir reduzieren zuerst HamCycle auf TSP.

V = V {uneu } und
E = E {(t, uneu ), (uneu , s)}.

Satz 206. HamCycle p TSP.


Beweis. Sei ein Graph G = (V, E) gegeben. Wir knnen annehmen,
dass V = {1, . . . , n} ist. Dann lsst sich G in Polynomialzeit auf die
TSP Instanz (D, n) mit D = (di,j ) und

Offenbar ist G in Polynomialzeit aus G berechenbar und besitzt genau


dann einen Hamiltonkreis, wenn G einen s-t-Hamiltonpfad besitzt.
hnlich lsst sich auch HamPath auf HamCycle reduzieren.

1, falls {i, j} E,
di,j =

2, sonst,

Satz 209. 3-Sat p DiHamPath.

transformieren. Diese Reduktion ist korrekt, da G genau dann einen


Hamiltonkreis hat, wenn es in dem Distanzgraphen D eine Rundreise
((1), . . . , (n)) der Lnge L() n gibt.

Beweis. Sei F = {C1 , . . . , Cm } mit Cj = {lj1 , . . . , ljkj } fr j = 1, . . . , m


eine 3-KNF-Formel ber den Variablen x1 , . . . , xn . Wir transformieren F in Polynomialzeit in einen Digraphen GF = (V, E) mit zwei
ausgezeichneten Knoten s und t, der genau dann einen hamiltonschen
s-t-Pfad besitzt, wenn F erfllbar ist.
Jede Klausel Cj reprsentieren wir durch einen Knoten cj und jede
Variable xi reprsentieren wir durch folgenden Graphen Xi .

Als nchstes reduzieren wir DiHamCycle auf HamCycle.


Satz 207. DiHamCycle p HamCycle.
Beweis. Wir transformieren wir einen Digraphen G auf einen Graphen
G , indem wir lokal fr jeden Knoten u V die folgende Ersetzung
durchfhren:
u

si

u
xi

Dann ist klar, dass die Funktion G G in FP berechenbar ist, und


G genau dann einen Hamiltonkreis enthlt, wenn dies auf G zutrifft.
hnlich lsst sich auch DiHamPath auf HamPath reduzieren.

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.

Die Knotenmenge V von GF ist also


V ={c1 , . . . , cm } {s1 , . . . , sn+1 } {x1 , x1 , . . . , xn , xn }
n

{ti,0 , li,1 , ri,1 , ti,1 , . . . , li,m , ri,m , ti,m }.


i=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

Beispiel 210. Die 3-Sat-Instanz


F = (
x1 x3 x4 ) (x1 x2 x4 ) (
x2 x4 )
lsst sich auf oben abgebildeten Digraphen G mit Startknoten s = s1
und Zielknoten t = s5 reduzieren. Der erfllenden Belegung b = 0110
84

7 NP-vollstndige Probleme

7.4 Das Rucksack-Problem

entspricht beispielsweise der Hamiltonpfad, der von s1 ber x1 , c1 , x1 ,


s2 , x2 , c2 , x2 , s3 , x3 , x3 , s4 , x4 , c3 und x4 nach s5 geht.

{lj1 , . . . , ljkj } fr j = 1, . . . , m. Betrachte die Reduktionsfunktion

7.4 Das Rucksack-Problem

wobei ui und ui die Dezimalzahlen

, w),
f F (u1 , . . . , un , u1 , . . . , un , v1 , . . . , vm , v1 , . . . , vm

ui = bi1 . . . bim 0i1 10ni1 und ui = bi1 . . . bim 0i1 10ni1

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

Sei nun a = a1 . . . an eine erfllende Belegung fr F . Da a in jeder


Klausel mindestens ein und hchstens drei Literale wahr macht, hat
die Zahl
ui + ui

Beim SubsetSum-Problem mchte man dagegen nur wissen, ob der


Rucksack randvoll gepackt werden kann.
SubsetSum:
Gegeben: Eine Folge (u1 , . . . , uk , w) von natrlichen Zahlen.
Gefragt: Ex. eine Auswahl S {1, . . . , k} mit ui = w?

ai =1

ai =0

eine Dezimaldarstellung der Form b1 . . . bm 1 . . . 1 mit 1 bj 3 fr


j = 1, . . . , m. Durch Addition von

iS

Satz 211. Rucksack und SubsetSum sind NP-vollstndig.

vj + vj
bj 2

Beweis. Es ist leicht zu sehen, dass beide Probleme in NP enthalten


sind. Zum Nachweis der NP-Hrte zeigen wir die folgenden Reduktionen:
3-Sat p SubsetSum p Rucksack.

bj =1

erhalten wir den gewnschten Wert w. Dies zeigt, dass F 3-Sat


die Zugehrigkeit von f (F ) SubsetSum impliziert. Fr die umgekehrte Implikation sei S = P N I J eine Auswahlmenge fr die
SubsetSum-Instanz f (F ) mit

Da SubsetSum einen Spezialfall des Rucksack-Problems darstellt,


lsst es sich leicht darauf reduzieren:
(u1 , . . . , uk , w) (u1 , . . . , uk , w, w).

ui + ui + vj + vj = 3 . . . 3 1 . . . 1 .

iP
iN
jI
jJ

Es bleibt also 3-Sat p SubsetSum zu zeigen. Sei F = {C1 , . . . , Cm }


eine 3-KNF-Formel ber den Variablen x1 , . . . , xn mit Cj =

Da die Teilsumme jI vj + jJ vj die Form c1 . . . cm 0 . . . 0 mit cj 2


hat, muss die Teilsumme iP ui + iN ui die Form b1 . . . bm 1 . . . 1

m-mal

85

n-mal

7 NP-vollstndige Probleme

7.5 Ganzzahlige lineare Programmierung

mit bj 1 haben. Da keine bertrge auftreten, muss also P =


{1, . . . , n} N gelten und jede Klausel Cj mindestens ein Literal aus
der Menge {xi i P } {
xi i N } enthalten. Folglich wird F von
folgender Belegung a = a1 . . . an erfllt:

Ganzzahlige Programmierung (IP; integer programming)


Gegeben: Eine ganzzahlige m n Matrix A = (aij ) Zmn und ein
ganzzahliger Vektor b Zm .
Gefragt: Existiert ein ganzzahliger Vektor x Zn mit Ax b
wobei komponentenweise zu verstehen ist.

1, i P,
ai =

0, i N.

Satz 213. IP ist NP-hart.


Beweis. Wir reduzieren 3-Sat auf IP. Sei F = {C1 , . . . , Cm } mit Cj =
{lj1 , . . . , ljkj } fr j = 1, . . . , m eine 3-KNF-Formel ber den Variablen
x1 , . . . , xn . Wir transformieren F in ein Ungleichungssystem Ax b
fr den Lsungsvektor x = (x1 , . . . , xn , x1 , . . . , xn ), das
fr i = 1, . . . , n die vier Ungleichungen

Damit haben wir die Korrektheit von f gezeigt. Da f zudem in


Polynomialzeit berechenbar ist, folgt 3-Sat p SubsetSum.

Beispiel 212. Betrachte die 3-KNF Formel


F = (
x1 x3 x4 ) (x1 x2 x4 ) (
x2 x4 ).

xi + xi 1, xi xi 1, xi 0, xi 0

Die zu F gehrige SubsetSum-Instanz f (F ) ist

und fr jede Klausel Cj = {lj1 , . . . , ljkj } folgende Ungleichung


enthlt:

(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,

()

u1 = 100 1000, v1 = v1 = 100 0000,


u2 = 001 0100, v2 = v2 = 010 0000,
u3 = 100 0010, v3 = v3 = 001 0000,
u4 = 001 0001,

()

Die Ungleichungen () sind fr ganzzahlige xi , xi genau dann er- fllt,


wenn xi den Wert 0 und xi den Wert 1 hat oder umgekehrt. Die
Klauselungleichungen () stellen sicher, dass mindestens ein Literal
in jeder Klausel Cj wahr wird. Nun ist leicht zu sehen, dass jede
Lsung x von Ax b einer erfllenden Belegung von F entspricht
und umgekehrt.

sowie w = 333 1111. Der erfllenden Belegung a = 0100 entspricht


dann die Auswahl (u1 , u2 , u3 , u4 , v1 , v2 , v2 , v3 , v3 ).

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.5 Ganzzahlige lineare Programmierung


In bestimmten Anwendungen tritt das Problem auf, einen Lsungsvektor mit ganzzahligen Koeffizienten fr ein System linearer Ungleichungen zu finden.
86

7 NP-vollstndige Probleme

7.6 Max-Sat 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:

7.6 Max-Sat Probleme


In manchen Anwendungen gengt es nicht, festzustellen, dass eine
KNF-Formel F nicht erfllbar ist. Vielmehr mchte man wissen, wieviele Klauseln in F maximal erfllbar sind. Die Schwierigkeit dieses
Optimierungsproblems lsst sich durch folgendes Entscheidungsproblem charakterisieren.
Max-k-SAT:
Gegeben: Eine Formel F in k-KNF und eine Zahl l.
Gefragt: Existiert eine Belegung a, die mindestens l Klauseln in
F erfllt?

F 3-Sat (F , m + 6k) Max-2-Sat.

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

7.7 Matchings und der Heiratssatz


Das Matching M = {{v, w}} ist gesttigt, da es sich nicht zu einem
greren Matching erweitern lsst. M ist jedoch nicht optimal, da
M = {{v, x}, {u, w}} grer ist. Die Greedy-Methode, ausgehend von
M = solange Kanten zu M hinzuzufgen, bis sich M nicht mehr zu
einem greren Matching erweitern lsst, funktioniert also nicht.

7.7 Matchings und der Heiratssatz


Beim Heiratsproblem ist eine Gruppe V von heiratswilligen Personen
gegeben, wobei u, w V durch eine Kante verbunden sind, falls aus
Sicht von u und w die Mglichkeit einer Heirat zwischen u und w
besteht. Sind Vielehen ausgeschlossen, so lsst sich jedes mgliche
Heiratsarrangement durch ein Matching beschreiben.

In vielen Anwendungen geht es darum, ein mglichst groes Matching


zu finden. Falls beim Heiratsproblem Homoehen ausgeschlossen sind,
ist der resultierende Graph G = (V, E) bipartit.

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

Definition 218. Sei G = (V, E) ein Graph. Fr U, W V bezeichne


E(U, W ) = {{u, w} E u U, w W }
die Menge aller Kanten zwischen U und W in G. G heit bipartit,
falls sich V in zwei Teilmengen U und W mit E(U, W ) = E zerlegen
lsst. In diesem Fall notieren wir G auch in der Form G = (U, W, E).

(G) = max{M M ist ein Matching in G}

Bipartites Matching (BiMatching)


Gegeben: Ein bipartiter Graph G und eine Zahl k 1.
Gefragt: Gibt es in G ein Matching M der Gre M k?

d) Ein Matching M der Gre M = (G) heit optimal.


e) M heit gesttigt, falls M {e} fr keine Kante e E M
ein Matching ist.
f) M heit perfekt, falls {v V e M v e} > n d ist.

d-dimensionales Matching (d-Matching)


Gegeben: Ein d-uniformer Hypergraph G = (V, E) und eine Zahl
k 1.
Gefragt: Gibt es in G ein Matching M der Gre M k?

=V (M )

Jedes perfekte Matching ist optimal, aber ein optimales Matching


muss nicht perfekt sein. Entsprechend ist jedes optimale Matching
gesttigt, aber ein gesttigtes Matching muss nicht optimal sein.

d-dimensionales perfektes Matching (d-PerfectMatching)


Gegeben: Ein d-uniformer Hypergraph G = (V, E).
Gefragt: Gibt es in G ein perfektes Matching M ?

Beispiel 217. Betrachte folgende Matchings:


u

Im Fall d = 2 schreiben wir auch einfach Matching bzw.


PerfectMatching.
Die Komplexitt dieser Entscheidungsprobleme lsst sich wie folgt
einordnen.

M
88

7 NP-vollstndige Probleme

7.7 Matchings und der Heiratssatz


Insbesondere hat G genau dann ein Matching M der Gre M = U ,
wenn fr alle Teilmengen A U gilt: N (A) A.

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

Dann hat P ungerade Lnge 2k + 1, k 0, und wir knnen M zu M


vergrern, indem wir die k zu P gehrigen Matchingkanten aus M
entfernen, und dafr die k +1 brigen Kanten von P zu M hinzufgen:

Sei A U beliebig und sei M ein beliebiges Matching. Da M hchstens


N (A) Knoten in A berdecken kann, gilt
U M A N (A).

M = (M {{wi , ui+1 } 0 i < k}) {{ui , wi } 0 i k}.

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

Frage. Ist diese Schranke in jedem bipartiten Graphen scharf?


Anders ausgedrckt: Lsst sich die Optimalitt von M immer durch
Angabe einer Menge A U mit U M = A N (A) beweisen?
Eine positive Antwort auf diese Frage gibt folgender Satz von Hall.

U = A = A A+ und A N (A) D

Satz 221 (Heiratssatz von Hall).


Fr einen bipartiten Graphen G = (U, W, E) ist

reicht es zu zeigen, dass A+ N (A) ist. Hierzu beweisen wir,


dass die Abbildung f A+ N (A), die jedem Knoten u A+ seinen
Matchingpartner zuordnet, eine Surjektion ist.

(G) = U max (A N (A)) .


AU

89

7 NP-vollstndige Probleme

7.7 Matchings und der Heiratssatz

Sei also w N (A) und sei u A mit {u , w} E. Falls {u , w} M


ist, folgt sofort u A+ und w = f (u ). Andernfalls ist mit u auch w
in X und wegen X W = in W + . Folglich existiert ein u U + mit
{u, w} M . u ist sogar in A+ , da u in GM von w aus erreichbar und
w X ist.

benutzen, um M zu dem Matching


M = (M {{w3 , u3 }, {w4 , u4 }}) {{u5 , w4 }, {u4 , w3 }, {u3 , w5 }}
= {{u1 , w1 }, {u2 , w2 }, {u3 , w5 }, {u4 , w3 }, {u5 , w4 }}
zu vergrern.

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

Um einen Pfad P von U nach W in GM zu bestimmen, knnen wir


wie folgt vorgehen: Beginnend mit S0 = U berechnen wir sukzessive
die Mengen Si+1 = Si N (Si ) (und speichern dabei zu jedem Knoten
v N (Si ) Si einen Vorgnger p(v) = u Si , ber den v von Si
aus erreichbar ist), bis Si+1 einen Knoten w W enthlt (in diesem
Fall haben wir einen Pfad von einem Knoten u U zu w gefunden,
den wir ber die Vorgngerfunktion p zurckverfolgen knnen) oder
Si+1 = Si ist, aber keinen solchen Knoten w enthlt (in diesem Fall
existiert kein Pfad von U nach W ) .
Beispiel 222. Betrachte den Graphen G. Das Matching M =
{{u1 , w1 }, {u2 , w2 }, {u3 , w3 }, {u4 , w4 }} fhrt dann auf den daneben
stehenden Graphen GM . In diesem knnen wir den Pfad
P u5 w4 u4 w3 u3 w5
90

GM

GM

8 Approximative Lsung von Optimierungsproblemen


Lnge y = xO(1) haben und die Sprache
{x#y y F (x)}
muss in P entscheidbar sein. Eine Lsung yopt F (x) heit optimal,
falls
c(yopt ) = opt {c(y) y F (x)}

8 Approximative Lsung von


Optimierungsproblemen

ist, wobei opt bei einem Minimierungsproblem der min-Operator


und bei einem Maximierungsproblem der max-Operator ist. Wir
bezeichnen den Optimalwert c(yopt ) auch mit OPT(x).

Wir haben eine Reihe von Optimierungsproblemen kennengelernt, fr


die sich in Polynomialzeit keine optimalen Lsungen berechnen lassen
(auer wenn NP = P ist):
Max-k-Sat, k 2,
MaxClique,
Maximum Independent Set (MaxIS),
Minimum Vertex Cover (MinVC),
MinColoring,
Minimum Traveling Salesman Problem (MinTSP),
MaxRucksack.
Da diese Probleme in der Praxis dennoch gelst werden mssen, stellt
sich die Frage, wie nahe man der optimalen Lsung in Polynomialzeit
kommen kann. In vielen Anwendungen ist eine Lsung, die maximal
1% vom Optimum abweicht, durchaus zufriedenstellend.
Bei allen hier betrachteten Optimierungsproblemen handelt es sich um
so genannte NP-Optimierungsprobleme. Diese sind wie folgt definiert.

8.1 Minimum Vertex Cover


Beim Optimierungsproblem Minimum Vertex Cover wird fr
einen gegebenen Graphen G = (V, E) eine mglichst kleine Menge U
von Knoten gesucht, die alle Kanten in G berdecken.
Minimum
Instanz:
Lsung:
Wert:

Vertex Cover (MinVC):


Graph G = (V, E),
alle Kantenberdeckungen U in G,
U .

Formal lsst sich das Optimierungsproblem MinVC also durch die


Funktion
F (G) = {U V e E e U }
und die Kostenfunktion c(U ) = U beschreiben. Betrachte folgenden
Algorithmus.

Definition 223. Ein NP-Optimierungsproblem setzt sich aus


folgenden Komponenten zusammen:
einer Funktion F , die jeder Instanz x eine nichtleere Menge
F (x) von zulssigen Lsungen y zuordnet, und
einer Kostenfunktion c, die jeder Lsung y F (x) einen
Wert c(y) N+ zuweist und in FP berechenbar ist.
Dabei mssen die Lsungen y F (x) eine polynomiell beschrnkte

Algorithmus naiv-Finde-VC(G)
Input: Graph G = (V, E)
U =
while E do
whle einen Knoten u mit maximalem Grad in G
91

8 Approximative Lsung von Optimierungsproblemen

8.1 Minimum Vertex Cover

U = U {u}
G = G {u} (d.h. V = V {u} und E = {e E u / e})
Output: U

Dann hat Gn eine minimale Kantenberdeckung U der Gre


OPT(Gn ) = n. Es ist aber mglich, dass naiv-Finde-VC die Menge
W ausgibt. Diese hat fr k = log2 n die Gre

Es ist klar, dass der Algorithmus eine Kantenberdeckung U in G


berechnet. Bezeichne OPT(G) die minimale Gre einer Kantenberdeckung in G und naiv-Finde-VC(G) bezeichne die Gre der durch
den Algorithmus berechneten Kantenberdeckung.

W = n + n/2 + n/3 + + n/n

Frage. Wie stark kann naiv-Finde-VC(G) von OPT(G) abweichen?

n/2

n/2 + n/3 + + n/n


n/2 + n/3 + n/4 + n/5 + + n/8 + + n/(2k1 + 1) + + n/2k


n/2

n/2

kn/2.
Daher ist OPT(Gn ) = n und

Definition 224. Sei ein NP-Optimierungsproblem.


a) A heit Approximationsalgorithmus fr , falls A fr jede Instanz x in Polynomialzeit eine zulssige Lsung y F (x)
ausgibt. Wir bezeichnen den Wert c(y) der von A bei Eingabe x
berechneten Lsung mit A(x).
b) Der relative Gtequotient (kurz Gte) von A bei Instanz
x ist
OPT(x) A(x)
QA (x) =
.
max{OPT(x), A(x)}

naiv-Finde-VC(Gn ) kn/2,

woraus
Qnaiv-Finde-VC (Gn ) = 1

OPT(Gn )
naiv-Finde-VC(Gn )

und somit Qnaiv-Finde-VC = 1 folgt.

c) Die (worst-case) Gte von A ist


QA = sup {QA (x) x ist eine Probleminstanz} .
QA (x) nimmt nur Werte im halboffenen Intervall [0, 1) an. Dabei
bedeutet QA (x) = 0, dass A(x) = OPT(x) ist. Im Gegensatz zu QA (x)
kann QA auch den Wert 1 annehmen.
Um die Gte von naiv-Finde-VC nach unten abzuschtzen betrachten wir die bipartiten Graphen Gn = (U, W, E), n 1, mit
U = {u0 , . . . , un1 },
W = {vji i = 1, . . . , n, j = 0, . . . , n/i 1} und
E = {{uk , vji } k div i = j}.
92

1 2/k