Orakel-Maschine

In der Kompliziertheitstheorie und Berechenbarkeitstheorie ist eine Orakel-Maschine eine abstrakte Maschine, die verwendet ist, um Entscheidungsprobleme zu studieren. Es kann als eine Maschine von Turing mit einem schwarzen Kasten, genannt ein Orakel vergegenwärtigt werden, das im Stande ist, bestimmte Entscheidungsprobleme in einer einzelnen Operation zu entscheiden. Das Problem kann jeder Kompliziertheitsklasse sein. Sogar unentscheidbare Probleme, wie das stockende Problem, können verwendet werden.

Definition

Eine Orakel-Maschine ist eine mit einem Orakel verbundene Maschine von Turing. Vom Orakel, in diesem Zusammenhang, wird als eine Entität gedacht, die dazu fähig ist, auf etwas Sammlung von Fragen zu antworten, und hat gewöhnlich als eine Teilmenge der natürlichen Zahlen vertreten. Intuitiv dann kann die Orakel-Maschine alle üblichen Operationen einer Maschine von Turing durchführen, und kann auch das Orakel für eine Antwort auf eine spezifische Frage der Form fragen "ist x in A?"

Die Definition gegeben hier ist eine von mehreren möglichen Orakel-Maschinendefinitionen. Alle diese Definitionen sind gleichwertig, weil sie sich einigen, welche Sonderaufgaben f durch eine Orakel-Maschine mit dem Orakel A. geschätzt werden können

Eine Orakel-Maschine, wie eine Maschine von Turing, schließt ein:

  • ein Arbeitsband: Eine Folge von Zellen ohne zu beginnen oder Ende, von denen jeder einen B (für das Formblatt) oder 1 enthalten kann;
  • ein Lesen/Schreiben-Leiter, der auf einer einzelnen Zelle des Arbeitsbandes ruht und die Daten dort lesen kann, schreibt neue Daten und Bewegung verlassen oder direkt entlang dem Band;
  • ein Kontrollmechanismus, der in einer einer begrenzten Zahl von Staaten sein kann, und der verschiedene Handlungen durchführen wird (Daten lesend, Daten schreibend, den Kontrollmechanismus bewegend, und Staaten ändernd), abhängig vom aktuellen Staat und den Daten, die lesen werden.

Zusätzlich zu diesen Bestandteilen schließt eine Orakel-Maschine auch ein:

  • ein Orakel-Band, auf dem eine unendliche Folge von B und 1's gedruckt wird, entsprechend der charakteristischen Funktion des Orakels hat A gesetzt;
  • ein Orakel-Kopf, der sich (wie der Lesen/Schreiben-Kopf) verlassen oder direkt entlang den Orakel-Band-Lesen-Daten bewegen kann, aber der nicht schreiben kann.

Formelle Definition

Ein Orakel Maschine von Turing ist ein 4-Tupel-wo

  • ist ein begrenzter Satz von Staaten
  • ist eine teilweise Funktion genannt die Übergang-Funktion, wo L Verschiebung verlassen wird, ist R richtige Verschiebung.
  • ist der anfängliche Staat
  • ist der Satz, Staaten zu halten.

Die Orakel-Maschine wird mit dem Arbeitsband initialisiert, das einen Eingang mit begrenzt vielen 1's und der Rest des Band-Formblattes, das Orakel-Band enthält, das die charakteristische Funktion des Orakels, A, und die Maschine von Turing im Staat q mit dem Lesen/Schreiben-Kopf das Lesen der ersten nichtleeren Zelle des Arbeitsbandes und des Orakel-Kopfs das Lesen der Zelle des Orakel-Bandes enthält, das entspricht. Danach funktioniert es gemäß: Wenn die Maschine von Turing zurzeit im Staat q ist, liest der Lesen/Schreiben-Leiter ein Symbol S, und der Orakel-Leiter liest S, dann wenn die Maschine in Staat eingeht, schreibt der Lesen/Schreiben-Leiter dem Symbol S im Platz von S, und dann bewegt der Lesen/Schreiben-Kopf 1 Zelle in der Richtung D, und der Orakel-Kopf bewegt eine Zelle in der Richtung D. An diesem Punkt, wenn ein stockender Staat, die Maschinenhalte sonst ist, wiederholt er dieses dasselbe Verfahren.

Maschinen von Turing können Funktionen wie folgt schätzen: Wenn f eine Funktion ist, die natürliche Zahlen in natürliche Zahlen bringt, ist M eine Maschine von Turing mit dem Orakel A, und wann auch immer M mit dem Arbeitsband initialisiert wird, das aus n+1 aufeinander folgend 1's besteht (und Formblatt anderswohin), hinkt M schließlich mit f (n) 1's auf dem Band, dann, wie man sagt, schätzt M die Funktion f. Eine ähnliche Definition kann für Funktionen von mehr als einer Variable oder teilweise Funktionen gemacht werden.

Wenn es eine Orakel-Maschine M gibt, die eine Funktion f mit dem Orakel A schätzt, wie man sagt, ist f A-computable. Wenn f die charakteristische Funktion eines Satzes B ist, wie man auch sagt, ist B A-computable, und, wie man sagt, ist M die Verminderung von Turing von B bis A.

Kompliziertheitsklassen von Orakel-Maschinen

Die Kompliziertheitsklasse von Entscheidungsproblemen, die durch einen Algorithmus in der Klasse A mit einem Orakel für eine Sprache L lösbar sind, wird A genannt. Zum Beispiel ist P die Klasse von Problemen, die in der polynomischen Zeit durch eine deterministische Maschine von Turing mit einem Orakel für das Problem von Boolean satisfiability lösbar sind. Die Notation A kann in eine Reihe von Sprachen B (oder eine Kompliziertheitsklasse B), durch das Verwenden der folgenden Definition erweitert werden:

