Reduktion (Theoretische Informatik) - LinkFang.de





Reduktion (Theoretische Informatik)


Die Reduktion ist eine Methode der theoretischen Informatik, bei der ein Problem auf ein anderes zurückgeführt wird. Gibt es einen Algorithmus für das zweite Problem, so lässt sich über die Reduktion auch das erste lösen. Die Reduzierbarkeit ist daher eine Relation auf der Menge der Probleme, durch welche die Berechenbarkeit oder die Komplexität zweier Probleme zueinander in Bezug gesetzt werden kann.

Der Grundgedanke, Reduktionen für die Untersuchung von Problemen zu verwenden, geht auf einen Aufsatz des Mathematikers Emil Post aus dem Jahr 1944 zurück.[1]

Es werden verschiedene Arten von Reduktionen unterschieden. Die häufigsten sind dabei die One-one- oder Many-one-Reduktion, sowie die Truth-table- und Turing-Reduktion (letztere nach Alan Turing benannt). Jede von ihnen enthält jeweils die vorangegangenen als Sonderfall.

Während in der Berechenbarkeitstheorie meist der Nachweis des Vorhandenseins einer bestimmten Reduktion zwischen zwei Problemen genügt, werden in der Komplexitätstheorie zusätzliche Anforderungen an den Ressourcenverbrauch der Reduktion gestellt. Gewöhnliche Ressourcen sind hierbei Zeit oder Speicherplatz. Dies führt auf die Begriffe der Karp- (nach Richard M. Karp) und Cook-Reduktion (nach Stephen Cook).

Abgrenzungen

Konventionen

Reduktionen werden üblicherweise nur für Entscheidungsprobleme betrachtet, bei denen also gefragt wird, ob einem bestimmten Objekt eine besondere Eigenschaft zukommt oder nicht. Genauer genügt es sogar – durch eine geeignete Gödelisierung – ausschließlich Entscheidungsprobleme von Mengen natürlicher Zahlen zu betrachten. Das Ziel ist stets also die charakteristische Funktion [math]\chi[/math] einer Teilmenge von [math]\N[/math] zu berechnen. Dieser Ansatz hat den Vorteil, dass nun die Probleme mit den Teilmengen selbst identifiziert werden können. Es ist aber sehr leicht möglich, die folgenden Definitionen auch auf Optimierungs- und Suchprobleme zu übertragen.

Reduktionen in der Berechenbarkeitstheorie

Seien [math]A, B \subseteq \N[/math] Mengen natürlicher Zahlen.

  • [math]A[/math] heiße many-one-reduzierbar auf [math]B[/math] – Schreibweise [math]A \preceq_m B[/math] – falls es eine totale (Turing-)berechenbare Funktion [math]f \colon \N \to \N[/math] gibt, für die
[math]n \in A \Leftrightarrow f(n) \in B[/math]
gilt.
  • [math]A[/math] heiße one-one-reduzierbar auf [math]B[/math] – Schreibweise [math]A \preceq_1 B[/math] – falls [math]f[/math] dabei injektiv gewählt werden kann.
  • [math]A[/math] heiße truth-table-reduzierbar auf [math]B[/math] – Schreibweise [math]A\preceq_{tt} B[/math] – falls es eine Turingmaschine gibt, die für jede natürliche Zahl [math]n[/math] eine aussagenlogische Formel [math]\varphi(x_1;\cdots;x_k)[/math] (bzw. deren Gödelnummer) und natürliche Zahlen [math]b_1;\cdots;b_k \in \N[/math] berechnet, so dass gilt:
[math]n \in A \Leftrightarrow \varphi(\chi_B(b_1);\cdots; \chi_B(b_k)) = 1[/math]
Dabei kann die Stelligkeit [math]k[/math] von der Eingabe [math]n[/math] abhängig sein.
  • [math]A[/math] heiße Turing-reduzierbar auf [math]B[/math] – Schreibweise [math]A \preceq_T B[/math] – falls es eine Orakel-Turingmaschine mit Orakel für [math]B[/math] gibt, die die charakteristische Funktion [math]\chi_A[/math] von [math]A[/math] berechnet.
  • [math]A[/math] heiße aufzählbar reduzierbar auf [math]B[/math] – Schreibweise [math]A \preceq_e B[/math] – falls es einen Aufzählungsoperator [math]\Psi[/math] gibt, für den [math]\Psi(B) = A[/math] gilt.

