Skript in PDF - Theoretische Informatik - Technische Universität ...

Skript in PDF - Theoretische Informatik - Technische Universität ... Skript in PDF - Theoretische Informatik - Technische Universität ...

iti.cs.tu.bs.de
von iti.cs.tu.bs.de Mehr von diesem Publisher
18.09.2013 Aufrufe

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

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!