:

Wenn eine Sprache L für eine Klasse B, dann A=A abgeschlossen ist vorausgesetzt, dass Maschinen in A die in der Vollständigkeitsdefinition der Klasse B verwendeten Verminderungen durchführen können. Insbesondere da GESESSEN, ist NP-complete in Bezug auf die polynomischen Zeitverminderungen, P=P. Jedoch, wenn = DLOGTIME, dann kann A nicht A gleichkommen.

Es ist das NP &sube offensichtlich; P, aber die Frage dessen, ob NP, P, NP und P gleich sind, bleibt versuchsweise bestenfalls. Es wird geglaubt, dass sie verschieden sind, und das zur Definition der polynomischen Hierarchie führt.

Orakel-Maschinen sind nützlich, für die Beziehung zwischen Kompliziertheitsklassen P und NP, durch das Betrachten der Beziehung zwischen P und NP für ein Orakel A zu untersuchen. Insbesondere es ist gezeigt worden dort bestehen Sprachen A und solcher B dass P=NP und

P≠NP.

Die Tatsache der P = relativiert NP Frage beide Wege wird als Beweise genommen, dass das Antworten auf diese Frage schwierig ist, weil eine Probetechnik, die relativiert (d. h., ungekünstelt durch die Hinzufügung eines Orakels) auf den P = NP Frage nicht antworten wird. Die meisten Probetechniken relativieren.

Es ist interessant, den Fall in Betracht zu ziehen, wo ein Orakel zufällig aus der Zahl von allen möglichen Orakeln (ein unendlicher Satz) gewählt wird. Es ist in diesem Fall, dann mit der Wahrscheinlichkeit 1, P≠NP gezeigt worden. Wenn eine Frage für fast alle Orakel wahr ist, wie man sagt, ist sie für ein zufälliges Orakel wahr. Diese Wahl der Fachsprache wird durch die Tatsache gerechtfertigt zufällige Orakel unterstützen eine Behauptung mit der Wahrscheinlichkeit 0 oder 1 nur. (Das folgt aus der Null von Kolmogorov ein Gesetz.) Das wird als Beweise P≠NP genommen. Eine Behauptung kann für ein zufälliges Orakel wahr und für gewöhnliche Maschinen von Turing zur gleichen Zeit falsch sein; zum Beispiel für Orakel A, IP≠PSPACE, während IP = PSPACE.

Orakel und stockende Probleme

Es ist möglich, die Existenz eines Orakels zu postulieren, das eine nichtberechenbare Funktion, wie die Antwort auf das stockende Problem oder eine Entsprechung schätzt. Eine Maschine mit einem Orakel dieser Sorte ist ein Hypercomputer.

Interessanterweise gilt das stockende Paradox noch für solche Maschinen; obwohl sie bestimmen, ob besondere Maschinen von Turing auf besonderen Eingängen hinken werden, können sie nicht im Allgemeinen bestimmen, wenn zu sich gleichwertige Maschinen hinken werden. Diese Tatsache schafft eine Hierarchie von Maschinen, genannt die arithmetische Hierarchie, jeden mit einem stärkeren stockenden Orakel und einem noch härteren stockenden Problem.

Anwendungen auf die Geheimschrift

In der Geheimschrift werden Orakel verwendet, um Argumente für die Sicherheit von kryptografischen Protokollen zu machen, wo eine Kuddelmuddel-Funktion verwendet wird. Die Sicherheitsverminderung für das Protokoll wird im Fall gegeben, wo, statt einer Kuddelmuddel-Funktion, ein zufälliges Orakel auf jede Abfrage zufällig, aber durchweg antwortet; wie man annimmt, ist das Orakel für alle Parteien einschließlich des Angreifers verfügbar, wie die Kuddelmuddel-Funktion ist. Solch ein Beweis zeigt, dass, wenn der Angreifer das harte Problem am Herzen der Sicherheitsverminderung nicht behebt, sie von einem interessanten Eigentum der Kuddelmuddel-Funktion Gebrauch machen müssen, das Protokoll zu brechen; sie können die Kuddelmuddel-Funktion als ein schwarzer Kasten (d. h., als ein zufälliges Orakel) nicht behandeln.

Siehe auch

  • Maschine von Turing
  • Die Verminderung von Turing
  • Interaktives Probesystem

Weiterführende Literatur

  • Alan Turing, Systeme der Logik, die auf Ordnungszahlen, Proc gestützt ist. Londoner Mathematik. soc. 45, 1939
  • C. Papadimitriou. Rechenbetonte Kompliziertheit. Addison-Wesley, 1994. Abschnitt 14.3: Orakel, Seiten 339-343.
  • Michael Sipser. Einführung in die Theorie der Berechnung. Das PWS Veröffentlichen, 1997. Internationale Standardbuchnummer 0 534 94728 X. Abschnitt 9.2: Relativierung, pp.318-321.
  • Martin Davis, Redakteur: Die Unentscheidbaren, Grundlegenden Papiere auf Unentscheidbaren Vorschlägen, Unlösbaren Problemen Und Berechenbaren Funktionen, Rabe-Presse, New York, 1965. Das Papier von Turing ist in diesem Volumen. Papiere schließen diejenigen durch Godel, Kirche, Rosser, Kleene und Posten ein.

Bestelltes Feld / Orang-Utan
Impressum & Datenschutz