Reduktion in der Komplexitätstheorie

Prinzipiell werden in der Komplexitätstheorie die gleichen Reduktionen wie in der Berechenbarkeitstheorie betrachtet, allerdings darf deren Berechnung nun nur eine (in der Größe der Eingabe) beschränkte Menge Speicher oder Rechenzeit benötigten.

Besonders häufig werden dabei die folgenden Typen betrachtet:

Sei [math]\preceq[/math] eine der obigen Reduktionen, für eine natürliche Zahl [math]n \in \N[/math] sei außerdem [math]l(n) = \lfloor \log_2 n \rfloor + 1[/math] die Länge der Eingabe [math]n[/math] in Bits.

  • Die Reduktion heiße polynomiell zeitbeschränkt oder Polynomialzeitreduktion – Schreibweise [math]\preceq^p[/math] – falls es eine Konstante [math]c \in \N[/math] und eine (Orakel-)Turing-Maschine gibt, die [math]\preceq[/math] berechnet und dabei für jede Eingabe [math]n[/math] nur höchstens [math]\mathcal{O}(l^c (n))[/math] viele Bit-Operationen durchführt.
  • Die Reduktion heiße logarithmisch platzbeschränkt – Schreibweise [math]\preceq^{log}[/math] – falls eine entsprechende Turingmaschine nur höchstens [math]\mathcal{O}(\log l(n))[/math] Speicherzellen beschreibt. Diejenigen Zellen, in denen die ursprüngliche Eingabe steht, werden dabei nicht berücksichtigt, dürfen aber dann auch nicht beschrieben, sondern nur gelesen werden.

Es ist zu beachten, dass eventuelle Orakel-Anfragen nur einen einzelnen Rechenschritt benötigen bzw. die erhaltenen Antworten nur jeweils eine einzige Speicherzelle belegen. Für die verwendete O-Notation siehe auch: Landau-Symbole

Die polynomiell zeitbeschränkten Many-one-Reduktionen ([math]\preceq_m^p[/math]) werden auch Karp-Reduktionen genannt und die polynomiell zeitbeschränkten Turing-Reduktionen ([math]\preceq_T^p[/math]) heißen Cook-Reduktionen.

Beziehungen der verschiedenen Reduktionen

Für Mengen [math]A;B \subseteq \N[/math] natürlicher Zahlen gilt:

[math]A \preceq_1 B \Rightarrow A \preceq_m B \Rightarrow A \preceq_{tt} B \Rightarrow A \preceq_T B[/math] sowie [math]A \preceq_{tt} B \Rightarrow A \preceq_e B[/math]

Jede dieser Implikationen ist strikt. Im Allgemeinen sind die aufzählbare Reduktion [math]\preceq_e[/math] und die Turing-Reduktion [math]\preceq_T[/math] unvergleichbar.

Die einzelnen Reduktionen unterscheiden sich im Wesentlichen darin, wie oft ein (hypothetischer) Algorithmus für [math]B[/math] benutzt werden darf, um [math]A[/math] zu entscheiden. Bei der Many-one-Reduktion wird nur für eine einzige Zahl – nämlich gerade [math]f(n)[/math] – die Zugehörigkeit zu [math]B[/math] geprüft, das Ergebnis muss anschließend ohne weitere Bearbeitung ausgegeben werden. Truth-table-Reduktionen erlauben endlich viele Anfragen der [math]b_i[/math] und die anschließende Weiterverarbeitung der gewonnenen Informationen durch [math]\varphi[/math]. Die Formel [math]\varphi[/math] ist dabei in der Regel als Wahrheitswerttabelle gegeben, woher auch der Name der Reduktion stammt. Allerdings müssen alle Anfragen [math]\chi_B(b_i)[/math] parallel zu einem einzigen Zeitpunkt während der Berechnung erfolgen. Bei der Turing-Reduktion schließlich dürfen beliebig viele Anfragen zu jedem Zeitpunkt der Berechnung gestellt werden, außerdem ist es möglich das weitere Vorgehen in Abhängigkeit von den erhaltenen Antworten zu verzweigen. Bei der aufzählbaren Reduktion dagegen wird überhaupt kein Algorithmus zur Entscheidung von [math]B[/math] mehr vorausgesetzt, sondern lediglich eine (nicht notwendig berechenbare) Aufzählung der Menge.

