Ausführliche Zusammenfassung der Einführung in Turing-Maschinen und kontextsensitive Sprachen
Einführung in Turing-Maschinen
Verwendung
- Turing-Maschinen werden eingeführt, um die Typ 1 und Typ 0 Sprachen der Chomsky-Hierarchie zu erkennen.
Funktionsweise
- Typ 1 Sprachen (Kontextsensitive Sprachen): Produktionsregeln dürfen die Länge der Wörter nicht verkürzen (|A| ≤ |α|).
- Typ 0 Sprachen (Rekursiv Aufzählbare Sprachen): Keine Einschränkungen für Produktionsregeln.
Turing-Maschinen
Allgemeine Turing-Maschinen
- Beschreiben Typ 0 Sprachen.
- Besitzen ein unendlich großes Band und können darauf lesen, schreiben und den Kopf bewegen.
Linear platzbeschränkte Turing-Maschinen (LBAs)
- Beschreiben Typ 1 Sprachen.
- Der Schreib-Lesekopf darf den Bereich der Eingabe nicht verlassen.
Unterschiede zwischen Kellerautomaten und Turing-Maschinen
Kellerautomaten
- Eingeschränkter Speicher: Stack, auf den nur von oben zugegriffen werden kann.
- Beispiel: Die Sprache kann nicht erkannt werden, da beim Lesen der dritten Gruppe (c’s) die Anzahl der Zeichen im Speicher nicht mehr vorhanden ist.
Turing-Maschinen
- Unendliches Band: Das Band kann nach links und rechts unendlich erweitert werden.
- Schreiblesekopf: Kann sowohl lesen als auch schreiben und sich in beide Richtungen bewegen.
- Vergleich: Eine Turing-Maschine kann komplexere Aufgaben lösen, die mit einem Kellerautomaten nicht möglich sind.
Formale Definition einer Turing-Maschine
Sieben-Tupel
Eine Turing-Maschine (TM) wird formal als ein Siebentupel definiert:
- : Eine endliche Menge von Zuständen.
- : Ein endliches Eingabealphabet.
- : Ein endliches Bandalphabet, das eine Obermenge von ist.
- : Die Zustandsüberführungsfunktion.
- : Der Startzustand.
- Blank: Das Blanksymbol, das leere Felder auf dem Band markiert.
- : Die Menge der Endzustände.
Zustandsüberführungsfunktion
Deterministische Turing-Maschine (DTM)
- Die Zustandsüberführungsfunktion ist definiert als:
- Die Funktion nimmt einen Zustand und ein Symbol und liefert ein Tripel aus einem neuen Zustand, einem neuen Band-Symbol und einer Richtung (links, rechts oder neutral).
Nicht-deterministische Turing-Maschine (NTM)
- Die Zustandsüberführungsfunktion ist definiert als:
- Die Funktion liefert eine Menge möglicher Tripel, was bedeutet, dass die Maschine mehrere mögliche Übergänge hat.
Konfigurationen und Transitionsrelationen
Konfiguration
- Eine Konfiguration einer Turing-Maschine beschreibt den aktuellen Zustand, den Inhalt des Bandes und die Position des Schreib-Lesekopfes.
- Sie wird als ein Wort aus geschrieben.
Transitionsrelation
- Bestimmt die Übergänge zwischen den Konfigurationen.
Beispiel für Übergänge:
-
Neutraler Übergang (N):
- Vorher: Band enthält .
- Nachher: Band enthält .
- Zustandsänderung: Von Zustand zu .
- Schreiblesekopf bleibt auf dem Symbol .
-
Übergang nach links (L):
- Vorher: Band enthält .
- Nachher: Band enthält .
- Zustandsänderung: Von Zustand zu .
- Schreiblesekopf bewegt sich nach links auf das Symbol .
-
Übergang nach rechts (R):
- Vorher: Band enthält .
- Nachher: Band enthält .
- Zustandsänderung: Von Zustand zu .
- Schreiblesekopf bewegt sich nach rechts auf das Symbol .
Akzeptierte Sprache einer Turing-Maschine
- Eine Turing-Maschine akzeptiert ein Wort , wenn es eine Konfiguration gibt, wobei ein Endzustand ist und und Worte über dem Bandalphabet sind, sodass die Startkonfiguration durch eine beliebige Anzahl von Schritten zu übergehen kann.
Triviale Beispiele
-
Akzeptiert alle Eingaben:
- Definition: , wobei .
- Erklärung: Die Turing-Maschine akzeptiert jede Eingabe sofort, ohne Berechnung durchzuführen.
-
Akzeptiert keine Eingaben:
- Definition: .
- Erklärung: Die Turing-Maschine akzeptiert keine Eingabe, da es keine Endzustände gibt.
Linear beschränkte Turing-Maschinen (LBAs)
Definition
- LBAs sind eine Variante der Turing-Maschinen, bei denen der Schreib-Lesekopf den Bereich der Eingabe auf dem Band nicht verlassen darf.
- Die Turing-Maschine bleibt innerhalb des Bereichs, der durch die Eingabe definiert ist.
Eigenschaften
- Platzbeschränkung: Der Kopf darf den Bereich der Eingabe nicht verlassen.
- Markierung des Endes: Das Ende der Eingabe wird durch ein markiertes Symbol gekennzeichnet.
- Markierung des Anfangs: Der linke Rand ist am Anfang nicht markiert, kann aber von der Maschine markiert werden.
- Notationsweise: Wenn das Eingabealphabet ist, enthält die markierte Kopie die gleichen Symbole, jedoch mit einem Hütchen.
Beispiel für eine LBA
- Ein LBA verarbeitet die Eingabe und bleibt innerhalb dieser Grenzen. Der Zustand und die Übergänge sind so definiert, dass der Kopf niemals außerhalb des Bereichs wandert.
Akzeptierte Sprache
- Kontextsensitiv: LBAs erkennen genau die kontextsensitiven Sprachen (Typ-1-Sprachen).
- Erreichbare Zustände: Für jede Eingabe ist die Anzahl der Symbole auf dem Band stets begrenzt durch die Länge der Eingabe.
Entscheidungsprobleme und Komplexität
Wortproblem
- Typ 1 bis Typ 3: Entscheidbar.
- Typ 0: Nicht entscheidbar.
Leerheitsproblem
- Typ 2 und Typ 3: Entscheidbar.
- Typ 1 und Typ 0: Nicht entscheidbar.
Äquivalenzproblem
- Typ 3 und deterministisch kontextfrei: Entscheidbar.
- Typ 0, Typ 1, Typ 2: Nicht entscheidbar.
Schnittproblem
- Nicht entscheidbar für deterministisch kontextfreie Sprachen.
Abschlusseigenschaften
Reguläre Sprachen
- Abgeschlossen unter Schnitt, Vereinigung, Komplement, Produkt und klinischem Abschluss.
Deterministisch kontextfreie Sprachen
- Nur gegenüber Komplement abgeschlossen.
Kontextfreie Sprachen
- Abgeschlossen gegenüber Vereinigung, Produkt und klinischem Abschluss.
Kontext-sensitive Sprachen
- Abgeschlossen gegenüber Schnitt, Vereinigung, Komplement, Produkt und klinischem Abschluss.
Typ-0-Sprachen
- Abgeschlossen bezüglich Schnitt, Vereinigung, Produkt und klinischem Abschluss, aber nicht gegenüber Komplement.
Chomsky-Hierarchie
Typ-0-Sprachen
- Beliebige Turing-Maschinen.
Typ-1-Sp
rachen
- Linear beschränkte Turing-Maschinen.
Typ-2-Sprachen
- Nicht-deterministische Kellerautomaten.
Typ-3-Sprachen
- Endliche Automaten (deterministisch und nicht-deterministisch).
Komplexität des Wortproblems
Typ-3 (DFA)
- Lineare Komplexität.
Typ-2 (Chomsky-Normalform)
- Kubische Komplexität.
Typ-1
- Exponentielle Komplexität.
Typ-0
- Nicht lösbar.
Wichtige Sprachen und Beispiele
- : Typ-2, aber nicht Typ-3.
- Palindrome: Typ-2, aber nicht deterministisch kontextfrei.
- : Typ-1, aber nicht Typ-2.
- Halteproblem: Typ-0, aber nicht Typ-1.
Simulation von nicht-deterministischen Turing-Maschinen
Deterministische Simulation
- Nicht-deterministische Turing-Maschinen (NTMs) können durch deterministische Turing-Maschinen (DTMs) simuliert werden.
- Der deterministische Algorithmus probiert systematisch alle möglichen Berechnungswege der nicht-deterministischen Maschine aus.
Berechnungsbaum
- Der Ablauf der Simulation kann als Berechnungsbaum dargestellt werden, in dem jeder Knoten einen Zustand der Turing-Maschine repräsentiert.
- Der Baum wird durchlaufen, um alle möglichen Berechnungen der nicht-deterministischen Maschine zu prüfen.
Unterschiede in der Laufzeit
- Die Simulation eines nicht-deterministischen Algorithmus durch einen deterministischen kann zu einer exponentiellen Laufzeit führen.
Zusammenfassung und Ausblick
- Turing-Maschinen sind ein grundlegendes Modell zur Untersuchung der Berechenbarkeit und Komplexität.
- Sie modellieren die Fähigkeiten moderner Computer und ermöglichen die Untersuchung der Grenzen dessen, was algorithmisch lösbar ist.
- In zukünftigen Vorlesungen wird die Rolle der Turing-Maschine in der Chomsky-Hierarchie und der theoretischen Informatik weiter untersucht.