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

iv INHALTSVERZEICHNIS

Kapitel 3 Turingmaschinen Weder endliche Automaten noch Kellerautomaten sind genügend starke Berechnungsmodelle, denn sie sind nicht fähig, selbst so einfache Sprachen wie z. B. {a n b n c n ; n ≥ 1} zu akzeptieren. Wir führen jetzt ein Modell einer Maschine ein, die eine sehr starke Leistung hat, obwohl die Definition nicht komplizierter als die der Kellerautomaten ist: die Turingmaschinen. Diese Maschinen wurden von Alan Turing in den dreißiger Jahren als Formalisierung des intuitiven Begriffs des Algorithmus eingeführt. Turing versuchte zu zeigen, dass jeder Rechenprozess, den ein Mensch aufgrund einer (endlichen, eindeutigen) Anweisung durchführen kann, auch automatisch von einer Maschine durchgeführt werden kann. Was einem menschlichen Rechner zur Verfügung steht, ist eine endliche Liste von Instruktionen, die zusammen mit den Daten in seinem Gedächtnis eine endliche Menge von (inneren) Zuständen formt. Außerdem hat er einen unbeschränkten Raum, in dem er lesen, schreiben und überschreiben darf. Das kann (zweidimensional) durch einen beliebig erweiterbaren Papierstoß realisiert werden, oder äquivalent, falls alle Zeilen als Erweiterungen der ersten angesehen werden, als ein (eindimensionales) unendliches Band. Das formale Modell ist dann dem eines Kellerautomaten ähnlich: anstelle des Kellers gibt es hier ein Band, auf dem sich ein read-and-write-Kopf unbeschränkt bewegt. Die Leistungsfähigkeit von Turingmaschinen ist trotzdem unvergleichlich größer als die der Kellerautomaten. Es zeigt sich, dass die Klasse aller Probleme, die mit Turingmaschinen gelöst werden können, dieselbe ist wie die Klasse aller Probleme, die moderne Rechner mit modernen Programmiersprachen lösen können. Die Churchsche These, die wir später genauer erläutern, behauptet, dass die Turingmaschine sogar ein ganz allgemeines Modell des Begriffs des Algorithmus ist. Also kann ein Problem genau dann mit einem Algorithmus gelöst werden, wenn eine Turingmaschine es lösen kann. Diese These kann nicht bewiesen werden (der Begriff des Algorithmus ist eben doch nur intuitiv), aber sie wurde mehrmals überzeugend dadurch untermauert, dass andere – oft grundsätzlich verschiedene – Berechnungsmodelle dieselbe Klasse lösbarer Probleme ergeben. 3.1 Definition einer Turingmaschine Eine Turingmaschine besteht – analog zum Kellerautomaten – aus inneren Zuständen, externem Speicher und einer Betriebseinheit, die aufgrund des momentanen Zustandes und des gerade gelesenen Symbols entscheidet, welcher der nächste Zustand ist und wie der Speicher geändert wird. Im Vergleich zu Kellerautomaten 73

Kapitel 3<br />

Tur<strong>in</strong>gmasch<strong>in</strong>en<br />

Weder endliche Automaten noch Kellerautomaten s<strong>in</strong>d genügend starke Berechnungsmodelle,<br />

denn sie s<strong>in</strong>d nicht fähig, selbst so e<strong>in</strong>fache Sprachen wie z. B.<br />

{a n b n c n ; n ≥ 1} zu akzeptieren. Wir führen jetzt e<strong>in</strong> Modell e<strong>in</strong>er Masch<strong>in</strong>e e<strong>in</strong>,<br />

die e<strong>in</strong>e sehr starke Leistung hat, obwohl die Def<strong>in</strong>ition nicht komplizierter als die<br />

der Kellerautomaten ist: die Tur<strong>in</strong>gmasch<strong>in</strong>en. Diese Masch<strong>in</strong>en wurden von Alan<br />

Tur<strong>in</strong>g <strong>in</strong> den dreißiger Jahren als Formalisierung des <strong>in</strong>tuitiven Begriffs des Algorithmus<br />

e<strong>in</strong>geführt. Tur<strong>in</strong>g versuchte zu zeigen, dass jeder Rechenprozess, den e<strong>in</strong><br />

Mensch aufgrund e<strong>in</strong>er (endlichen, e<strong>in</strong>deutigen) Anweisung durchführen kann, auch<br />

automatisch von e<strong>in</strong>er Masch<strong>in</strong>e durchgeführt werden kann. Was e<strong>in</strong>em menschlichen<br />

Rechner zur Verfügung steht, ist e<strong>in</strong>e endliche Liste von Instruktionen, die<br />

zusammen mit den Daten <strong>in</strong> se<strong>in</strong>em Gedächtnis e<strong>in</strong>e endliche Menge von (<strong>in</strong>neren)<br />

Zuständen formt. Außerdem hat er e<strong>in</strong>en unbeschränkten Raum, <strong>in</strong> dem er lesen,<br />

schreiben und überschreiben darf. Das kann (zweidimensional) durch e<strong>in</strong>en beliebig<br />

erweiterbaren Papierstoß realisiert werden, oder äquivalent, falls alle Zeilen als<br />

Erweiterungen der ersten angesehen werden, als e<strong>in</strong> (e<strong>in</strong>dimensionales) unendliches<br />

Band. Das formale Modell ist dann dem e<strong>in</strong>es Kellerautomaten ähnlich: anstelle des<br />

Kellers gibt es hier e<strong>in</strong> Band, auf dem sich e<strong>in</strong> read-and-write-Kopf unbeschränkt<br />

bewegt.<br />

Die Leistungsfähigkeit von Tur<strong>in</strong>gmasch<strong>in</strong>en ist trotzdem unvergleichlich größer als<br />

die der Kellerautomaten. Es zeigt sich, dass die Klasse aller Probleme, die mit Tur<strong>in</strong>gmasch<strong>in</strong>en<br />

gelöst werden können, dieselbe ist wie die Klasse aller Probleme, die<br />

moderne Rechner mit modernen Programmiersprachen lösen können. Die Churchsche<br />

These, die wir später genauer erläutern, behauptet, dass die Tur<strong>in</strong>gmasch<strong>in</strong>e<br />

sogar e<strong>in</strong> ganz allgeme<strong>in</strong>es Modell des Begriffs des Algorithmus ist. Also kann e<strong>in</strong><br />

Problem genau dann mit e<strong>in</strong>em Algorithmus gelöst werden, wenn e<strong>in</strong>e Tur<strong>in</strong>gmasch<strong>in</strong>e<br />

es lösen kann. Diese These kann nicht bewiesen werden (der Begriff des Algorithmus<br />

ist eben doch nur <strong>in</strong>tuitiv), aber sie wurde mehrmals überzeugend dadurch<br />

untermauert, dass andere – oft grundsätzlich verschiedene – Berechnungsmodelle<br />

dieselbe Klasse lösbarer Probleme ergeben.<br />

3.1 Def<strong>in</strong>ition e<strong>in</strong>er Tur<strong>in</strong>gmasch<strong>in</strong>e<br />

E<strong>in</strong>e Tur<strong>in</strong>gmasch<strong>in</strong>e besteht – analog zum Kellerautomaten – aus <strong>in</strong>neren Zuständen,<br />

externem Speicher und e<strong>in</strong>er Betriebse<strong>in</strong>heit, die aufgrund des momentanen<br />

Zustandes und des gerade gelesenen Symbols entscheidet, welcher der nächste Zustand<br />

ist und wie der Speicher geändert wird. Im Vergleich zu Kellerautomaten<br />

73

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!