Mit zunehmender Allgemeinheit nimmt jedoch die Trennschärfe der Reduktion ab, so kann zum Beispiel unter Turing-Reduktion nicht mehr zwischen einer Menge und ihrem Komplement unterschieden werden. Aus diesem Grund ist zum Beispiel nicht bekannt, ob die Komplexitätsklasse NP bezüglich Cook-Reduktion abgeschlossen ist.

Eigenschaften und Beispiele

  • Besteht zwischen zwei Mengen eine der obigen Reduktionen, die echt schwächer als die Turing-Reduktion ist, und ist die zweite Menge entscheidbar oder rekursiv aufzählbar, so kommt diese Eigenschaft auch automatisch der ersten Menge zu.
[math]\{2n\ |\ n \in \N \} \equiv_1 \{ 2n+1\ |\ n \in \N \}[/math]
Beide Reduktionen werden durch die Abbildung [math]m \mapsto m+1[/math] vermittelt.
  • Eine Menge ist genau dann rekursiv aufzählbar, wenn sie sich many-one auf das Halteproblem [math]H[/math] reduzieren lässt.
  • Das spezielle Halteproblem [math]K[/math], das [math]\varepsilon[/math]-Halteproblem [math]H_0[/math] und das allgemeine Halteproblem [math]H[/math] wiederum sind untereinander one-one-äquivalent.
  • Das Komplement des speziellen Halteproblem lässt sich auf dieses Turing-reduzieren [math]\overline{K} \preceq_T K[/math]. Aber offenbar gibt es keine Many-one-Reduktion [math]\overline{K} \npreceq_m K[/math], denn das Komplement ist nicht aufzählbar.
  • Bezeiche [math](V,E)[/math] einen einfachen Graphen (seine Gödelnummer), [math](V,\overline E)[/math] sein Komplement und [math]k[/math] eine natürliche Zahl, dann ist durch [math]((V,E),\ k) \mapsto ((V,\overline E),\ |V|-k )[/math] eine polynomiell zeitbeschränkte One-one-Reduktion vom Knotenüberdeckungsproblem auf das Cliquenproblem erklärt.

Grade

Es sei [math]\preceq[/math] eine der obigen Reduktionen, wie für alle Präordnungen ist durch

[math]A \equiv B \Leftrightarrow A \preceq B \and A \succeq B[/math]

eine Äquivalenzrelation erklärt. Die Äquivalenzklassen werden dabei Grade genannt. Auf Grund der fehlenden Antisymmetrie enthalten sie meist mehr als eine Menge, üblicherweise abzählbar unendlich viele. Die Grade partitionieren [math]\mathcal{P}(\N)[/math] und sind durch [math]\preceq[/math] partiell geordnet. Am besten bekannt ist dabei die Struktur der Turinggrade, auch einfach [math]T[/math]-Grade genannt, also die Grade bezüglich der Turing-Reduktion.

Literatur

  • Katrin Erk, Lutz Priese: Theoretische Informatik. Eine umfassende Einführung; 2. erweiterte Auflage; Springer-Verlag, Berlin u. a. 2002, ISBN 3-540-42624-8 (Springer-Lehrbuch)
  • John E. Hopcroft, Rajeev Motwani, Jeffrey Ullman: Einführung in die Automatentheorie, formale Sprachen und Komplexitätstheorie. 2., überarb. Auflage. Pearson Studium, München 2002, ISBN 3-8273-7020-5 (Originaltitel: Introduction to automata theory, languages, and computation. Übersetzt von Sigrid Richter, Ingrid Tokar).
  • Hartley Rogers, Jr.: Theory of Recursive Functions and Effective Computability; McGraw-Hill, New York NY u. a. 1967 (McGraw-Hill Series in Higher Mathematics), (Nachdruck: MIT Press, Cambridge MA u. a. 1987, ISBN 0-262-68052-1)
  • Ingo Wegener: Theoretische Informatik: Eine algorithmische Einführung; 3. überarbeitete Auflage; Teubner-Verlag, Wiesbaden 2005, ISBN 3-8351-0033-5 (Leitfäden der Informatik)

Einzelnachweise

  1. E. Post: Recursively enumerable sets of positive integers and their decision problems. Bulletin of the American Mathematical Society, Band 50 (1944), Nr. 5, S. 284–316 (online, PDF-Datei; 4,0 MB) .

Kategorien: Berechenbarkeitstheorie | Komplexitätstheorie

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Reduktion (Theoretische Informatik) (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.