Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Nichtdeterministische Turingmaschine

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

Inhalt5 Abschnitte
  1. 1. Grundidee und Arbeitsweise
  2. 2. Formaler Aufbau und Konfigurationen
  3. 3. Läufe, Entscheidung und akzeptierte Sprache
  4. 4. Beziehung zu deterministischen Turingmaschinen
  5. 5. Bedeutung für P, NP und Komplexitätsklassen

Grundidee und Arbeitsweise

Eine nichtdeterministische Turingmaschine (NTM oder NDTM) ist ein theoretisches Modell der Informatik. Anders als eine deterministische Turingmaschine (DTM) verwendet sie keine Übergangsfunktion, sondern eine Übergangsrelation.

Bei einer DTM legen der aktuelle Zustand und das gelesene Bandsymbol eindeutig fest, welches Symbol geschrieben wird, wohin sich der Lese-/Schreibkopf bewegt und in welchen Zustand die Maschine wechselt. Bei einer NTM können zu derselben Situation mehrere mögliche Übergänge gehören. Deshalb kann sie für eine Eingabe viele mögliche Läufe haben. Dies lässt sich so deuten, als wähle sie zufällig einen Lauf aus oder führe alle möglichen Läufe parallel aus.

Eine Eingabe wird akzeptiert, wenn mindestens einer dieser Läufe akzeptierend endet. Da dieses Verhalten nach heutigem Kenntnisstand nicht unmittelbar realisierbar ist, ist die NTM ein theoretisches Maschinenmodell. Sie ist besonders in der Komplexitätstheorie wichtig.

Formaler Aufbau und Konfigurationen

Eine NTM ist das 7-Tupel M=(Q,Σ,Γ,δ,q₀,□,F). Dabei ist Q eine endliche, nichtleere Zustandsmenge, Σ ein endliches, nichtleeres Eingabealphabet und Γ ein endliches, nichtleeres Bandalphabet mit Γ ⊃ Σ. Der Startzustand ist q₀∈Q, das Blank-Symbol erfüllt □∈Γ\Σ, und F⊆Q ist die Menge der Endzustände.

Die Übergangsrelation ist δ⊆((Q\F)×Γ)×(Q×Γ×{L,N,R}). Sie ordnet einem Zustand und einem gelesenen Symbol möglicherweise mehrere Möglichkeiten zu: neuer Zustand, zu schreibendes Symbol sowie Kopfbewegung nach links (L), ohne Bewegung (N) oder nach rechts (R).

Eine Konfiguration hat die Form (u,q,a,v), wobei u,v∈Γ* , q∈Q und a∈Γ. Sie beschreibt den Zustand q, das unter dem Kopf gelesene Symbol a, den endlichen relevanten Bandinhalt links davon u und rechts davon v. Nicht aufgeführte Bandfelder enthalten Blank-Symbole. Die Konfigurationsübergangsrelation ⇒M beschreibt einen einzelnen erlaubten Schritt entsprechend einer Regel aus δ; beim Bewegen des Kopfes werden die linken beziehungsweise rechten Bandteile angepasst.

Für ein Eingabewort w∈Σ* ist die Anfangskonfiguration c₀=(ε,q₀,□,w). Eine Konfiguration (u,q,a,v) ist eine Endkonfiguration, wenn q∈F. Sie ist akzeptierend, wenn außerdem a≠□ gilt; bei a=□ ist sie nicht akzeptierend.

Läufe, Entscheidung und akzeptierte Sprache

Ein endlicher Lauf auf w ist eine Folge c₀,c₁,…,cₙ von Konfigurationen. Er beginnt mit der Anfangskonfiguration, endet in einer Endkonfiguration und jeder Schritt erfüllt cᵢ₋₁⇒M cᵢ. Der Lauf ist akzeptierend, wenn seine Endkonfiguration akzeptierend ist; andernfalls ist er nicht akzeptierend.

Ein unendlicher Lauf ist entsprechend eine unendliche Folge von Konfigurationen mit erlaubten Übergängen. Eine NTM heißt Entscheider, wenn sie keinen unendlichen Lauf besitzt.

Für einen Entscheider M ist die akzeptierte Sprache definiert durch L_M={w∈Σ* | es gibt einen akzeptierenden Lauf von M auf w}. Entscheidend ist also die Existenz mindestens eines akzeptierenden Laufs.

