Angenommen, ein randomisierter Algorithmus verwendet Zufallsbits. Die niedrigste zu erwartende Fehlerwahrscheinlichkeit (die einem deterministischen Algorithmus mit Fehler 0 nicht entspricht) beträgt 2 - Ω ( r ) . Welche randomisierten Algorithmen erreichen eine so geringe Fehlerwahrscheinlichkeit?
Ein paar Beispiele, die mir einfallen, sind:
- Abtastalgorithmen, z. B., bei denen die Größe eines Satzes geschätzt werden soll, für den die Zugehörigkeit überprüft werden kann. Wenn man die zu prüfenden Elemente gleichmäßig zufällig abtastet, garantiert die Chernoff-Grenze eine exponentiell kleine Fehlerwahrscheinlichkeit.
- Der Karger-Klein-Tarjan-Algorithmus zur Berechnung des Minimum Spanning Tree. Der Algorithmus wählt jede Kante mit der Wahrscheinlichkeit 1/2 aus und findet rekursiv die MST im Sample. Man kann mit Chernoff argumentieren, dass es exponentiell unwahrscheinlich ist, dass es 2n + 0,1 m Kanten gibt, die besser sind als der Baum (dh man würde es vorziehen, sie über eine der Baumkanten zu ziehen).
Können Sie sich andere Beispiele vorstellen?
Die Antwort von Andras lautet wie folgt: In der Tat kann jeder Polynomzeitalgorithmus in einen langsameren Polynomzeitalgorithmus mit einer exponentiell kleinen Fehlerwahrscheinlichkeit umgewandelt werden. Mein Fokus liegt auf möglichst effizienten Algorithmen. Insbesondere für die zwei Beispiele, die ich gegeben habe, gibt es deterministische Polynomzeitalgorithmen, die die Probleme lösen. Das Interesse an den randomisierten Algorithmen beruht auf ihrer Effizienz.
quelle
Antworten:
Impagliazzo und Zuckerman haben bewiesen (FOCS'89, siehe hier ), dass, wenn ein BPP-Algorithmus Zufallsbits verwendet, um eine Korrektheitswahrscheinlichkeit von mindestens 2/3 zu erreichen, dies durch Anwenden von Zufallsläufen auf Expandergraphen auf eine Korrektheitswahrscheinlichkeit verbessert werden kann von 1 - 2 - kr 1−2−k unter Verwendung von Zufallsbits. ( Hinweis: Während die Autoren die spezifische Konstante 2/3 in der Zusammenfassung verwenden, kann sie durch jede andere Konstante ersetzt werden, die größer als 1/2 ist.)O(r+k)
Wenn wir , bedeutet dies , dass jeder BPP - Algorithmus, der eine konstante Fehlerwahrscheinlichkeit erreicht < 1 / 2 , wobei r Zufallsbits können (nicht-trivialer) werden verbesserte Fehlerwahrscheinlichkeit haben 2 - Ω ( r ) . Also, (es sei denn, ich habe etwas falsch verstanden), die Fehlerwahrscheinlichkeit von ≤ 2 - Ωk=r <1/2 r 2−Ω(r) fürjedesBPP-Problemerreichbar.≤2−Ω(r)
quelle
Ich bin mir nicht sicher, ob Sie das suchen, aber es hängt damit zusammen:
Angenommen, ich möchte eine zufällige Bit-Primzahl finden. Der übliche Algorithmus besteht darin, eine zufällige (ungerade) k- Bit-Ganzzahl auszuwählen und den Miller-Rabin-Primalitätstest für t Runden darauf auszuführen und zu wiederholen, bis eine wahrscheinliche Primzahl gefunden wird. Wie groß ist die Wahrscheinlichkeit, dass diese Prozedur eine zusammengesetzte Zahl zurückgibt? Nenne diese Wahrscheinlichkeit p k , t .k k t pk,t
Die Standardanalyse des Miller-Rabin-Primalitätstests zeigt, dass Runden eine Ausfallwahrscheinlichkeit von höchstens 4 - t ergeben . Dies impliziert zusammen mit dem Primzahlensatz p k , t ≤ O ( k ⋅ 4 -t 4−t
Siehe Erdös und Pomerance (1986) , Kim und Pomerance (1989) und Dåmgard, Landrock und Pomerance (1993) für weitere Einzelheiten.
quelle