Skript in PDF - Theoretische Informatik - Technische Universität ...
Skript in PDF - Theoretische Informatik - Technische Universität ... Skript in PDF - Theoretische Informatik - Technische Universität ...
96 KAPITEL 3. TURINGMASCHINEN falls k die größte Zahl ist, die eine TM mit n Zuständen auf die leere Eingabe schreiben kann. D.h., die TM hält auf der leeren Eingabe mit | k auf dem Band. Wir können β(n) einfach bestimmen, wenn wir alle TM mit n Zuständen durchgehen (und die, die auf die leere Eingabe nicht halten, ausschließen). Die TM mit der einzigen Übergangsregel (q0, #) → (q0, |) schreibt | auf die leere Eingabe. Daraus folgt β(1) ≥ 1. Aber jede Maschine mit nur einem Zustand, die mehr als einen Strich auf die leere Eingabe schreibt, hält nie. Also gilt β(1) = 1. Bei zwei Zuständen darf δ nur auf drei Elementen der vierelementigen Menge Q×Σ definiert sein, damit die Maschine hält. Daraus folgt sofort β(2) = 2. Im allgemeinen gilt (∗) β(n + 2) > β(n) für jedes n. In der Tat, falls β(n) = k, d.h., falls eine Turingmaschine M mit n Zuständen | k schreibt, konstruieren wir eine Turingmaschine, M ′ , die n + 2 Zustände hat und | k+1 schreibt – woraus β(n+2) ≥ k +1 > β(n) folgt. Wir fügen zwei neue Zustände q ′ und q ′′ zu den Zuständen von M hinzu. Hält M im Zustand q auf einem Feld |, so ergänzen wir M um drei neue Übergangsregeln: (q, |) → (q ′ , L) (q ′ , |) → (q ′ , L) (q ′ , #) → (q ′′ , |). Hält dagegen M im Zustand q auf einem Feld #, so kann sich dieses Feld wegen der Maximalität von β(n) nur direkt neben dem Ergebnis | k von M befinden. Wir können M nun um die Übergangsregel (q, #) → (q ′′ , |) ergänzen. In jedem Fall hält die Maschine M ′ im Zustand q ′′ , nachdem sie | k+1 geschrieben hat. Satz 1. Für jede berechenbare Funktion f(n) gibt es eine Konstante r mit der Eigenschaft, dass β(n + r) ≥ f(n) für alle n. Beweis. f(n) wird von einer Turingmaschine M berechnet. Sei r die Zahl aller Zustände von M. Wir konstruieren für jede Zahl n eine Turingmaschine Mn, die n + r Zustände hat und f(n) Striche auf die leere Eingabe schreibt – damit ist β(n + r) ≥ f(n) bewiesen. Zu den Zuständen von M werden n neue Zustände q 0 (initial), q 1, . . . , q n−1 hinzugefügt, sodass Mn auf die leere Eingabe n-mal einen | schreibt und sich dabei nach links bewegt: (q i, #) → (q i, |) für i = 0, . . .,n − 1 (q i, |) → (q i+1, L) für i = 0, . . .,n − 2 (q n−1 , |) → (q0, |) Der letzte Übergang bedeutet, dass von jetzt an die Maschine M (mit der Eingabe | n ) simuliert wird – sie schreibt also | f(n) und hält. Korollar 1. Die busy-beaver-Funktion β(n) ist nicht Turing-berechenbar. Falls nämlich β(n) berechenbar wäre, müsste auch β(2n) berechenbar sein (wir hätten eine TM, die erst die Zahl aller | ′ e der Eingabe verdoppelt, siehe Beispiel 1 und dann die TM für β(n) simuliert). Dann würde es eine Konstante r geben mit β(n + r) ≥ β(2n) für alle n. Speziell ergibt n = r + 2 β(2r + 2) ≥ β(2r + 4), ein Widerspruch zu (∗). Bemerkung 1. Obwohl β(1) = 1, β(2) = 2 und β(3) = 3, gilt β(10) > 4000 (es existiert eine DTM mit 10 Zuständen, die 4098 schreibt und hält. Dazu benötigt die TM über 200 Mio. Berechnungsschritte).
Kapitel 4 Churchsche These Die Churchsche These behauptet, dass die intuitive Klasse aller ” berechenbaren Funktionen“ mit den formal definierten Turing-berechenbaren Funktionen übereinstimmt. Diese These kann zwar nicht bewiesen werden, aber sie lässt sich untermauern, indem man beweist, dass andere natürliche formale Darstellungen des Algorithmenbegriffs dasselbe Ergebnis liefern. Z. B. kann eine Funktion mit Hilfe von PASCAL genau dann auf einem modernen Rechner implementiert werden, wenn sie Turing-berechenbar ist. In diesem Kapitel zeigen wir verschiedene Modelle des Algorithmenbegriffs und beweisen, dass alle diese Modelle äquivalent zu Turingmaschinen sind. Es ist trotzdem möglich, dass irgendwann ein neues, generell akzeptables Modell für Algorithmen gefunden wird, das allgemeiner als Turingmaschinen ist – aber niemand hält so etwas heute für wahrscheinlich. Die Tatsache, dass moderne Rechner und Turingmaschinen dieselbe Mächtigkeit besitzen, illustrieren wir an RAMs (oder Registermaschinen), die realen Rechnern viel näher als Turingmaschinen stehen. Wir beweisen exakt, dass Turing-berechenbare und RAM-berechenbare Funktionen dieselben Klassen formen. Ein Modell ganz anderen Stils ist die formale Grammatik, eine Verallgemeinerung kontextfreier Grammatiken. Wir beweisen, dass eine Sprache genau dann von einer solchen Grammatik erzeugt werden kann, wenn sie von einer Turingmaschine akzeptiert werden kann. Schließlich widmen wir uns den rekursiven Funktionen und zeigen auch hier, dass diese genau die Turing-berechenbaren Funktionen sind. 4.1 RAM Eine RAM, d.h. Random-Access-Maschine (oder Registermaschine) ist ein Modell einer Berechnung, die realen Rechnern dadurch näher steht als TM, dass sie Programm und Datei separat behandelt. Gemeinsam mit TM hat dieses Modell aber die präzise mathematische Definition und die Annahme, dass eine unbegrenzte Speicherkapazität zur Verfügung steht. Die einzelnen Register haben die Fähigkeit, beliebig große Zahlen zu enthalten. 97
- Seite 1: THEORETISCHE INFORMATIK Vorlesungss
- Seite 4 und 5: ii INHALTSVERZEICHNIS 3.4 Nichtdete
- Seite 6 und 7: iv INHALTSVERZEICHNIS
- Seite 8 und 9: 74 KAPITEL 3. TURINGMASCHINEN hat h
- Seite 10 und 11: 76 KAPITEL 3. TURINGMASCHINEN Die B
- Seite 12 und 13: 78 KAPITEL 3. TURINGMASCHINEN Diese
- Seite 14 und 15: 80 KAPITEL 3. TURINGMASCHINEN ist.
- Seite 16 und 17: 82 KAPITEL 3. TURINGMASCHINEN 3.2.5
- Seite 18 und 19: 84 KAPITEL 3. TURINGMASCHINEN (q0,
- Seite 20 und 21: 86 KAPITEL 3. TURINGMASCHINEN 3. Di
- Seite 22 und 23: 88 KAPITEL 3. TURINGMASCHINEN 4. L
- Seite 24 und 25: 90 KAPITEL 3. TURINGMASCHINEN 3.4 N
- Seite 26 und 27: 92 KAPITEL 3. TURINGMASCHINEN 1. Di
- Seite 28 und 29: 94 KAPITEL 3. TURINGMASCHINEN sie k
- Seite 32 und 33: 98 KAPITEL 4. CHURCHSCHE THESE Zeil
- Seite 34 und 35: 100 KAPITEL 4. CHURCHSCHE THESE 0.
- Seite 36 und 37: 102 KAPITEL 4. CHURCHSCHE THESE 4.2
- Seite 38 und 39: 104 KAPITEL 4. CHURCHSCHE THESE Bei
- Seite 40 und 41: 106 KAPITEL 4. CHURCHSCHE THESE [uq
- Seite 42 und 43: 108 KAPITEL 4. CHURCHSCHE THESE Bew
- Seite 44 und 45: 110 KAPITEL 4. CHURCHSCHE THESE Alg
- Seite 46 und 47: 112 KAPITEL 4. CHURCHSCHE THESE All
- Seite 48 und 49: 114 KAPITEL 4. CHURCHSCHE THESE Bem
- Seite 50 und 51: 116 KAPITEL 4. CHURCHSCHE THESE Sei
- Seite 52 und 53: 118 KAPITEL 5. UNENTSCHEIDBARE PROB
- Seite 54 und 55: 120 KAPITEL 5. UNENTSCHEIDBARE PROB
- Seite 56 und 57: 122 KAPITEL 5. UNENTSCHEIDBARE PROB
- Seite 58 und 59: 124 KAPITEL 5. UNENTSCHEIDBARE PROB
- Seite 60 und 61: 126 KAPITEL 5. UNENTSCHEIDBARE PROB
- Seite 62 und 63: 128 KAPITEL 5. UNENTSCHEIDBARE PROB
- Seite 64 und 65: 130 KAPITEL 5. UNENTSCHEIDBARE PROB
- Seite 66 und 67: 132 KAPITEL 6. KOMPLEXITÄT VON ALG
- Seite 68 und 69: 134 KAPITEL 6. KOMPLEXITÄT VON ALG
- Seite 70 und 71: 136 KAPITEL 6. KOMPLEXITÄT VON ALG
- Seite 72 und 73: 138 KAPITEL 6. KOMPLEXITÄT VON ALG
- Seite 74 und 75: 140 KAPITEL 6. KOMPLEXITÄT VON ALG
- Seite 76 und 77: 142 KAPITEL 6. KOMPLEXITÄT VON ALG
- Seite 78 und 79: 144 KAPITEL 6. KOMPLEXITÄT VON ALG
Kapitel 4<br />
Churchsche These<br />
Die Churchsche These behauptet, dass die <strong>in</strong>tuitive Klasse aller ” berechenbaren<br />
Funktionen“ mit den formal def<strong>in</strong>ierten Tur<strong>in</strong>g-berechenbaren Funktionen übere<strong>in</strong>stimmt.<br />
Diese These kann zwar nicht bewiesen werden, aber sie lässt sich untermauern,<br />
<strong>in</strong>dem man beweist, dass andere natürliche formale Darstellungen des<br />
Algorithmenbegriffs dasselbe Ergebnis liefern. Z. B. kann e<strong>in</strong>e Funktion mit Hilfe<br />
von PASCAL genau dann auf e<strong>in</strong>em modernen Rechner implementiert werden,<br />
wenn sie Tur<strong>in</strong>g-berechenbar ist. In diesem Kapitel zeigen wir verschiedene Modelle<br />
des Algorithmenbegriffs und beweisen, dass alle diese Modelle äquivalent zu Tur<strong>in</strong>gmasch<strong>in</strong>en<br />
s<strong>in</strong>d. Es ist trotzdem möglich, dass irgendwann e<strong>in</strong> neues, generell<br />
akzeptables Modell für Algorithmen gefunden wird, das allgeme<strong>in</strong>er als Tur<strong>in</strong>gmasch<strong>in</strong>en<br />
ist – aber niemand hält so etwas heute für wahrsche<strong>in</strong>lich.<br />
Die Tatsache, dass moderne Rechner und Tur<strong>in</strong>gmasch<strong>in</strong>en dieselbe Mächtigkeit besitzen,<br />
illustrieren wir an RAMs (oder Registermasch<strong>in</strong>en), die realen Rechnern viel<br />
näher als Tur<strong>in</strong>gmasch<strong>in</strong>en stehen. Wir beweisen exakt, dass Tur<strong>in</strong>g-berechenbare<br />
und RAM-berechenbare Funktionen dieselben Klassen formen.<br />
E<strong>in</strong> Modell ganz anderen Stils ist die formale Grammatik, e<strong>in</strong>e Verallgeme<strong>in</strong>erung<br />
kontextfreier Grammatiken. Wir beweisen, dass e<strong>in</strong>e Sprache genau dann von e<strong>in</strong>er<br />
solchen Grammatik erzeugt werden kann, wenn sie von e<strong>in</strong>er Tur<strong>in</strong>gmasch<strong>in</strong>e akzeptiert<br />
werden kann. Schließlich widmen wir uns den rekursiven Funktionen und<br />
zeigen auch hier, dass diese genau die Tur<strong>in</strong>g-berechenbaren Funktionen s<strong>in</strong>d.<br />
4.1 RAM<br />
E<strong>in</strong>e RAM, d.h. Random-Access-Masch<strong>in</strong>e (oder Registermasch<strong>in</strong>e) ist e<strong>in</strong> Modell<br />
e<strong>in</strong>er Berechnung, die realen Rechnern dadurch näher steht als TM, dass sie Programm<br />
und Datei separat behandelt. Geme<strong>in</strong>sam mit TM hat dieses Modell aber die<br />
präzise mathematische Def<strong>in</strong>ition und die Annahme, dass e<strong>in</strong>e unbegrenzte Speicherkapazität<br />
zur Verfügung steht. Die e<strong>in</strong>zelnen Register haben die Fähigkeit, beliebig<br />
große Zahlen zu enthalten.<br />
97