RP (Komplexitätsklasse)
RP ({{Modul:Vorlage:lang}} Modul:Vorlage:lang:103: attempt to index field 'wikibase' (a nil value), manchmal auch nur mit R bezeichnet) bezeichnet die Klasse der Entscheidungsprobleme, für die es einen randomisierten Algorithmus mit polynomieller Laufzeit gibt, der jede nicht zu akzeptierende Eingabe mit Wahrscheinlichkeit 1 ablehnt und für jede zu akzeptierende Eingabe eine Fehlerwahrscheinlichkeit von höchstens 1/2 hat. Die Verwendung einer beliebigen anderen konstanten Fehlerschranke kleiner als 1 ändert nichts an der Definition der Klasse RP, durch mehrmalige Anwendung eines gegebenen RP-Algorithmus lässt sich jede beliebige Fehlerschranke erreichen.
Dieser Fehlertyp wird als einseitiger Fehler (one-sided error) bezeichnet, im Gegensatz zu dem zweiseitigen Fehler (two-sided error) bei der Komplexitätsklasse BPP.
Sie wurde 1977 mit anderen probabilistischen Komplexitätsklassen von John T. Gill eingeführt.
Definition
Eine Sprache <math>{\mathcal L}</math> liegt genau dann in der Komplexitätsklasse <math>\mathcal{RP}</math>, wenn eine probabilistische Turingmaschine <math>M</math> existiert, für die gilt:
- <math>M</math> läuft für alle Eingaben in polynomieller Zeit
- <math>x \in {\mathcal L} \Rightarrow Pr[M(x) = 1] \geq \frac{1}{2}</math>
- <math>x \notin {\mathcal L} \Rightarrow Pr[M(x) = 0] = 1</math>
Die Konstante 1/2 ist willkürlich gewählt. Jede beliebige Konstante echt größer als 0 und weniger als 1 führt zu einer äquivalenten Definition.<ref name="AB133" />
Im Gegensatz zur Komplexitätsklasse ZPP wird hier gefordert, dass die Laufzeit der Turingmaschine <math>M</math> für alle Eingaben polynomiell ist. Diese Forderung kann abgeschwächt werden, so dass wie bei ZPP nur noch gefordert wird, dass der Erwartungswert der Laufzeit durch ein Polynom beschränkt ist; die beiden Definitionen sind äquivalent.<ref name="AB133" />
Eigenschaften
RP ist abgeschlossen unter Vereinigung und Schnitt.<ref name="BoCr195" /> Das bedeutet, dass für zwei Sprachen <math>L_1, L_2 \in \mathcal{RP}</math> auch <math>L_1 \cup L_2, L_1 \cap L_2 \in \mathcal{RP}</math>. Es ist unbekannt, ob RP unter Komplementbildung abgeschlossen ist, die Komplementklasse von RP ist die Komplexitätsklasse co-RP.
Es ist kein RP-vollständiges Problem bekannt und es gibt Hinweise darauf, dass es keine RP-vollständigen Probleme gibt.<ref name="BoCr198" />
Beziehung zu anderen Komplexitätsklassen
Sowohl RP als auch co-RP liegen zwischen den Klassen ZPP (= RP <math>\cap</math> co-RP) und BPP, es gilt also ZPP ⊆ RP ⊆ BPP und ZPP ⊆ co-RP ⊆ BPP.<ref name="BoCr195" />
Außerdem gilt RP ⊆ NP und co-RP ⊆ co-NP.<ref name="BoCr195" />
Wenn NP ⊆ BPP, dann gilt sogar NP = RP.<ref name="KST73" />
Einzelnachweise
<references> <ref name=AB133>Sanjeev Arora und Boaz Barak: Computational Complexity: A Modern Approach. Cambridge University Press, 2009, ISBN 978-0-521-42426-4, S. 133.</ref> <ref name="BoCr195">Daniel Pierre Bovet und Pierluigi Crescenzi: Introduction to the Theory of Complexity. Prentice Hall, 1994, ISBN 0-13-915380-2, S. 195.</ref> <ref name="BoCr198">Daniel Pierre Bovet und Pierluigi Crescenzi: Introduction to the Theory of Complexity. Prentice Hall, 1994, ISBN 0-13-915380-2, S. 198,202.</ref> <ref name="KST73">Johannes Köbler, Uwe Schöning, Jacobo Torán: The Graph Isomorphism Problem - It's Structural Complexity. Birkhäuser, 1993, ISBN 3-7643-3680-3, S. 73.</ref> </references>
Literatur
- Ingo Wegener: Komplexitätstheorie (S. 31–34) ISBN 3-540-00161-1
- Köbler, Schöning, Toran: The Graph Isomorphism Problem - It's Structural Complexity (S. 68 ff.) - ISBN 3-7643-3680-3
Weblinks
- RP. In: Complexity Zoo. (englisch)