Beziehung zu deterministischen Turingmaschinen

Jede DTM kann als NTM aufgefasst werden, weil ihre Übergangsfunktion eine spezielle Übergangsrelation ist. NTM sind daher mindestens so mächtig wie DTM.

Umgekehrt kann eine DTM jede von einer NTM erkannte Sprache erkennen. Sie simuliert dazu alle möglichen Übergänge der NTM, indem sie bei mehreren Möglichkeiten Kopien des simulierten Zustands erzeugt und diese parallel simuliert. Wird ein Problem von einer NTM in polynomieller Zeit gelöst, kann eine DTM es in exponentieller Zeit lösen. Nach dem Satz von Savitch gibt es außerdem eine DTM, die das Problem mit polynomiellem Speicheraufwand löst.

Bedeutung für P, NP und Komplexitätsklassen

Als effizient lösbar gelten Probleme, die in Polynomialzeit entschieden werden können. Probleme, die eine DTM in Polynomialzeit entscheidet, gehören zur Klasse P. Viele praktisch bedeutsame Probleme sind bisher nicht als Probleme in P nachgewiesen worden, lassen sich aber auf einer NTM in polynomieller Zeit entscheiden. Sie gehören zur Klasse NP.

Würde ein allgemeines Verfahren gefunden, das jede NTM in Polynomialzeit durch eine DTM simuliert, dann lägen diese Probleme ebenfalls in P. Es würde P=NP gelten. Dies ist bis heute nicht gelungen; die Frage heißt P-NP-Problem.

Nichtdeterministische Turingmaschinen dienen auch zur Definition weiterer Komplexitätsklassen. NTIME bezeichnet die Menge aller Zeitkomplexitätsklassen, die auf NTM zurückgeführt werden. NSPACE ist analog die Menge der Raumkomplexitätsklassen dieses Maschinentyps.

Lernvideos zu Nichtdeterministische Turingmaschine

Weiterlesen

Theoretische Informatik Ihre Inhalte sind die Automatentheorie, die Theorie der formalen Sprachen, die Berechenbarkeits- und Komplexitätstheorie, aber auch die Logik und formale … Turingmaschine Eine Turingmaschine ist ein mathematisches Modell der theoretischen Informatik, das eine abstrakte Maschine definiert. Bei diesem Rechnermodell werden nach … Komplexitätstheorie Die Komplexität von Algorithmen wird in deren Ressourcenverbrauch gemessen, meist Rechenzeit oder Speicherplatzbedarf, manchmal auch speziellere Maße wie die … Relation (Mathematik) Eine Relation (lateinisch relatio „Beziehung“, „Verhältnis“) ist allgemein eine Beziehung, die zwischen Dingen bestehen kann. Bei Relationen im Sinne der … P (Komplexitätsklasse) Diese Problemklasse wird allgemein als die Klasse der „praktisch lösbaren“ Probleme betrachtet. Eine Verallgemeinerung von P ist die Klasse NP. Die Probleme aus … NP (Komplexitätsklasse) In der Informatik bezeichnet NP (für nichtdeterministisch polynomielle Zeit) eine fundamentale Komplexitätsklasse aus dem Bereich der Komplexitätstheorie. P-NP-Problem Das P-NP-Problem (auch P≟NP oder P versus NP) ist ein ungelöstes Problem der Komplexitätstheorie in der theoretischen Informatik. Komplexitätsklasse Eine Komplexitätsklasse ist eine Menge von Problemen, welche sich in einem bestimmten ressourcenbeschränkten Berechnungsmodell berechnen lassen. Zusammenhang … Zeitkomplexität Unter der Zeitkomplexität wird in der Informatik die Anzahl der ... Bubblesort zwar für große Datenmengen ein recht langsames Verfahren, eignet … Linear beschränkte Turingmaschine Eine linear beschränkte Turingmaschine (auch LBA = Linear Bounded Automaton) in der Theoretischen Informatik ist eine Turingmaschine, die den Bereich des … Orakel-Turingmaschine Zum Beispiel können Turingmaschinen mit dem Halteproblem als Orakel das Halteproblem für Turingmaschinen lösen. Turingmaschinen mit SAT als Orakel können … Ingo Wegener Er hat 1990 mit BottomUp-Heapsort einen modifizierten Sortieralgorithmus vorgestellt, der im Durchschnitt schneller sortiert als der bekannte Quicksort.