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:

  1. Neutraler Übergang (N):

    • Vorher: Band enthält .
    • Nachher: Band enthält .
    • Zustandsänderung: Von Zustand zu .
    • Schreiblesekopf bleibt auf dem Symbol .
  2. Ü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 .
  3. Ü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

  1. Akzeptiert alle Eingaben:

    • Definition: , wobei .
    • Erklärung: Die Turing-Maschine akzeptiert jede Eingabe sofort, ohne Berechnung durchzuführen.
  2. 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.