Entdecken Sie eBooks
Kategorien
Entdecken Sie Hörbücher
Kategorien
Entdecken Sie Zeitschriften
Kategorien
Entdecken Sie Dokumente
Kategorien
Inhaltsverzeichnis
0.1
0.2
1
1.1
1.2
1.3
1.4
1.5
2
2.2
3.2
3.3
3.4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 5
. 7
. 9
. 12
. 13
. 15
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
.
.
.
.
.
.
.
.
.
.
.
Wortproblem fur TM . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . .
Reduktionen und weitere unentscheidbare Probleme . . . . . . . .
3.2.1 Ziel: . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Drei unentscheidbare Probleme . . . . . . . . . . . . . . . . . . .
3.3.1 Domino-Problem . . . . . . . . . . . . . . . . . . . . . .
3.3.2 Postsches Korrespondenzproblem (PCP) . . . . . . . . . .
3.3.3 Halteproblem fur goto2 -Programme (2-Zahler-Maschinen)
Universalitat und Vollstandigkeit . . . . . . . . . . . . . . . . . .
Komplexitatstheorie:
Grundlagen
4.1
4.2
5
.
.
.
.
.
.
Unentscheidbarkeit
3.1
goto-Programme . . . . . . . . . . . . . . . . .
2.1.1 Definition: . . . . . . . . . . . . . . . .
while-Programme . . . . . . . . . . . . . . . . .
2.2.1 Idee: . . . . . . . . . . . . . . . . . . . .
2.2.2 Definition der Programmiersprache while
2.2.3 whilem -Programme: Vorbereitung . . . .
2.2.4 whilem -Programmme: Syntax . . . . . .
2.2.5 whilem -Programme: Semantik . . . . . .
2.2.6 Vergleich loop-while . . . . . . . . . . .
2.2.7 Satz: (Satz von Ackermann) . . . . . . .
2.2.8 Aquivalenzsatz
. . . . . . . . . . . . . .
19
19
21
21
22
22
22
23
24
26
26
31
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31
31
34
34
36
37
39
40
41
42
Zeitkomplexitat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Klassen P und NP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
NP-Vollstandigkeit
5.1
5.2
4
4
5
2.1
Einfuhrung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gliederung der Vorlesung: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
Platzkomplexitat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Approximationsalgorithmen: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Inhaltsverzeichnis
0.1 Einfuhrung
Theoretische Informatik ist die Untersuchung der in der Informatik auftretenden Begriffe, Strukturen, Probleme mit mathematischen Methoden.
1. Naturgesetzliche Bedingungen in der Informationsverarbeitung BuK
2. Standardmodelle und -verfahren fur die Systemkonstruktion ATFS
Zu 1) Erste Aufgabe: Prazisierung von algorithmisches Problem, Algorithmus
(10,14) 7 2
(10,15) 7 5
(10,13) 7 1
x,y := x1,x2
while x != y
if x < y then y := y-x;
else x := x-y
z:=x; //{z=ggT(x1,x2)}
Primzahltest
Gegeben eine nat. Zahl 2, entscheide, ob sie Primzahl ist.
Bsp.2:
Primfaktorzerlegung
Gegeben eine naturliche Zahl 2, berechne ihre Primfaktorzerlegung.
120 7 2 2 2 3 5 = 23 3 5
Bsp.3:
Terminierung
Gegeben ein Java-Programm mit integer-Variablen, entscheide ob es bei Initialisierung mit 0 terminiert.
Bsp.5:
2
s=1
4=t
3
Bsp.1: f : (N \ {0})2 7 N
Bsp.2: f : (N \ {0, 1}) 7 {0, 1}
Bsp.:
bool = {0, 1}
dezimal = {0, . . . , 9}
tastatur = {0, . . . , 9, a, b . . . , !, @}
m = {1, . . . , m}
= Menge der Worter (endl. Zeichenreihen) u ber
ggT Eingabebereich: {0, . . . , 9} {0, . . . , 9} (auch Eingaben zugelassen mit fuhrender Null, 0,
Bsp.2,Bsp.3:
Analog
Bsp.4:
15.10.04
Bsp.:
2
s=1
4=t
3
Beispielkodierung: 4(1-2)(2-3)(3-1)(3-4)(4-2)(1)(4)
Wort allg. : Knotenzahl dezimal, Folge der Kanten(n1 n2 ) mit n1 , n2 dezimal,(S dezimal),(T dezimal)
Alphabet: = {0, . . . , 9, , (, )}
Ein algorithmisches Problem ist gegeben durch die Definition einer Wortfunktion f :
mit , Alphabete.
Losung: Ist ein Algorithmus der f berechnet.
Ergebnis:
1.2 Entscheidungsprobleme
ist geg. durch die Def. einer Funktion f : {0, 1} ( Alphabet). f
kann als charakteristische Funktion der Wortmenge L : {w | f (w) = 1} aufgefasst werden. Wir nennen
Mengen L Sprache.
Ein Entscheidungsproblem
m = {1, . . . , m} Wir ordnen die Worter aus m in der kanonischen Reihenfolge, erst nach Lange, dann wie im Lexikon. Das 0-te Wort ist das leere Wort
, 1, 2, . . . , m, 1 1, 1 2, . . . , 1 m, 2 1, . . . , m m, 1 1 1, . . .
Korrespondenz Worter-Zahlen
11
111
12
112
21
121
122
211
22
212
221
222
Baum aller Worter u ber 2 : ordne stufenweise von links nach rechts
Definition 1 Fur m > 0 sei m : N m , m (i) =das i-te Wort in der kanonischen Reihenfolge.
Beispiel:
2 (4) = 1 2
m (0) =
Definition 2 Fur m > 0 sei m : m N die Umkehrfunktion von m ,d.h. fur w m ist m (w) das i mit
m (i) = w
Berechnung von m m () = 0
m (kr kr1 . . . k0 ) B k0 + k1 m + + kr mr
Beispiel:
2 (2 1) = 1 + 2 2 = 5
2 (1 1 1) = 1 + 1 2 + 1 22 = 7
Berechnung von m :
Beispiel:
4 (43) :
43
10 4 + 3
.
10
24+2
.
2
04+2
99
24 4 + 3
4 (43) = 2 2 3
4 (99)
.
24
54+4
.
5
14+1
.
1
04+1
4 (99) = 1 1 4 3
Ergebnis: Worter
uber
m kann man in der kanonischen Reihenfolge numerieren. Damit lassen sich
19.10.04
Definition 3 ein Algorithmisches Problem wird erfasst durch die Definition einer Wortfunktion
f :
|{z}
|{z}
eines solchen Problems durch einen Algorithmus, berechnet f , falls er, gestartet mit w als
Eingabe, nach endlich vielen Schritten terminiert und f (w) als Ausgabe liefert.
Losung
Prazisierung
Computing is normally done by writing certain symbols on paper. We may suppose this paper is
divided into squares like a childs arithmetic book. In elementary arithmetic the two-dimensional
character of the paper is sometimes used. But such a use is always avoidable, and I think that
it will be agreed that the two-dimensional character of paper is no essential of computation. I
assume that the computation is carried out on one-dimensional paper, i.e., on a tape divided into
squares.
The behavior of the computer at any moment is determined by the symbols which he is observing, and his state of mind at that moment. We may syppose that there is a bound B to the
number of symbols or squares which the computer can observe at one moment. If he wishes to
observe more, he must use successive observations. We will also suppose that the number of
states of mind which need be taken into account is finite.
The reasons for this are of the same character as those which restrict the number of symbols.
If we admitted an infinity of states of mind, some of them will be arbitrarily close and will be
confused. Again this restriction is not one which seriously affects computation, since the use of
more complicated states of mind can be avoided by writing more symbols on the tape.
Alen Turing u ber Turingmaschinen.
10
t
...
...
Ein Konfigurationswort
`
M
a0
b0
q0
qs
10
a0
11
q0 |{z}
abb f (abb) = (aaa)
w
Erweiterung des Funktionsbegriffs zu partiellen Funktionen f : deutet Funktion an mit Definitionsbereich De f ( f ) . Fur w \ De f ( f ) schreibe f (w) = (undefiniert)
TM M berechnet f : falls von Startkonfiguration q0 w eine Stopkonfiguration erreicht wird gdw. w
De f ( f ), und Ergebnis ist dann f (w), ansonsten (w < De f ( f )) soll M nicht terminieren.
Ubergangsfunktion
)
(p, a) = (a0 , L/N/R, q)
In p mit a auf AF, drucke dort a bewege Kopf ein Feld nach links/nicht/ein
Turingzeile: p a a L/N/R q
Feld nach rechts und gehe in Zustand q.
Turingmaschinen
M berechnet: angesetzt auf w terminiert g.d.w. w De f ( f ) und in diesem Fall ist das
|
{z
}
q0 w
Formel
q0 w ` qs w0
M-Berechnung: q0 0 0 1 1 ` 0 0 1 1 q0 t ` 0 0 1 1 q0 0 ` q1 t 0 0 1 1 0 ` qs 0 0 1 1 0
Konvention: Fehlt fur ein Paar (q,a) die entsprechende Zeile q a . . .
denken wir uns q a a N qs erganzt.
Graphische Darstellung:
0/1 0/1 R
q0
0/1 0/1 L
t0N
q1
11
ttR
qs
22.10.04
12
Konvention
q0 | t | { . . . qs |
Illustration
t ...
Kopiere 2. Block so oft hinter den Input wie es Striche im 1. Block gibt. Hierzu fuhre ein neues
Symbol ein: 6 |.
Typische Zwischenkonfiguration:
6 | 6 |q| t |||| t ||||||||
Idee:
Details:
q1
q1
q01
q01
|
t
|
t
6|
t
|
t
N
R
R
R
q2
q01
q01
qs
26.10.04
12
f heit
Turing-berechenbar
berechenbar im intuitiven Sinne
gdw. es gibt
Turingmaschine
Algorithmus
13
)
rechnet.
f berechenbar f Turing-Berechenbar?
klar, denn eine TM ist eine (sogar spezielle) Form von Algorithmus
nicht mathematisch nachweisbar.
1. Unwesentlich: beim Nachweis der Turing-Berechenbarkeit nach Vorlage eines Algorithmus. (durch
Fleiarbeit vermeidbar)
2. wesentlich: Nachweis, dass eine Funktion nicht berechenbar ist (durch einen Algorithmus im Intuitiven Sinn). Es reicht: Funktion ist nicht Turing-berechenbar.
Erstes Beipsiel einer nicht berechenbaren Funktion, die Busy-Beaver-Funktion BB : N N (Rado 1962)
Betrachte TM mit Arbeitsalphabet {|, t} nur mit L-/R-Bewegung wobei in den Zustandszahlen qs nicht
gezahlt wird.
Biber
Bemerkung:
13
14
(busy beaver) Biber, der bei Termination maximale Strichzahl unter allen Bibern gleicher Zustandszahl liefert.
Fur n 1 gilt: BB(n) = Anzahl von Strichen, die ein fleiiger Biber mit n Zustanden liefert.
Werte:
Fleiiger Biber:
BB(0) = 0
BB(1) = 1
BB(2) = 4(q0 t
|{z}
q0 | q1 t q1 | )
223 Moglichkeiten
BB(3) = 6
BB(4) = 13
BB(5) 2000
Satz 1.1 (Rado): BB ist nicht berechenbar.
Vorbemerkung:
BB(n+1) > BB(n)
Beweis:
qn | | R qn
qn t | R qs
4
(4096)
(4096)
(4096)
162 mal
.
..
BB(10) = 6 4096
Anmerkung: f sei berechenbar, nach CTT F(n) = f (0) + + f (n) Turing-Berechenbar.
hinreichend groes n.
F(n + 1) > F(n) Zeige: BB(n) > F(n) fur
Definiere G durch G(n) = F(2n + 2) ebenfalls Turingberechenbar.
Wahle
TM MG zur Berechnung von G, etwa mit Zustanden
q0 , . . . , qk1 , qs
Mn neue TM arbeite wie folgt auf leerem Band:
Drucke n Striche
auf 1. Strich und arbeite wie MG
Gehe zuruck
Mn -Tabelle:
p0 t | R p1
p1 t | R p2
..
.
14
15
entscheidet
Def.: Algorithmus A
die Sprache L gdw. bei Eingabe w
semi-entscheidet
(
terminiert A immer, mit Ausgabe jafalls w L; neinfalls w < L
Definition 5 L entscheidbar (semi-entscheidbar) gdw. es existiert ein Algorithmus, der L entscheidet (semientscheidet)
Beispiel (10. Hilbertsches Problem):
Semi-Entscheidungsverfahren
L. Bilde den Algorithmus A0 durch Einbau einer nicht termi Sei A entscheidungsalgorithmus fur
Termination von A mit nein
nierenden Schleife fur
0
A semi-entscheidet L
A entstehe aus A durch Vertauschen von ja/ nein
A 0 semi-entscheidet \ L
L bzw. \ L
Seien A1 , A2 semi-entscheidungsverfahren fur
L
Finde Entscheidungsverfahren A fur
terminieren.
Entscheidungsalgorithmus A:
15
29.10.04
16
Eingabe w
Stop mit
Ausgabe ja
A1
terminiert
terminiert nicht
Stop mit
Ausgabe nein
A2
terminiert
terminiert nicht
Definition
Zu f : definiere G f = {w# f (w)|w De f ( f )} Graph von f
f :
16
17
A semi-entscheidet L
a w L
Sei a . Definiere: f : durch f (w) =
w < L
Gilt L = De f ( f )
Folgender Algorithmus B berechnet f :
Fur Eingabe w arbeite wie A, allerdings, bei Termination gebe a aus.
A berechnet f L sei De f ( f )
S
Schrittzahl
Ein Aufzahlungsalgorithmus ist ein Verfahren, das ohne Eingabe gestartet wird und sukzessiv Ausgabeworter liefert (in irgend einer Reihenfolge, eventuell mit Wiederholungen).
L heit aufzahlbar, wenn es einen Aufzahlungsalgorithmus gibt, fur den gilt:
Fur w : w L w wird irgendwann als Ausgabe geliefert.
2.11.04
folgendem
2. Die Menge dieser Java-Programme ist aufzahlbar.
Aufzahlungsverfahren
geht gema
Diagramm vor:
(Pi , s)
S
Schrittzahl
An stelle (Pi , s) lasse Pi fur s Schritte laufen und gebe Pi aus, wenn Pi dabei stoppt.
17
18
Dann:
P wird ausgegeben |
ex. Schrittzahl s so dass P
{zin s Schritten terminiert
}
Pterminiert
Bemerkung:
berechenbarverlangt nur Existenz eines Algorithmus.
GV (Goldbach-Vermutung):
Definition
f :NN
1 GVwahr
f (n) =
0 GV f alsch
f 0 oder f 1
Alg A0 oder Alg. A1
Es existiert ein Algorithmus des f berechnet!
18
Idee
2.1 goto-Programme
Registermaschine
Rechnermodell:
endl. Kontrolle
Register 1
Register 2
..
.
2.1.1 Definition:
Ein gotom -Programm hat die Form:
1
2
3
k1
k
wobei j =
oder
oder
1 ;
2 ;
3 ;
..
.
k1 ;
STOP
j Xi B Xi + 1
j Xi B Xi 1
j if Xi = 0 goto l else goto l0
(i {1, . . . , m})
(l, l0 {1, . . . , k})
( j {1, . . . k 1})
19
20
im Fall j = Xi B Xi + 1 :
( j + 1, r1 , . . . , ri + 1, . . . , rm )
im Fall j = Xi B Xi 1 :
r 1 r > 0
r1
. . . , rm )
=
( j + 1, r1 , . . . , ri 1,
0
r=0
(l, r1 , . . . , rm ) falls ri = 0
j = if Xi = 0 goto l else goto l0
(l0 , r1 , . . . , rm ) ri , 0
zu gotom -Programm P und n m definiere die n-stellige durch P berechnete Funktion fP(n) :
Nn N durch fP(n) (x1 , . . . , xn ) def. gdw. P ausgehend von Konfiguration (1, x1 , . . . , xn , 0 . . . , 0) erreicht
Stopkonf. (k, y1 , . . . , ym ) und in diesem Fall fP(n) (x1 , . . . , xn ) = y1
f : Nn N heit gotom -berechenbar, wenn es ein gotom -Programm P gibt mit fPn = f goto-berechenbar,
falls gotom -berechenbar fur geeignetes m.
Definition
Bsp.:
P1:
1. STOP
(1)
(1)
fP1
= idN
fP1
(x) = x
(n)
(2)
||Pi (x1 , . . . , xn ) = xi ||
fP1
(x1 , x2 ) = x1
(n)
fP1
= Projektion auf 1. Komponente
P2:
(n)
fP2
X1
falls X1 = 0
falls X1 , 0
P3:
20
21
3. X2 B X2 - 1
4. goto 1
5. STOP
Tabelle 2.1: Rechnung
Zeile:
X1
X2
1
2
3
4
1
1
1
2
2
2
..
.
2
2
2
1
1
4
1
5
3
3
3
0
9
0
Multiplikationsfunktion: analog;
Idee:
X3 B X1; X2 = 0; solange X2 , 0
Kopiere X3 nach X1 und X4;
dann X3=0;
X2 B X2 - 1;
Kopiere X4 nach X3 (dann X4 = 0)
X1 X2 X3 X4
3
0
3
6
4
4
3
2
3
0
0
3
3
2.2 while-Programme
2.2.1 Idee:
5.11.2004
21
22
Illustration:
ggT-Algorithmus:
while X1 , X2 do
else X1 B X1X2
while2 - Programm.
Tests X1 > 0, Xi = 0 genugen
X4 B X2X1
X5 B X1X2
X4 B X4 + X3
Bsp.:
(Test X3 > 0)
Variablen X1 , . . . Xm
Xi B 0
Xi B X j
Xi B Xi + 1
Xi B Xi 1
, , mod }
Xi B X j op Xk op {+, ,
mit 1 i, j, k m
Xi > 0
Xi = 0
mit 1 i m
22
Bsp.:
Notation:
23
~P(3, 5) = (5, 5)
f n+1 = f ( f n (x))
P = Xi B X j
P = Xi B Xi + 1
P = Xi B Xi 1
P = Xi B X j op Xk
Konvention
fur P = P1 ; P2
fur P = if Xi {> / =}0
~P1 (r1 , . . . , rm )
~P2 (r1 , . . . , rm )
fur P = while Xi {> / = 0}
~P1 k (r1 , . . . , rm )
(r1 , . . . , r j , . . . , r j , . . . , rm )
|{z}
|{z}
i
(r1 , . . . , ri + 1, . . . , rm )
analog
(r1 , . . . , r j op rk , . . . , rm )
r { div / mod} 0 = 0
~P2 (~P1 (r1 , . . . , rm ))
then P1 else P2 end
falls ri {> / =}0
sonst
do P1 end
k
fur das kleinste k 0 mit p(m)
i (~P1 (r1 , . . . , rm )){ / ,}0
sonst
~P1 ri (r1 , . . . , rm )
Bsp.:
} end
zu ~P = loop |
X1 B{zX11
P0
9.11.04
while-programme
P:
if X2 = 0 then X1:= X1 + 1;
while X1 > 0 do X1:= X1+1; end [P1]
else loop X1 begin X1 := X1 - 1 end end
ist ein while2 Programm. ~P1 (x1, x2) =
~P2 (x1, x2) =(0, x2)
x2 = 0
~P(x1, x2) =
(0, x2) x2 , 0
23
[P2]
24
fP(2) (x1,
x2) =
x2 = 0
x2 , 0
fP(1) =
Ziel:
3. Aquivalenz
TM - goto - while
end
Xi = 0 ersetzbar durch loop Xi begin Xi B Xi 1
Xi B X j ersetzbar durch Xi B 0; loop X j begin Xi B Xi + 1 end
Xi B X j + Xk ersetzbar durch: Xi B 0; loop X j begin Xi B Xi + 1
loop Xk begin Xi B Xi + 1
, , mod (Ubungen)
Analog fur ,
Test if Xi > 0 then . . . ist ersetzbar durch (mit Hilfsvariablen Y, initialisiert mit 0)
i ; if Y = 0 then . . . ;
Y B Y + 1; Y B Y X
j
while Xi > 0 do . . . ersetzbar durch Y B Y + 1; Y B Y X
while Y = 0; Y B Y + 1; Y B Y X j end.
Zu 1:
und Bedingungen
while0 -Programme seien while Programme nur mit Wertzuweisungen Xi B Xi + /1
Xi = 0
Ergebnis Zu jedem whilem -Programm P existiert ein whilem0 -Programm P0 fur geeignetes m0 m mit
~P(x1 , . . . , xm ) = (y1 , . . . , ym ) ~P0 (x1 , . . . , xm , 0, . . . , 0) = (y1 , . . . , ym , 0, . . . , 0)
|
{z
}
m0
Beweis:
Bem. 2:
x gerade
2
g(x) =
3x + 1 x ungerade
Beispiel
24
25
Iterierte Anwendung: x = 11
34,17,52,26,13,40,20,10,5,16,8,4,2,1
sonst
f while-berechenbar. Offenes Problem: Ist f total?
Satz:
Zu (a) P terminiert nicht fur jedes Tupel von Anfangswerten. (darf nie terminieren)
Zu (b) Definition: loopm -Programme sind whilem -Programme ohne while. Zu jedem loopm -Programm P
existiert fur geeignetes m0 m ein whilem0 -Programm P0 ohne loop-Konstrukt mit ~P(x1 , . . . , xm ) =
(y1 , . . . , ym ) ~P0 (x1 , . . . , xm , 0 . . . , 0) = (y1 , . . . , ym , 0, . . . , 0)
|
{z
}
m0
A(0, y) = y + 1
A(x + 1, 0) = A(x, 1)
A(x + 1, y + 1) = A(x, A(x + 1, y))
Def:
25
26
A(2, 4) > 2y
A(3, 4) > 2y
A(4, 4) >
2
22
..
.2
y mal
12.11.04
A(x, y) =
fP(2) (x, y)
2.2.8 Aquivalenzsatz
Ziel:
1. f Turing-berechenbar
2. f goto-berechenbar
3. f while-berechenbar
Bei TM unterstellen wir die unare Darstellung naturlicher Zahlen (n reprasentiert durch || . . . | )
|{z}
nmal
Beweisstrategie:
while
while0
goto
Turing
Satz 2.1 (while0 goto): Zu einem while0m -Programm P kann man ein gotom -Programm P0 angeben
mit ~P0 = ~P
(Dann klar: f : Nn N while0 -berechenbar f goto-berechenbar).
26
27
(a) P = P1; P2
Ind.Vor.(*): Zu P1, P2 jeweils gotom -Programme P01 , P02 vorhanden mit ~P01 = ~P1 und ~P02 =
~P2
(b) P= if Xi = 0 then P1 else P2 end
Ind.Vor. (*)
(c) loop bereits durch while ersetzt
P = while Xi = 0 do P1 end
P1
Ind.Vor.(*) nur fur
Beweis:
Ind.Anf.: Nehme P0 :
1.
2.
Xi B Xi 1
STOP
Ind. Schritt
(a) P = P1 ; P2
Induktions-Vorraussetzung betrachte gotom -Programme P01 und P02 (mit k1 bzw k2 ZeiGema
len)
Erhohung
der Zeilennummern in P02 um k1 1
(b) P = if Xi = 0 then P1 else P2 .
P01
k1 + 1
goto Ende
k1 + 2
P02
k1 + 2 + k2
Vorraussetzung: P01 mit k1 Zeilen
P02 mit k2 Zeilen
P0 entsteht aus: Zeile if Xi = 0 goto 2 else goto k1 + 2
27
28
P01
mit Ersatz von STOP durch goto 1
und Erhohung
der Zeilennummern
k1 + 1
um 1
STOP
k1 + 2
j Xi B Xi 1
j if Xi = 0 goto k else goto l
16.11.04
Satz 2.3: Jede goto-berechenbare Funktion ist Turing-berechenbar
Beweis:
Zu gegebenem gotom -Programm P (etwa mit Zeilen 1, . . . , k) konstruiere TM MP , die P schrittweise
simuliert.
i-te P-Zeile).
q1 , . . . , qk Zustande
fur
(qi fur
q1 Anfangszustand, qk Stopzustand.
goto-Konfiguration (i, n1 , . . . , nm ) von Turing-Konfiguration
Von qi aus simuliere i-te Zeile fur
Simulationsvorgang:
Fall 1
Xj B Xj + 1
28
29
X j B X j 1
Fall 3
ob davor steht.
gehe auf j-tes nach rechts, prufe,
in ql , sonst zum Anfang und in ql0
In diesem Fall gehe zum Anfang zuruck
Satz 2.4: Jede Turing-berechenbare Funktion ist while-berechenbar
Beweis:
Kodiere M -Konfiguration ais . . . ai1 ai0 ql a j0 a j1 . . . a jk durch ein Zahlentripel (L,R,Z) mit
L = ((i s . . . i0 )n +1)
K=( jk . . . j0 )n+1
Z=l
Z= 17
X1 uberf
uhren
while-Programm muss Werte X1 , X2 in Ergebniswert fur
Zahlendarstellung)
P verwendet Hilfsvariablen X3 , X4 , X5 , X6 (schreibe L,R,Z,B) (B = Basis fur
1. Phase Stelle den Kode der Anfangskonfiguration her
X1 = n1 , X2 = n2 Kode von q1 |n1 t |n2
Fur
L=0
R=(11
. . .}
1 0 |{z}
1 . . . 1)n+1
Z=1
| {z
n2
n1
z}|{
3. Phase ::::
| {z } q0 ||| . . . | t::::t
L
{z
R
Details
29
30
P := 1;
S := 0;
loop X1 begin S := S + P
P := P * B
end
Phase 2: while Z>0 do (Einzelschrittsimulation)
if Zustand i, AF mit a j
then fuhre
Turingzeile qi a j . . . durch
if then else X1 B X1
Konvention: if then fur
Detail: if Z=i and (R mod B)=j then (update)
(update) nach Fallunterscheidung: qi a j a j0 R/L/Nqi0
Fall R: . . . qi a j | . . .
210 6 359
4
L= LB+ j
R = R div B
Zi = i0
4
R= R j + j0
R = R*B + (L mod B)
L=LB
Zi = i0
Fall N R B R j + j0
Zi B i0
X1 := 0
loop R begin if R mod B > 0 then X1 := X1+1 else R := 0; end
R := R div B
end
f : Nn N
Satz 2.5: Aquivalent
sind fur
f ist Turing-berechenbar
f ist goto-berechenbar
f ist while-berechenbar
while
goto
Turing
while-Interpreter fur
M
30
3 Unentscheidbarkeit
Erstes unentscheidbares Problem:
TM
3.1 Wortproblem fur
Sei M TM u ber bool , w bool
M : w S T OP falls M angesetzt auf w stoppt
M : w v falls M : w stoppt und v ausgibt
M : w falls nicht M : w S T OP
3.1.1 Definition
Gegeben eine TM M, w bool
Frage: Gilt M : w S T OP
TM ist unentscheidbar.
Satz 3.1: Das Wortproblem fur
31
KAPITEL 3. UNENTSCHEIDBARKEIT
32
Beweis:
1
Ann. Es gibt eine TM M0 mit M0 :< M > w
bool
falls M : w S T OP
0 sonst
Satz: Es gibt keinen Algorithmus, der zu jeder TM M u ber = {0, 1} und zu jedem Wort w entscheidet,
ob M : w S T OP
Das Wortproblem fur TM ist unentscheidbar
Bemerkung 1 Der Satz u bertragt sich unmittelbar auf jeden Programmierformalismus mit dem man Turingmachinen simulieren kann.
Also z.B.:
ist unenscheidbar.
Bemerkung 2 Algorithmus u ber beliebige TM ware selbst durch TM darstellbar und wurde somit u ber sich
selbst Auskunft geben.
Beweismethode (zum Satz) Diagonalschluss
32
KAPITEL 3. UNENTSCHEIDBARKEIT
33
<M>
w
TM M
M
w =< M >
M0 M1 Diagonale umgedreht
Herkunft: Cantor
Urform des Cantorschen Beweises
InstP
InstQ
Posq
x
f (x)
Pos p
A
BAB
33
KAPITEL 3. UNENTSCHEIDBARKEIT
34
2 = b20 b21 b22 . . .
..
.
Betrachte B b00 b11 b22 . . .
von jedem i verschieden, fehlt somit in der Liste
totale Funktionen):
Satz 3.2 (uber
Programmierformalismen fur
Vorbemerkung:
Sei P ein Programmierformalismus mit Programmen P0 , P1 , P2 , . . . mit
AP
Aquivalenzproblem
3.2.1 Ziel:
unentscheidbar
Neben WP sind auch HP und AP
Vorbereitung: 1. Normierung des Begriffs Entscheidungsproblem
34
KAPITEL 3. UNENTSCHEIDBARKEIT
35
(b) WP
ex. eine berechenbare Funktion f : InstP InstQ mit fur jedes x Inst p : x PosP f (x) PosQ
Lemma
Wenn P Q und P unentscheidbar, dann auch Q unentscheidbar.
WP: TM u ber = {0, 1}, w {0, 1} InstW P = Menge der Paare PosW P = Menge der (M, w) mit M : w
S T OP
HP: InstHP = Menge der TM u ber = {0, 1}
PosHP = Menge der TM M mit M : S T OP
Satz 3.3: HP unentscheidbar.
Beweis:
:WP HP
Nach Lemma genugt
Finde berechenbare Transformation (M, w) 7 M 0 (von InstW P nach InstHP mit M : w S T OP M 0 :
S T OP Definiere M 0 so, dass M 0 folgendes tut (angesetzt auf das leere Band):
M 0 schreibt w auf das Band, gehe auf den ersten Buchstaben von w zuruck,
und arbeite dann wie
M.
Klar: f berechenbar, ebenso () nach Def. von M
AP:
ber = {0, 1}
InstAP
: Menge der Paare von Turingmaschinen u
PosAP
: Menge der Paare (M1 , M2 ) von Turingmaschinen, wobei M1 , M2 dieselbe Funktion f :
berechnen (M1 , M2 a quivalent).
35
26.11.04
KAPITEL 3. UNENTSCHEIDBARKEIT
36
ist unentscheidbar
Satz 3.4: Ap
Beweis:
nach Lemma: HP AP
Genugt
Finde Transformation f (berechenbar), so dass f : M 7 (M1 , M2 ) (Tm (Paar von TMen)) mit :
M : S T OP M1 , M2 berechnen dieselbe Funktion
Idee: M1 loscht
Eingabewort (hat also leeres Band hergestellt) und arbeitet dann wie M , wobei bei
STOP noch gedruckt wird (dann Ausgabe das leere Wort ).
Bemerkung: M1 berechnet die konstante Funktion mit Wert , falls M : S T OP
Wahle
als M2 die TM q0 t /0/1 t N qS welche die konst. Funktion mit Wert berechnet.
Konstante ).
Also M : S T OP M1 M2 berechnen dieselbe Funktion (namlich
()
30. 11. 04
() wie gewunscht.
Ein TM-Problem ist ein Entscheidungsproblem P = (InstP , PosP ) mit InstP = Menge der Turingmaschinen
(mit Eingabealphabet {0, 1})
Ein TM-Problem ist nichttrivial, wenn weder PosP = InstP noch PosP =
Ein TM-Problem heit semantisch, wenn die Mitgliedschaft einer TM M in PosP nur von der durch M
bercheneten Funktion abhangt. (d.h. M1 , M2 a quivalent M1 PosP M2 PosP ))
Beispiel:
P1 = (InstT M , PosP1 ) mit PosP1 = Menge der TM mit 17 Zeilen (nicht semantisch)
P2 = (InstT M , PosP2 ) mit PosP2 = Menge der TM die totale Funktionen berechnen (semantisch)
Satz 3.5 (Satz von Rice): Jedes nichttriviale semantische TM-Problem ist unentscheidbar.
Beweis:
Fall
1
Die
TM, die f berechnet, alle nicht in PosP
Wahle
TM Mh aus PosP ; diese berechnet Funktion H , f (Fall 1).
Angabe von M 0 aus gegebenem M
M bei Eingabe w arbeite wie M auf leerem band (und bewahre das Eingabewort w, eventuell verschoben, au
Wenn M : S T OP, arbeite anschlieend wie Mh auf w
Also f : M 7 M 0 berechenbar.
ob M : S T OP M 0 PosP
Prufe
36
KAPITEL 3. UNENTSCHEIDBARKEIT
37
2. Postsches Korrespondenzproblem
3. Halteproblem fur goto2 -Programme (2-Zahler-Maschinen)
3.3.1 Domino-Problem
Beispiel:
Dominospiel D0 sei gegeben durch die Dominotypen
1
d0 =
3
2
2
d1 =
3
1
D0 ist gut
Beispiel:
D1 enthalte d0 =
1
3
d1 =
3
2
...
...
...
...
d2
d0
d1
d2
d1
...
...
...
...
3
1
d2 =
2
1
Allgemein: Ein Dominospiel ist eine Folge D = (d0 , . . . , dk ) von Dominotypen di , jedes di ein Quadrupel von Farben(hier Zahlen) der Form (di1 , di2 , di3 , di4 ) di1(N) W(di4) di2(O) di3(S) di1 = N(di ), di2 =
37
KAPITEL 3. UNENTSCHEIDBARKEIT
38
usw.
q0
q1
q1
q2
t
t
1
0
0
1
1
0
q1
q1
q2
qs
R
N
L
N
Konfigurationen:
...
. . . (q0 )
. . . 0 (q1 ) . . .
. . . 0 (q1 1) . . .
. . . (q2 0) 1 . . .
. . . (qs 0) 1 . . .
Parkettierung
q0
q0
q0
q0
q1
q1
q1
q1
q1 1
q2 0
q1 1
1
Lemma
Lauft
M auf leeres Band angesetzt k Schritte, dann erlaubt M von eindeutiger Zentralzeile aus Parkettierung von k Zeilen, und untere Farbfolge der k-ten Zeile ist die M -Konfig nach k Schritten.
Also: M :
D M gut
M : S T OP D M nicht gut.
38
KAPITEL 3. UNENTSCHEIDBARKEIT
39
X = (abbaaa, ab, a)
X : abaaa a a
Y : ab aaa aaa
Y = (ab, b, aaa)
Losung:
1,3,3,2
Beispiel:
Losung:
(X, Y) hat keine spezielle Losung
Satz 3.7: Das Problem MPCP ist unentscheidbar
(Analog gilt: Das PCP ist unentscheidbar)
Beweis:
Zeige W P MPCP
Hierzu finde berechenbare Transformation (M, w) 7 (X M,w , Y M,w ) mit M : w S T OP (X M,w , Y M,w )
hat Losung
Konzeption von X M,w , Y M,w : Aufbau des Losungswortes
Idee fur
als Folge der Konfigurationen von
M , angesetzt auf w
Beispiel:
M: q0 a b R q1
q1 b b R q2
q2 b L q3
w = ab
X M,w
q0 a
b
Y M,w
# q0 ab #
b q1
b
q1 b
c q2
c q2 #
qs c
qs
b qs
qs # #
b q2
qs c b
qs c b #
qs
qs
qs
#
c (Arbeitsalphabet)
Fur
39
KAPITEL 3. UNENTSCHEIDBARKEIT
40
S T OP
Konstruktion zeigt: M : w
10.12.04
TM M = (Q, , , q0 , , qs )
Dominospiel D M fur
goto2-Programme (2-Zahler-Maschinen)
X1
X2
X3
X4
ob 8802 mod 10 = 2
prufe,
X1 div3 X1 mod 3 = 0
X j B 1
X1
if X j = 0 goto i1 else goto i2 analog mit Test X1 mod 3 = 0
40
KAPITEL 3. UNENTSCHEIDBARKEIT
41
und Vollstandigkeit
3.4 Universalitat
14.12.04
Turingmaschine als Prazisierung des Algorithmenbegriffs ermoglicht Idee von Algorithmus auf Algorith
mus.
Technische Umsetzung: TM M mit Eingabe code(M1 )
Realisierung in Informatik:
1. Compiler (Programmubersetzer)
2. Universalprozessor in von-Neumann-Rechner
Prozessor: Algorithmus der
auszufuhrendes Programm P
Eingabedaten D fur P
Erste konzeptuelle Realisierung durch Turing 1936 anhand der Kodierung des Wortproblems:
LW P = {code(M)w|M : w S T OP}
Bewiesen: LW P nicht entscheidbar.
Satz 3.9 (Turing): LW P ist (Turing-)semi-entscheidbar.
Beweis:
Beweis erfordert Konstruktion einer universellen Turingmaschine U mit
U : code(M)w S T OP
Muhsame
Konstruktion im Detail.
U Prozessor
code(M)w
ausgefuhrtes
Programm P Eingabedaten D
Setze einfach Mw = M, uw = w
41
{z
Mw :uw S T OP
4 Komplexitatstheorie:
Grundlagen
4.1 Zeitkomplexitat
Berechnungsaufgabe gegeben, z.B. reprasentiert durch eine Sprache L
(Gegeben w , entscheide ob w L)
Frage: Kriterium fur Effizienz einer algorithmischen Losung?
Problem 1 Theoretisches Modell der Turingmaschine angemessen?
Problem 2 Genaue Def. von Zeitaufwand.
Zu Problem 2 Messe die (Zeit-)Komplexitat durch Anzahl der Schritte einer TM in Abhangigkeit von
Eingabegroe (Wortlange)
Zu fester Eingabelange n nehme die maximale Schrittzahl fur Eingaben w der Lange n (Worst Case).
N
Erhalte t : |{z}
N
|{z}
Eingabelange
max. Schrittzahl
f (n)
b
M1 :
42
KAPITEL 4. KOMPLEXITATSTHEORIE:
GRUNDLAGEN
43
kein a, kein b ja
n = Lange
der Eingabe
Phase 1: O(n)
Zeitaufwand fur
l m
Phase 2: Anzahl der Durchlafe
n2 pro Durchlauf 2n Schritte.
Zeitaufwand fur
genauer insgesamt 2n + 2(n 2) + 2(n 4) + + 2
Schrittzahl insgesamt O(n2 ).
a a
b b
b
a a
b b
a a
a b b
b
b b
Alternative:
M2 : streiche jeweils jeden 2. Buchstaben.
Dann pro Durchlauf O(n) Schritte.
Probleme
(*). prufe, ob ein a und ein b vorhanden; in diesem Fall stop mit entsprechender Antwort.
2. streiche jedes zweite a und jedes zweite b
fuhre Test (*) durch
sonst: falls entweder nur letztes a oder nur letztes b gestichen, stop mit neinsonst zuruck zu 2.
43
KAPITEL 4. KOMPLEXITATSTHEORIE:
GRUNDLAGEN
44
a t
Eingabeband
b t
Arbeitsband
(O(n))
Gesamtlaufzeit: O(n)
TM M ist polynomial zeitbeschrankt, falls ex. Polynom p(n) so dass M O(p(n))-zeitbeschrankt ist.
Bemerkung
Aquivalente
Bedingung: ex. k 0 so dass M O(nk )-zeitbeschrankt ist.
LP
Erzeuge sukzessiv alle Zahlen < Eingabe (bzw. Eingabe) und fuhre
Division durch.
kein k 2n O(nk ).
Anzahl der Teiler in der Lange
n der Eingabe: 2n . fur
21.11.04
P und NP
44
KAPITEL 4. KOMPLEXITATSTHEORIE:
GRUNDLAGEN
These von Cobham und Edmonds:
45
Fur
n
alle Teilerkandidaten (Anzahl 2n ), jeweils Division effizient.
Test fur
Beispiel:
COLOR(3)
Gegeben: Endl. unger. Graph G = (V, E)
(u, v) E
Frage: Ex. 3-Farbung
von G, d.h. c : V {1, 2, 3} mit c(n) , C(v) fur
n
beschrankt.
45
KAPITEL 4. KOMPLEXITATSTHEORIE:
GRUNDLAGEN
46
Bem.
Beispiel:
COLOR(3)
Gegeben: Ungerichteter Graph (V, E)
|{z}
G
(u, v) E gilt u, v in
Frage: Ex. eine 3-Farbung
von G, d.h. eine Partition von V in V1 , V2 , V3 , so dass fur
alle Losungskandidaten
Uberpr
ufe
v (Anzahl: ||q(|w|) und teste jeweils, ob (w, v) R
Definition 12 Nichtdeterministische TM (NTM) ist wie zuvor definiert, kann jedoch fur (q, a) Zustandsmenge Q Arbeitsalphabet mehrere Turingzeilen enthalten.
Zu geg. Konfiguration K existieren dann gegebenenfalls mehrere Folgekonfigurationen.
K0 = q0 w
K1
K2
NTM heit t(n)-zeitbeschhrankt, falls jeder Zweig des Konfigurationsbaums endet nach t(n) Schritten,
jeweils fur Eingabe w der Lange n
46
KAPITEL 4. KOMPLEXITATSTHEORIE:
GRUNDLAGEN
47
q0 w
0
1
t(n)
NTM akzeptiert Eingabewort w, falls fur eine Stopkonf. des Konf.baums zu w das Ergebnis 1 ( ja ) lautet.
Beispiel:
q0 |||||
00000qs
00001qs
11111qs
1. Def.
Zu p(n)-zeitbeschrankte
NTM M finde q(n) und polynomial entsch. Relation R gema
M entscheide L (w, v) R : v ist eine Konfigurationsfolge #q0 w# . . . # . . . qs 1 t . . . # von M zu
Eingabe w
M akz. w v((w, v) R und Schrittzahl in v ist p(n))
Xi mit i in Binardarstellung
Fur
(X1, . . . Xn) ist eine Belegung einer Funktion B : {X1, . . . , Xn} {0, 1}
(X1, . . . , Xn), wenn bei der Substitution von Xi durch B(Xi) mit ublicher
B erfullt
Auswertung von der
Wert 1 sich ergibt.
erfullbar,
falls ex. Belegung B, die erfullt.
47
KAPITEL 4. KOMPLEXITATSTHEORIE:
GRUNDLAGEN
48
Beispiel:
Bemerkung:
S AT NP
q
q
q
q
x
x
0
1
(
..
.
R
R
R
R
q
q
q
q
ob
Dann wird deterministisch uberpr
uft,
fur
Im folgenden wird als Eingabe fur SAT angenommen, dass in KNF (konjunktiver Normalform) vorliegt.
KNF:
= c1 cm
ci Klausel
ci = li1 lini
li j Literal
li j = xk oderli j = Xk Xk
Duale Form: DNF (disjunktive Normalform) = d1 dm
di = li1 lini
Klar: P NP
P $ NP?
P = NP wurde bedeuten: Zu jedem Probieralgorithmus existiert ein effizienter Algorithmus.
Teillosungen: Die allgemeine Frage P $ NP? kann man auf Studium konkreter Beispielprobleme reduzieren.
P $ NP S AT NP \ P (S AT < P)
Bemerkung:
S AT NP
48
KAPITEL 4. KOMPLEXITATSTHEORIE:
GRUNDLAGEN
49
HP
Semi-entsch.
SAT
NP
Entsch.
49
5 NP-Vollstandigkeit
Gegeben: w
Frage: w L?
Vergleich der Komplexitat von Sprachen L1 1 , L2 2
L1 L2 (L1 polynomzeit-reduzierbar auf L2 ):
ex. eine polynomzeitberechenbare Funktion f : 1 2 mit w L1 f (w) L2 ()
f : 1 2 polynomzeitberechenbar gdw. es ex. polynomzeitbeschr. TM die f berechnet.
Problem kodiert durch Sprache L
2
L2
w
f (w)
L1
Bemerkung:
L1 p L2 , L2 P L1 P
Beweis:
Sei M f TM die f berechnet, p(n)-zeitbeschr.
M2 TM die L2 entscheidet, q(n)-zeitbeschr.
p, q Polynome
50
KAPITEL 5. NP-VOLLSTANDIGKEIT
51
Definition 14 L0 NP-vollstandig:
1. L0 NP
2. fur alle L NP : L p L0
Sei L0 NP-vollstandig.
Dann P $ NP L0 < P[L0 NP \ P]
Beweis:
trivial
Genauer:
1. S AT NP
2. f. alle L NP L p S AT
L1 1 , L2 2
L1 p L2 ex. polynomzeitber. Funktion f : 1 2 mit w L f (w) L2 f. alle w 1
Beweis:
Finde polynomzeitber. Funktion f : S AT mit w L
f (w) S AT
| {z }
f. alle
f (w)ist erfullb.
aussagenlog. Ausdruck
Wahle
NTM M = (Q, , , q0 , qs , ) zeitbeschr. durch Polynom p(n)
w L ex. M -Konfigurationsfolge K0 , K1 , . . . , Kr mit K0 = q0 w
, Kr akzeptierend
Ki+1 entsteht aus Ki vermoge
R p(|w|)
Reprasentation
der Konfigurationsfolge durch Matrix
p(|w|) 1 . . .
0
1
-2
-1
q0
q1
ai3
ai3
...
51
p(w)+2
K0
K1
qs
qs
p(|w|)
p(|w|) + 1
1
1
t
t
14.01.05
KAPITEL 5. NP-VOLLSTANDIGKEIT
52
konsistent :
^ _
^ ^
xi, j,c
(i, j)IJ cC
(i, j)IJ
Zu Ubergang
Illustration fur einen R-Schritt p a a0 R q
pab
b pa
a0 q b
analog fur p a a0 L q q b a0
2 3-Matrix u ber C heit zulassig, falls in Matrix zu M als Submatrix formal moglich.
u bergang :
^
i, j
c1 c2 c3
c4 c5 c6
18. 1. 05
xi, j,c Aus Pos. (i, j) steht c
(x1 x2 ) (x3 x4 ) (x1 x3 ) (x2 x3 ) (x1 x4 ) (x2 x4 )
ende durch Erganzung von M durch Testschritte am Ende reduzierbar auf Form
_
xi, j,qs
(i, j)
w in KNF notierbar.
Abschatzung der Lange von w : Lange von xi, j,c 2 + 2(log(p(|w|) + 1)
Jede der Formeln konsistent , an f ang , ende , u bergang hat Lange |I| |J| const q(|w|) insgesamt polynomiale
|{z}
eine Var.
Lange.
52
KAPITEL 5. NP-VOLLSTANDIGKEIT
53
1. L0 NP
2. Fur geeingete NP-vollst. Sprache L1 gilt: L1 p L0
Dann: L NP L p L1 p L0
| {z }
p
Beweis:
1. S AT (3) NP klar, da Spezialfall von SAT
2. S AT p S AT (3)
Beweis:
1. COLOR(3) NP (gezeigt)
2. SAT(3) p COLOR(3)
Zu finden: polynomzeitberechenbare Transformation: 3-KNF Ausdruck 7 Graph G = (V , E ) mit
erfullbar
G 3-farbbar.
Sei = c1 cm , vorkommende Variablen: x1 , . . . xn
ci hat Form (li j li2 li3
li j = xk oder = xk
G hat zwei Knoten A, B, x1, x1 , . . . , xn , xn weitere 6 Knoten je Klausel. : (x1 x2 x3 ) (x1
x2 x3
53
KAPITEL 5. NP-VOLLSTANDIGKEIT
54
x1
x1
x2
x2
x3
x3
21.1.05
Von der Graphenfarbung zu erfullender Belegung: oBdA. Farbe 2 auf A, 0 auf B Sicherzustellen: kein
Klauselgraph ist an Literalknoten mit dreimal Farbe 0 angebunden. Sonst:
l01
l02
l03
B0
54
KAPITEL 5. NP-VOLLSTANDIGKEIT
55
ob Clique vorliegt.
Uberprufe,
Zu 2. Definiere Transf. 3-KNF-Formel 7 G , k
erfullbar
G hat Clique mit k vielen Knoten.
7 G , k
= (x1 x1 x3 ) (x1 x2 x2 ) (x1 x2 x3 )
k = 3 (Anzahl der Klauseln)
x1
x2
x2
x1
x1
x1
x2
x3
x3
- gehoren
zu gleicher Klausel
- untereinander komplementar
Erfullende
Belegung liefert Clique mit 3 Knoten und umgekehrt Dreierclique liefert erfullende
Belegung.
5.1 Platzkomplexitat
Idee fur TM: Zahle die Anzahl der besuchten Felder wahrend einer Berechnung.
Unterscheide Feldzugriffe zwecks Lesen der Eingabe und Feldzugriffen zwecks Rechnung.
Offline-Turingmaschine (Lese-) Eingabeband
55
KAPITEL 5. NP-VOLLSTANDIGKEIT
56
Eingabeband
endl. Kontrolle
Arbeitsband
jedes b um 1.
staben a (fur
der Binarzahl
um 1) und substrahiert anschlieend fur
dlog ne + 1
Beispiel:
Erreichbarkeitsproblem uber
gerichteten Graphen
Zunachst
Platzbedarf |V|.(log |V| + 1)
Verfeinerung: Uberschreiben
des jeweils vorletzten Knoten durch den neubesuchten. Platzbedarf: 2
log |V| + 1
Notationen DLOG = Klasse der Sprachen die durch DTM an Platz O(log(n)) entschieden werden konnen.
(L von Bsp. 1 gehort zu DLOG)
NLOG analog fur NTM. Sprache der Kodierung des Erreichbarkeitsproblems gehort zu NLOG.
(D/N)SPACE analog fur Polyom p(n) an Stelle log(n)
Eine f (n)-zeitbeschrankte
TM kann durch eine f (n)-platzbeschrankte
(Oflline-)TM simuliert werden.
Zur Klasse PSCPACE Vorbemerkung (Satz von Savitch) Eine polynomial p(n)-platzbeschr. Offline-NTM
kann durch eine O(p2 (n))-platzbeschr. Offline-DTM simuliert werden. Folglich ist der Bezug auf Det./Nichtdet.
56
KAPITEL 5. NP-VOLLSTANDIGKEIT
57
QBF
S AT
PSPACE
NP
P
Zum Problem QBF Quantifizierte Boolesche Formeln (in pranex-Normalform) haben die Form Q1 x1 Q2 x2 . . . Qn xn (x1 ,
mit Qi {} aussagenlog. Formel.
xi besagt es ex. Wahrheitswert (0 oder 1) so dass wahr wird, wenn dieser fur xi eingesetzt wird.
xi (. . . xi . . . ) (. . . 0 . . . ) (. . . 1 . . . ) Analog fur mit an Stelle von .
Bemerkung:
x1 , . . . , xn benotigt,
In QBF in pranex-Normalform
wird keine Belegung fur
um Wahrheitswert zu ermitteln, Formel ist selbst wahr oder falsch.
erfullbar.
Losung
von QBF in polynomialem Platz.
Auswertungsalgorithmus bei Eingabe B
0 0 0
0 0 F 1
0 0 F W
57
KAPITEL 5. NP-VOLLSTANDIGKEIT
58
28.1.05
Wahle
c = |Qm | n p(n) | M |
Das ist die Anzahl der moglichen
Konfigurationen bei Eingabe w
der Lange
n.
1.2.05
58
KAPITEL 5. NP-VOLLSTANDIGKEIT
59
5.2 Approximationsalgorithmen:
Problemtyp: Optimierungsproblem (statt Entscheidungsproblem)
Beispiel (Cliquenproblem):
Gegeben: Graph G = (V, E)
Gesucht: moglichst
groe Clique in G
Zulassige
Losungen:
Cliquen (Teilmengen M V die Clique bilden).
Der Wert von M : c(M) ist zu maximieren.
Approximationsgute:
c(M) 1 +
Falls
(M0 )
c(M)
2: Gefundene Losung
hat Wert mindestens der Halfte
der optimalen.
Hier zulassige
Losung
I {1, . . . , n} mit iI wi b
Wert c(I) = iI wi .
Spezialfall: Entscheidungsproblem RS
Gegeben: w1 , . . . , wn , b
Frage: ex. I {1, . . . , n} mit iI = b?
Zur NP-Vollstandigkeit:
SAT(3) p RS.
59
KAPITEL 5. NP-VOLLSTANDIGKEIT
60
erfullbar
gdw. ex. Teilmenge der v1 , vi mit jeweils genau einem Vektor aus {vi , vi } und Wert 1 in jeder
Komponente der Summe.
()
Verfeinerung 1:
Hilfsvektoren zur Erganzung der ersten drei Komponenten auf den Wert 4 ausgehend
u1 = 1 0 0 0 0 0 0 u3 = 0 1 0 0 0 0 0 u5 = 0 0 1 0 0 0 0
von Wert 1
u2 = 2 0 0 0 0 0 0 u4 = 0 2 0 0 0 0 0 u6 = 0 0 2 0 0 0 0
4 4 4{z
1 1 1 }1.
Dann: erfullbar gdw. ex. Teilmenge der Vektoren v1 , v1 , . . . , v4 , v4 , u1 , . . . , u6 mit Summe |
|
{z
}
Verfeinerung 2:
w1 ,...,w14
4.2.05
iI wi = b (wi , b Dezimalzahlen).
RS: Geg. w1 , . . . , wn , b N+
Gesucht: I {1, . . . , n} mit iI wi max., wobei iI wi b
Approximationsalgorithmus
60
KAPITEL 5. NP-VOLLSTANDIGKEIT
61
Definition 15 Ein Polynomzeit-Approximationsschema (PTAS (polyn. time. approx. scheme.)) liefert fur je0)
des > 0 einen Algorithmus der zu Eingabe x eine Losung M liefert mit c(M
c(M) 1 + (mit M0 optimale
Losung), polynomzeitbeschr. in |x|.
1
Erlaubte Laufzeit: |x|d e
das Rucksackproblem):
Beispiel (Ein PTAS fur
1. Sortiere b w1 w2 wn
2. Setze k B d 1 e
jedes I {1, . . . , n} mit |I| k wende GA initialisiert mit I an und ermittle so Erganzung
3. Fur
I I
mit iI wi b
Ausgabe: maximales gefundenes I
festes
Polynomzeit fur
(festes k)
Anzahl der I : 0ik ni 0ik ni O(nk ) Erzeugung der I etwa in kanonischer Reihenfolge der Worter
uber
{1, . . . , n}
1
0)
wiq =
c(I0 )
c(I )
k+1
=1+
k+1
1
k
61