Nichtdeterministische Turingmaschine

Turingmaschine, die anstatt einer Übergangsfunktion eine Übergangsrelation verwendet

Eine nichtdeterministische Turingmaschine (NTM, NDTM) in der theoretischen Informatik ist eine Turingmaschine, die anstatt einer Übergangsfunktion eine Übergangsrelation verwendet.

Informelle Beschreibung Bearbeiten

Eine deterministische Turingmaschine (im Folgenden DTM) hat eine Übergangsfunktion, die für einen gegebenen Zustand und ein Symbol unter dem Lesekopf drei Dinge spezifiziert: das Symbol, das auf das Band geschrieben werden soll, die Richtung, in die der Lesekopf bewegt werden soll, und den Zustand, in den gewechselt werden soll.

Eine NTM unterscheidet sich von einer DTM dadurch, dass der aktuelle Zustand und das aktuelle Bandsymbol diese drei Dinge nicht mehr eindeutig festlegen, vielmehr gibt es mehrere mögliche Übergänge. Die NTM hat also für jede Eingabe nicht etwa einen eindeutigen Lauf, sondern viele verschiedene mögliche Läufe. (Das kann so interpretiert werden, dass sie zufällig einen der möglichen Läufe ausführt, oder aber so, dass sie alle möglichen Läufe parallel ausführt.) Sie akzeptiert die Eingabe, sofern es einen akzeptierenden Lauf gibt.

Da dieses Verhalten nach heutigem Kenntnisstand nicht ohne Weiteres realisierbar ist, handelt es sich um ein theoretisches Maschinenmodell. Trotzdem hat dieses Modell aus verschiedenen Gründen eine große Bedeutung für die theoretische Informatik, insbesondere für den Bereich der Komplexitätstheorie.

Formale Definition Bearbeiten

Eine nichtdeterministische Turingmaschine (kurz: NTM) ist ein 7-Tupel  , wobei

Zustandsmenge
  ist eine endliche nichtleere Menge
Eingabealphabet
  ist eine endliche nichtleere Menge
Bandalphabet
  ist eine endliche nichtleere Menge
Übergangsrelation
 
Startzustand
 
Blank-Symbol
 
Menge der Endzustände
 

Eine Konfiguration der NTM   ist ein 4-Tupel  , wobei  ,  ,   und   (für eine Definition von   siehe Kleenesche Hülle). Intuitiv bedeutet eine Konfiguration  , dass sich die NTM   im Zustand   befindet, das Feld, auf dem sich der Schreib/Lese-Kopf befindet, das Symbol   enthält, das unendliche Band links vom Schreib/Lese-Kopf den Inhalt   hat (wobei unendlich viele Blank-Symbole links von   nicht mit einbezogen werden) und rechts vom S/L-Kopf den Inhalt   aufweist (auch hier wird wieder nur der endliche Teil betrachtet, der alle Nicht-Blank-Symbole enthält). Die Menge der Konfigurationen von   sei mit   bezeichnet. Wir definieren eine binäre Relation   auf   (genannt Konfigurationsübergangsrelation) wie folgt:

Für zwei Konfigurationen   und   gilt   genau dann, wenn eine der folgenden Bedingungen erfüllt ist (  steht hier für das leere Wort):

  •  ,   und   oder
  • es gibt ein  , so dass  ,  ,   und   oder
  • es gibt ein  , so dass  ,   und   oder
  • es gibt ein  , so dass  ,  ,   und   oder
  • es gibt ein  , so dass  ,   und  .

Die Anfangskonfiguration von   auf dem Eingabewort   ist die Konfiguration  . Eine Konfiguration   heißt Endkonfiguration, wenn  . Ist   eine Endkonfiguration, dann heißt sie akzeptierende Endkonfiguration, wenn  , ansonsten heißt sie nicht-akzeptierende Endkonfiguration.

Ein endlicher Lauf von   auf dem Eingabewort   ist eine endliche Sequenz   von Konfigurationen, wobei   die Anfangskonfiguration auf   ist,   eine Endkonfiguration und für jede natürliche Zahl   mit   gilt:  . Ein endlicher Lauf auf   heißt akzeptierend, wenn   akzeptierend ist, ansonsten heißt er nicht-akzeptierend.

