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.