Randomisierte Algorithmen
Randomisierte Algorithmen treffen während der Ausführung zufällige Entscheidungen, um Effizienz, Einfachheit oder Robustheit zu erzielen, wobei Leistung und Korrektheit als probabilistische Garantien und nicht als Worst-Case-Sicherheiten ausgedrückt werden.
Definition
Ein randomisierter Algorithmus ist ein Algorithmus, der eine Quelle zufälliger Bits verwendet, um einige seiner Entscheidungen zu treffen, sodass seine Laufzeit, Ausgabe oder beides Zufallsvariablen sind, die durch ihren Erwartungswert oder ihre Wahrscheinlichkeitsverteilung analysiert werden.
Scope
Dieses Thema behandelt Algorithmen, die Zufälligkeit als Rechenressource nutzen: das Las-Vegas-Modell (immer korrekt, randomisierte Laufzeit) und das Monte-Carlo-Modell (feste Laufzeit, begrenzte Fehlerwahrscheinlichkeit), kanonische Beispiele wie randomisiertes Quicksort, randomisierte Selektion, Primzahltests und randomisierte Datenstrukturen wie Skip-Listen sowie die probabilistischen Analysewerkzeuge (Erwartungswert, Varianz, Tail- und Konzentrationsungleichungen), die zu ihrer Untersuchung verwendet werden.
Core questions
- Wie kann die Einführung von Zufälligkeit einen Algorithmus schneller oder einfacher machen als jeder bekannte deterministische Algorithmus?
- Worin besteht der Unterschied zwischen Las-Vegas- und Monte-Carlo-Algorithmen?
- Wie wird die erwartete Laufzeit oder Fehlerwahrscheinlichkeit analysiert?
- Wie begrenzen Konzentrationsungleichungen die Wahrscheinlichkeit schlechter Ergebnisse?
- Wie kann der Fehler eines Monte-Carlo-Algorithmus durch Wiederholung reduziert werden?
Key concepts
- Zufallsbits als Ressource
- Las-Vegas-Algorithmus
- Monte-Carlo-Algorithmus
- erwartete Laufzeit
- Fehlerwahrscheinlichkeit und -verstärkung
- Konzentrationsungleichungen
- randomisiertes Quicksort
- Skip-Listen
Key theories
- Las Vegas versus Monte Carlo
- Las-Vegas-Algorithmen liefern immer ein korrektes Ergebnis, haben aber eine randomisierte (im Erwartungswert analysierte) Laufzeit, während Monte-Carlo-Algorithmen innerhalb einer festen Zeit laufen, aber mit begrenzter Wahrscheinlichkeit ein falsches Ergebnis liefern können, die durch Wiederholung verringert werden kann.
- Probabilistischer Primzahltest
- Randomisierte Tests wie Miller-Rabin bescheinigen die Primzahleigenschaft mit hoher Sicherheit in Polynomialzeit, indem sie zufällige Zeugen überprüfen; eine zusammengesetzte Zahl wird von den meisten Zeugen entlarvt, sodass wiederholte Versuche die Fehlerwahrscheinlichkeit vernachlässigbar machen.
Clinical relevance
Randomisierte Algorithmen sind weit verbreitet: Der Miller-Rabin-Primzahltest untermauert die Public-Key-Kryptographie, randomisiertes Hashing und Lastverteilung halten verteilte Systeme effizient, randomisiertes Quicksort und Quickselect bieten eine robuste erwartete Leistung, und randomisiertes Sampling und Skizzieren ermöglichen die Verarbeitung massiver Datenströme.
History
Probabilistische Algorithmen gewannen in den 1970er Jahren mit den Primzahltests von Solovay-Strassen und Miller-Rabin an Bedeutung, die Zufälligkeit zu einem respektablen Rechenwerkzeug machten. In den 1980er und 1990er Jahren entstanden randomisierte Datenstrukturen (Skip-Listen, Treaps), randomisierte Graphen- und geometrische Algorithmen sowie die systematische Theorie, die 1995 in Motwani und Raghavans Lehrbuch kodifiziert wurde.
Key figures
- Michael Rabin
- Robert Solovay
- Volker Strassen
- Rajeev Motwani
- Prabhakar Raghavan
Related topics
Seminal works
- motwani1995
- rabin1980
- cormen2009
Frequently asked questions
- Wie kann einem Monte-Carlo-Algorithmus vertraut werden, wenn er falsch sein kann?
- Seine Fehlerwahrscheinlichkeit ist begrenzt und bekannt, und bei einseitig fehlerbehafteten Algorithmen kann sie durch mehrmaliges Ausführen des Algorithmus mit unabhängiger Zufälligkeit beliebig klein gemacht werden. Nach genügend Wiederholungen ist die Wahrscheinlichkeit einer falschen Antwort weitaus geringer als die Wahrscheinlichkeit eines Hardwarefehlers.
- Warum wird randomisiertes Quicksort gegenüber deterministischem Quicksort bevorzugt?
- Deterministisches Quicksort kann bei adversarischen oder bereits sortierten Eingaben aufgrund schlechter Pivot-Auswahl seinen O(n Quadrat)-Worst-Case erreichen. Die zufällige Auswahl von Pivots macht diesen Worst-Case unabhängig von der Eingabe extrem unwahrscheinlich und führt zu einer erwarteten O(n log n)-Leistung bei jeder Eingabe.