Ein unendlicher Lauf von   auf Eingabe   ist eine unendliche Sequenz   von Konfigurationen, wobei   die Anfangskonfiguration auf   ist und für jede natürliche Zahl   mit   gilt:  .

Ein Entscheider ist eine NTM, die keinen unendlichen Lauf hat. Sei   ein Entscheider. Die von   akzeptierte Sprache   ist definiert als   es gibt einen akzeptierenden Lauf von   auf  .

Äquivalenz zu Deterministischen Turingmaschinen Bearbeiten

Da jede (deterministische) Übergangsfunktion einer DTM als Übergangsrelation einer NTM aufgefasst werden kann, sind NTM mindestens so mächtig wie DTM, da sie diese komplett enthalten. Umgekehrt kann auch jede von einer NTM erkannte Sprache von einer DTM erkannt werden. Die DTM simuliert alle Übergänge der NTMs, indem sie mehrere Kopien des simulierten Zustands erstellt, sofern mehrere Übergänge möglich sind; diese werden dann parallel simuliert. Kann z. B. ein Problem von einer NTM in polynomieller Zeit gelöst werden, so kann es von einer deterministischen Turingmaschine in exponentieller Zeit gelöst werden. Es gibt dann auch eine DTM, die das Problem mit polynomiellem Speicheraufwand löst (Satz von Savitch).

Bedeutung in der Komplexitätstheorie Bearbeiten

Die Bedeutung nichtdeterministischer Turingmaschinen erklärt sich wie folgt: Man betrachtet ein Problem nur dann als effizient lösbar, wenn es sich in Polynomialzeit entscheiden lässt. Auf deterministischen Turingmaschinen werden alle Probleme, für die dies gilt, der Klasse P zugerechnet. Es gibt jedoch eine recht große Anzahl von praktisch sehr bedeutsamen Problemen, für die noch nicht gezeigt werden konnte, ob sie in P liegen. Wie sich herausgestellt hat, lassen sich zahlreiche dieser Probleme auf einer nichtdeterministischen Turingmaschine in polynomieller Zeit entscheiden, sie liegen in NP. Die Tatsache, dass so viele wichtige, aber deterministisch bisher nicht effizient lösbare Probleme in dieser Klasse liegen, hat die Hoffnung genährt, durch eine Untersuchung des nichtdeterministischen Turingmaschinentyps Hinweise auf eine effizientere Lösung dieser Probleme zu erhalten. Ließe sich etwa ein allgemeines Verfahren finden, mit dem eine nichtdeterministische Turingmaschine durch eine deterministische in Polynomialzeit simuliert werden kann, so wäre für alle genannten Probleme gezeigt, dass sie in P liegen und damit effizient lösbar sind. Die Klassen P und NP wären dann identisch. Dies ist aber bis heute nicht gelungen. Die Fragestellung ist auch als P-NP-Problem bekannt.

Mittels nichtdeterministischer Turingmaschinen werden neben NP eine Reihe bedeutsamer Komplexitätsklassen definiert. Die Menge aller Zeitkomplexitätsklassen, die auf nichtdeterministische Turingmaschinen zurückgeführt werden, heißt NTIME. Analog ist NSPACE die Menge aller Raumkomplexitätsklassen dieses Maschinentyps.

Siehe auch Bearbeiten

Literatur Bearbeiten

  • John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman: Einführung in die Automatentheorie, formale Sprachen und Komplexitätstheorie. 3., aktualisierte Auflage. Pearson Studium, München 2011, ISBN 978-3-86894-082-4, 8.4.4 Nichtdeterministische Turing-Maschinen (englisch: Introduction to Automata Theory, Languages, and Computation. 2007. Übersetzt von Sigrid Richter und Ingrid Tokar).
  • Ingo Wegener: Theoretische Informatik. Eine algorithmenorientierte Einführung. B.G. Teubner, Stuttgart, ISBN 3-519-02123-4, 3.2 Nichtdeterministische Turingmaschinen und die Klasse NP.

Quellenhinweis Bearbeiten

  • Dies ist eine freie, nicht-vollständige Übersetzung des Eintrags in der Englischen Wikipedia. Für Quellenangaben vgl. dort.