Probabilistische Turingmaschine

Konzept der theoretischen Informatik

Eine probabilistische Turingmaschine, abgekürzt PTM, ist ein Konzept aus der theoretischen Informatik. Es handelt sich um eine Turingmaschine, die zusätzlich die Fähigkeit hat, ihre Rechenwege durch ein Zufallsexperiment zu steuern.

Definition

Bearbeiten
 
Mit Wahrscheinlichkeit ½ entscheidet die Programmeinheit bei jedem Schritt über die zu verwendende Übergangsfunktion

Eine probabilistische Turingmaschine[1] ist eine Turingmaschine  , die statt einer Übergangsfunktion   zwei Übergangsfunktionen hat

 
 

und bei jedem Rechenschritt eine der beiden Übergangsfunktionen wählt. Dies kann durch eine Bernoulli-verteilte Zufallsvariable   beschrieben werden, wobei   die Wahrscheinlichkeit für eines der beiden  's ist

Wenn die Turingmaschine auf einem der akzeptierten Endzustände   hält, dann ist das Ergebnis   (Ablehnung der Eingabe  ) oder   (Annahme von der Eingabe  ).

Dem liegt die Vorstellung zu Grunde, dass es zu jedem Rechenschritt zwei mögliche Übergänge gibt, das heißt zwei Möglichkeiten, ein Zeichen zu schreiben, den nächsten Zustand festzulegen und die nächste Schreiblesekopfbewegung auszuführen. Welche der zwei Möglichkeiten gewählt wird, hängt vom Zufall ab. Das Ergebnis der Rechnung ist also zufallsabhängig, ein zweiter Lauf der Maschine auf denselben Eingabedaten kann zu einem anderen Ergebnis führen.

Insbesondere kann die Laufzeit einer Rechnung von den zufälligen Wahlen der Übergangsfunktion abhängen. Die Laufzeit einer probabilistischen Turingmaschine wird daher wie folgt definiert: Ist   eine Funktion, so sagt man, die probabilistische Turingmaschine M habe Laufzeit  , falls M auf der Eingabe   bei jeder möglichen Rechnung in höchstens   Schritten hält, wobei   die Länge der Eingabe sei.

Legende:

  •   endliche Zustandsmenge
  •   endliches Eingabealphabet
  •   das endliche Bandalphabet
  •   der Anfangszustand
  •   Menge der akzeptierenden Endzustände
  •   probabilistische Überführungsfunktion 1
  •   probabilistische Überführungsfunktion 2

Abgrenzungen

Bearbeiten

Deterministische Turingmaschine

Bearbeiten

Deterministische Turingmaschinen können als Spezialfall einer probabilistischen Turingmaschine angesehen werden. Dazu müssen die zwei Übergangsfunktionen gleich sein, denn dann ist jeder Rechenschritt unabhängig von der Wahl der Übergangsfunktion und damit vom Ausgang des Zufallsexperiments und die Maschine verhält sich wie eine deterministische Turingmaschine mit dieser einen Übergangsfunktion.

Nichtdeterministische Turingmaschine

Bearbeiten

Auch die nichtdeterministische Turingmaschine ist durch zwei Übergangsfunktionen gekennzeichnet, sie verfügt aber nicht über die Möglichkeit eines Zufallsexperiments. Bei der nichtdeterministischen Turingmaschine stellt man sich eher vor, dass bei jedem Rechenschritt beide Möglichkeiten gewählt werden, so dass die Maschine durch fortwährende Verzweigung jeden möglichen Pfad durchläuft. Es stellt sich dann die Frage, ob es einen Pfad gibt, der zur Akzeptanz führt, das heißt das Ergebnis 1 hat. Bei einer probabilistischen Turingmaschine verwendet man tatsächlich das Ergebnis der zufallsbedingten Rechnung bzw. untersucht Wahrscheinlichkeiten, mit denen ein Ergebnis erreicht wird.

Robustheit bezüglich der Wahrscheinlichkeit

Bearbeiten

Es stellt sich die Frage, wie sich das hier vorgestellte Rechnermodell verhält, wenn man die Wahrscheinlichkeit ½ der B(½)-Zufallsexperimente durch eine andere Wahrscheinlichkeit 0 < p < 1 ersetzt. Kann die Maschine nur B(p)‑Experimente ausführen, so kann sie durch folgenden auf John von Neumann[2] zurückgehenden Trick auch B(½)‑Zufallsexperimente ausführen. Die B(p)‑Experimente werden solange paarweise ausgeführt, bis die beiden Komponenten des Doppelexperiments verschieden sind; als Ergebnis wählt man dann das Ergebnis der ersten Komponente. Man kann zeigen, dass dadurch ein B(½)-Experiment zu Stande kommt. Daher kann man alle Rechnungen einer probabilistischen Turingmaschine auch mit einer solchen ausführen, für die statt der B(½)‑Experimente „nur“ B(p)-Experimente für ein festes 0 < p < 1 möglich sind.

Etwas schwieriger ist die Frage, ob man mittels einer probabilistischen Turingmaschine auch B(p)-Experimente herstellen kann. Für nicht-berechenbares p ist das sicher nicht möglich. Moderate Bedingungen an p ermöglichen allerdings mit konstantem Mehraufwand mittels B(½)‑Experimente B(p)‑Experimente durchzuführen. Dazu genügt es, dass es ein Polynom   gibt und eine deterministische Turingmaschine, die die i‑te Nachkommastelle der Binärdarstellung von p in der Zeit   berechnet.[3]

Komplexitätsklassen

Bearbeiten

Da randomisierte Algorithmen durchaus praxisrelevant sind, liegt es nahe, Komplexitätsklassen mittels probabilistischer Turingmaschinen zu definieren.

Ist   eine Funktion und   eine Sprache, so sagt man,   werde von einer probabilistischen Turingmaschine M in der Zeit   entschieden, falls M auf jeder Eingabe   nach höchstens   Schritten hält und  . Dabei ist   das Ergebnis 0 oder 1 der Rechnung der Maschine M auf der Eingabe  ,   ist 1 oder 0, je nachdem ob   oder nicht, und die Wahrscheinlichkeit   bezieht sich auf die Gesamtheit aller möglichen Rechnungen.

  ist die Menge aller Sprachen, die von einer probabilistischen Turingmaschine in der Zeit   entschieden werden kann. Besonderes Interesse besteht an der Menge der Sprachen, die in polynomialer Zeit von einer probabilistischen Turingmaschine entschieden werden können, man definiert daher[4]

 .

Eine weitere wichtige Anwendung ist die Definition der Komplexitätsklasse IP der interaktiven Beweissysteme, die zu einer äquivalenten Charakterisierung der Komplexitätsklasse PSPACE führt.

Einzelnachweise

Bearbeiten
  1. Sanjeev Arora, Boaz Barak: Computational Complexity: A Modern Approach, Cambridge University Press (2009), ISBN 978-0-521-42426-4, Abschnitt 7.1: Probabilistic Turing Machines
  2. John von Neumann: Various techniques used in connection with random digits, Applied Math Series (1951), Band 12, Seiten 36–38
  3. Sanjeev Arora, Boaz Barak: Computational Complexity: A Modern Approach, Cambridge University Press (2009), ISBN 978-0-521-42426-4, Lemma 7.12
  4. Sanjeev Arora, Boaz Barak: Computational Complexity: A Modern Approach, Cambridge University Press (2009), ISBN 978-0-521-42426-4, Definition 7.2