Aus Wikipedia über randomisierte Algorithmen
Man muss unterscheiden zwischen Algorithmen , die die Zufallseingabe verwenden, um die erwartete Laufzeit oder den Speicherbedarf zu verringern, aber immer mit einem korrekten Ergebnis in einem begrenzten Zeitraum enden, und probabilistischen Algorithmen , die abhängig von der Zufallseingabe eine Chance haben ein falsches Ergebnis zu erzeugen (Monte-Carlo-Algorithmen) oder ein Ergebnis nicht zu erzeugen (Las Vegas-Algorithmen), entweder durch Signalisieren eines Fehlers oder durch Nichtbeenden.
- Ich habe mich gefragt, wie die erste Art von Algorithmen die zufällige Eingabe verwendet, um die erwartete Laufzeit oder den Speicherbedarf zu verringern, aber immer mit einem korrekten Ergebnis in einer begrenzten Zeitspanne zu enden.
- Welche Unterschiede gibt es zu Las Vegas-Algorithmen, bei denen möglicherweise kein Ergebnis erzielt wird?
- Wenn ich das richtig verstehe, sind probabilistische Algorithmen und randomisierte Algorithmen nicht dasselbe Konzept. Probabilistische Algorithmen sind nur eine Art randomisierter Algorithmen, und die andere Art besteht darin, die Zufallseingabe zu verwenden, um die erwartete Laufzeit oder den erwarteten Speicherverbrauch zu verringern, aber immer mit einem korrekten Ergebnis in einem begrenzten Zeitraum zu enden.
quelle
Die beiden Begriffe randomisierte Algorithmen und probabilistische Algorithmen werden in zwei verschiedenen Kontexten verwendet. Randomisierte Algorithmen sind Algorithmen, die Zufälligkeit verwenden, im Gegensatz zu deterministischen Algorithmen , die dies nicht tun. Probabilistische Algorithmen , zum Beispiel probabilistische Algorithmen für Primärtests, sind Algorithmen, die Zufälligkeit verwenden und mit einer (hoffentlich) geringen Wahrscheinlichkeit einen Fehler machen können.
Es muss ein wichtiger Unterschied zwischen Monte-Carlo-Algorithmen und Las-Vegas-Algorithmen gemacht werden . Las Vegas-Algorithmen sind zufällige Algorithmen, die immer die richtige Antwort zurückgeben, deren Laufzeit jedoch von den Münzwürfen abhängt. Ein Beispiel sind ganzzahlige Faktorisierungsalgorithmen - sie geben immer die richtigen Faktoren zurück, aber ihre Laufzeit hängt von der Zufälligkeit ab. Bei der Angabe der Laufzeit eines Las Vegas-Algorithmus (beispielsweise eines Factoring-Algorithmus) geben wir die erwartete Laufzeit an. Wenn wir Pech haben, könnte der Algorithmus länger laufen.
Monte-Carlo-Algorithmen hingegen sind randomisierte Algorithmen, deren Laufzeit vorab festgelegt wird. Solche Algorithmen können einen Fehler machen, aber normalerweise ist die Fehlerwahrscheinlichkeit sehr gering. Ein gutes Beispiel ist die probabilistische Prüfung der Primalität. Diese Algorithmen sind sehr schnell, können jedoch Fehler verursachen. Die Fehlerwahrscheinlichkeit ist jedoch langsam gering, so dass sie in der Praxis niemals einen Fehler machen.
Jeder Las Vegas-Algorithmus kann in einen Monte-Carlo-Algorithmus umgewandelt werden, indem die Ausführung nach einer ausreichend langen Zeit unterbrochen wird. Daher sind Las Vegas-Algorithmen in gewissem Sinne "besser" als Monte-Carlo-Algorithmen.
quelle