Q3.4 - Turingmaschine
Allgemeines Berechnungsmodell zwischen algorithmischer Idee, Simulation und BerechenbarkeitsgrenzenQ3.1 bis Q3.3 haben den Weg von formalen Sprachen zu erkennenden Automaten aufgebaut: Grammatiken erzeugen Woerter, endliche Automaten erkennen regulaere Muster, Kellerautomaten nutzen Stack-Speicher fuer geschachtelte Strukturen.
Q3.4 verschiebt nun die Frage. Im Mittelpunkt steht nicht mehr nur, ob ein Wort akzeptiert wird, sondern ob eine Eingabe durch ein regelgeleitetes Verfahren verarbeitet und ein Ergebnis erzeugt werden kann. Damit wird praezise formulierbar, was algorithmisch loesbar ist und wo prinzipielle Grenzen liegen.
Orientierung: Warum Turingmaschine nach Kellerautomat?
Vom spezialisierten Sprachmodell zum allgemeinen Berechnungsmodell
Vom spezialisierten Sprachmodell zum allgemeinen Berechnungsmodell
Der Kellerautomat erweitert den endlichen Automaten um einen Stack, bleibt aber an eine bestimmte Speicherform gebunden: Zugriff gibt es nur auf das oberste Kellerelement. Fuer viele Berechnungen reicht diese Sicht nicht aus.
Eine Maschine soll Symbole nicht nur pruefen, sondern veraendern, Zwischenergebnisse festhalten, zurueckgehen, erneut lesen und am Ende ein Ergebnisband hinterlassen koennen. Die Turingmaschine modelliert genau diese allgemeinere Form schrittweiser Symbolverarbeitung.
- Aus Akzeptanz wird Verarbeitung: Eine Eingabe kann in ein Ergebnis ueberfuehrt werden.
- Aus festgelegtem Stack-Zugriff wird ein Band mit Lesen, Schreiben und Bewegung.
- Aus einzelnen Automaten fuer Sprachklassen wird ein Referenzmodell fuer algorithmische Loesbarkeit.
Wann ist ein Problem so praezise durch Regeln beschreibbar, dass eine Maschine es schrittweise ausfuehren kann?
Aufbau und Funktion
Steuerwerk, Band, Kopf und Uebergangsfunktion
Steuerwerk, Band, Kopf und Uebergangsfunktion
- Steuerwerk mit Zustaenden: endliche Menge von Arbeitszustaenden, inklusive Startzustand und Haltezustaenden.
- Band als potentiell unbegrenzter Speicher: Zellen enthalten Symbole und koennen laufend ueberschrieben werden.
- Lese-/Schreibkopf: liest aktuelles Symbol, schreibt neues Symbol und bewegt sich nach links/rechts (ggf. S fuer stehen).
- Eingabealphabet und Bandalphabet: Eingabesymbole sind Teil des Bandalphabets; zusaetzlich gibt es Hilfssymbole.
- Blank-Symbol: markiert leere Bandzellen (im Werkzeug meist
_). - Uebergangsfunktion: bestimmt aus Zustand und gelesenem Symbol den naechsten Einzelschritt.
Gegenueber dem Kellerautomaten ist das Band nicht einfach nur mehr Speicher. Es veraendert die Art des Zugriffs: Der Stack erlaubt LIFO-Zugriff auf das zuletzt abgelegte Symbol; die Turingmaschine arbeitet mit einer Kopfposition auf einem Band, liest und schreibt dort und bewegt sich kontrolliert nach links oder rechts. So wird Berechnung als veraendernde Arbeit an einer Symbolfolge modellierbar.
Das Automatendiagramm zeigt das Steuerwerk (Zustaende und Regeln), die Bandansicht zeigt den Speicherverlauf mit Kopfposition. Erst zusammen entsteht das Berechnungsmodell.
Darstellungskonvention im D-Book
Regeln lesen in der Form read/write,move
Regeln lesen in der Form read/write,move
Im Turingmaschinen-Werkzeug werden Uebergangslabels kompakt im Format
read/write,move dargestellt. Diese Notation ist mehr als eine Kurzschreibweise:
Sie buendelt in einem Kantenlabel den elementaren Rechenschritt, den die Bandansicht danach
sichtbar macht.
1/0,L in drei Teilhandlungen: lesen, schreiben, bewegen.
Welcher Begriff? Uebergangslabel im Format read/write,move.
Was lernt man? Ein einziges Kantenlabel beschreibt einen vollstaendigen elementaren Rechenschritt.
Das Label steht auf der Kante im Automatendiagramm, die Wirkung erscheint sofort in der Bandansicht: Symbolwechsel, Kopfbewegung und Folgezustand gehoeren untrennbar zusammen. Der Trace verbindet beide Ebenen, indem er aus einzelnen Regeln einen nachvollziehbaren Ablauf macht.
Schrittweise Simulation
Konfiguration, Einzelschritt und Trace
Konfiguration, Einzelschritt und Trace
Eine Konfiguration besteht aus aktuellem Zustand, Bandinhalt und Kopfposition. Ein Schritt fuehrt genau vier Aktionen aus: lesen, schreiben, bewegen, Zustand wechseln. Der Trace ist die Folge aller Konfigurationen.
- Aktuelles Bandsymbol lesen.
- Passende Regel der Uebergangsfunktion waehlen.
- Neues Symbol schreiben.
- Kopf bewegen und Folgezustand setzen.
Das Beispiel ist geeignet, weil es den Unterschied zur reinen Worterkennung sichtbar macht. Die Maschine entscheidet nicht nur akzeptiert oder nicht akzeptiert, sondern veraendert eine Eingabe nach festen Regeln zu einem Ergebnis.
Startband 1011: Von rechts werden zunaechst alle abschliessenden 1 zu 0.
Beim ersten 0 wird auf 1 gesetzt und gehalten. Ergebnis: 1100.
Daran werden Verarbeitung, Zwischenschritte und Ergebnisband gemeinsam sichtbar.
1011 -> 1100 mit Steuerwerkzustand, aktiver Kante, Bandfenster und kompaktem Trace.
Welcher Begriff? Schrittweise Simulation einer Turingmaschine.
Was lernt man? Die Maschine arbeitet von rechts nach links: endende Einsen werden zu Nullen, dann wird das erste passende Bit umgeschaltet.
Die Visualisierung zeigt unmittelbar, wo der Zustand wechselt, welches Symbol unter dem Kopf gelesen wird, welche Regel aktiv ist und wie daraus der naechste Bandzustand entsteht. Genau diese Nachvollziehbarkeit macht den Trace zur didaktischen Bruecke zwischen Regeltext und Berechnungsablauf.
Werkzeug: Turingmaschine simulieren
Das interaktive Werkzeug macht die Kopplung aus Steuerwerk, Band und Trace beobachtbar. Der Zustandsautomat zeigt, welche Regel moeglich ist; das Band zeigt, welche Wirkung der Schritt hat; der Trace haelt fest, wie aus vielen Einzelschritten ein Lauf entsteht.
- Automat: Zustaende, gerichtete Uebergaenge und aktive Regel im Format
read/write,move. - Band: sichtbare Blank-Zellen, markierte Kopfzelle und aktuelle Kopfposition.
- Trace: Schrittfolge mit Zustand, Kopfposition, gelesen/geschrieben, Bewegung und Folgezustand.
- Steuerung: einzelne Schritte mit Step oder laengere Ausfuehrung mit Run/Stop.
Die Oberflaeche kann sich in Details weiterentwickeln; die fachliche Lesart (Automat + Band + Trace) bleibt dabei stabil.
Step und Run sind dabei unterschiedliche Lernhandlungen: Der Einzelschritt hilft,
eine Regel wirklich zu lesen; der Lauf macht sichtbar, ob ein Verhalten insgesamt haelt, sich
wiederholt oder in lange Zwischenphasen geraet. maxSteps ist dafuer eine praktische
Unterrichts- und Diagnosegrenze, aber kein Entscheidungsverfahren fuer das allgemeine Halteproblem.
Turing-Berechenbarkeit
Funktionen auf Symbolfolgen und partielle Definition
Funktionen auf Symbolfolgen und partielle Definition
Eine Turingmaschine beschreibt Berechnung als Funktion auf Symbolfolgen. Bei akzeptierenden Automaten war das Ergebnis haeufig nur akzeptiert oder nicht akzeptiert. Bei einem Berechnungsmodell interessiert zusaetzlich, welches Ergebnis am Ende auf dem Band steht.
Dabei sind oft nicht alle Eingaben zugelassen oder erfolgreich berechenbar. Wenn eine Maschine fuer eine Eingabe haelt und ein Ergebnis liefert, ist die Funktion dort definiert. Wenn sie nicht haelt, ist die Funktion an dieser Stelle nicht definiert. Deshalb arbeitet man mit partiell definierten Funktionen.
- Definierte Eingaben: Die Maschine haelt und liefert das korrekte Ergebnisband.
- Nicht definierte Eingaben: Die Maschine muss nicht halten.
Diese Sicht verbindet Q3.4 mit Q3.5: Auch Registermaschinen beschreiben Berechnung ueber partielle Funktionen, nur mit anderem Speicher- und Befehlsmodell.
Vertiefung: Universelle Turingmaschine
Von spezieller Problemmaschine zur programmierbaren Simulation
Von spezieller Problemmaschine zur programmierbaren Simulation
Die universelle Turingmaschine ist kein Bauplan fuer einen konkreten Schulcomputer, sondern ein Modellgedanke: Eine Maschine kann eine Maschinenbeschreibung und eine Eingabe lesen und den beschriebenen Lauf simulieren.
- Eine spezielle Turingmaschine loest genau eine festgelegte Verarbeitungsaufgabe.
- Eine universelle Turingmaschine erhaelt Maschinenbeschreibung + Eingabe.
- Sie simuliert dann die beschriebene Maschine auf dieser Eingabe.
Damit wird die Bruecke zur Programmierbarkeit moderner Computer sichtbar: Nicht fuer jedes Problem eine neue Hardware, sondern ein allgemeines System, das verschiedene Programme ausfuehrt.
Einordnung: Church-Turing-These
Leitannahme zum intuitiven Algorithmusbegriff
Leitannahme zum intuitiven Algorithmusbegriff
Die Church-Turing-These ist kein beweisbarer Satz ueber alle denkbaren Verfahren, sondern eine theoretische Leitannahme: Formale Modelle wie Turingmaschine treffen den intuitiven Algorithmusbegriff.
Der Vergleich mit Registermaschine und WHILE-Programmen stuetzt diese Einordnung, weil unterschiedliche Modelle dieselbe Klasse berechenbarer Funktionen erfassen.
Entscheidbarkeit und Halteproblem
Simulieren ja, allgemeine Haltvorhersage nein
Simulieren ja, allgemeine Haltvorhersage nein
Gerade weil die Turingmaschine als allgemeines Berechnungsmodell dient, wird an ihr auch eine prinzipielle Grenze sichtbar: Simulieren ist nicht dasselbe wie allgemein vorhersagen.
Konkrete Maschinen kann man simulieren und ihr Verhalten Schritt fuer Schritt verfolgen. Unmoeglich ist jedoch ein allgemeines Verfahren, das fuer jede Maschine und jede Eingabe korrekt entscheidet, ob sie haelt.
Ein Werkzeug kann deshalb mit maxSteps nur praktische Laufgrenzen setzen.
Das ist nuetzlich fuer Unterricht und Diagnose, loest aber das Halteproblem nicht.
Das Halteproblem ist unentscheidbar. Es markiert eine prinzipielle Grenze algorithmischer Vorhersage.
Merksaetze
- Der Schritt vom Kellerautomaten zur Turingmaschine ist der Schritt von spezieller Worterkennung zu allgemeiner Symbolverarbeitung.
- Die Turingmaschine ist ein allgemeines Modell fuer Berechnung, nicht nur fuer Worterkennung.
- Das Automatendiagramm beschreibt das Steuerwerk mit Zustaenden und Uebergaengen.
- Die Bandansicht beschreibt Speicher und Kopfposition waehrend der Ausfuehrung.
- Eine Konfiguration besteht aus Zustand, Bandinhalt und Kopfposition; ein Trace ist die Folge solcher Konfigurationen.
- Ein Uebergang beschreibt Lesen, Schreiben, Bewegen und den Zustandswechsel als einen Einzelschritt.
- Turing-Berechenbarkeit wird ueber partielle Funktionen auf Symbolfolgen praezisiert.
- Universelle Turingmaschinen machen Programmierbarkeit im Modell sichtbar.
- Das Halteproblem zeigt: Nicht jede korrekt formulierte Frage ist algorithmisch entscheidbar.
Ausblick
Q3.5 betrachtet mit der Registermaschine ein weiteres Berechnungsmodell mit Registern und arithmetischen Operationen.
Vergleiche in Q3.5 gezielt Speicherkonzept, Schrittmodell und Berechenbarkeitsbegriff mit Q3.4.