Wann beschleunigt die Randomisierung Algorithmen und wann sollte sie nicht?


39

Adleman Beweis , daß in enthalten ist , P / p o l y zeigt , dass wenn es ein randomisierten Algorithmus für ein Problem , das ausgeführt wird in der Zeit t ( n ) an den Eingängen der Größe n , dann gibt es auch einen deterministischen Algorithmus für das Problem ist , das läuft in der Zeit Θ ( t ( n ) n ) auf Eingaben der Größe n [der Algorithmus läuft den randomisierten Algorithmus auf Θ ( n )BPPP/polyt(n)nΘ(t(n)n)nΘ(n)unabhängige Zufallsketten. Es muss eine Zufälligkeit für den wiederholten Algorithmus geben, die für alle möglichen Eingaben gilt. Der deterministische Algorithmus ist nicht einheitlich - er kann sich für verschiedene Eingabegrößen unterschiedlich verhalten. So zeigt Adlemans Argument, dass - wenn man sich nicht um Homogenität kümmert - die Randomisierung Algorithmen nur um einen Faktor beschleunigen kann, der in der Eingabegröße linear ist.2n

Was sind einige konkrete Beispiele, bei denen die Randomisierung die Berechnung beschleunigt (nach unserem besten Wissen)?

Ein Beispiel ist das Testen der Identität von Polynomen. Hier ist die Eingabe eine arithmetische Schaltung der Größe n, die ein m-variables Polynom über ein Feld berechnet, und die Aufgabe besteht darin, herauszufinden, ob das Polynom identisch Null ist. Ein randomisierter Algorithmus kann das Polynom an einem zufälligen Punkt auswerten, während der beste deterministische Algorithmus, den wir kennen (und möglicherweise der beste, der existiert), das Polynom an vielen Punkten auswertet.

Ein weiteres Beispiel ist der Minimum Spanning Tree, bei dem der beste randomisierte Algorithmus von Karger-Klein-Tarjan die lineare Zeit ist (und die Fehlerwahrscheinlichkeit exponentiell klein ist!), Während der beste deterministische Algorithmus von Chazelle in der Zeit abläuft ) ) ( α ist die inverse Ackermann-Funktion, daher ist die Zufallsbeschleunigung sehr gering). Interessanterweise wurde von Pettie und Ramachandran bewiesen, dass es auch einen einheitlichen deterministischen linearen Zeitalgorithmus gibt, wenn es einen nicht einheitlichen deterministischen linearen Zeitalgorithmus für den minimalen Spannbaum gibt.O(mα(m,n))α

Was sind einige andere Beispiele? Welche Beispiele kennen Sie, wenn die Randomisierungsgeschwindigkeit hoch ist, aber möglicherweise nur, weil wir noch keine ausreichend effizienten deterministischen Algorithmen gefunden haben?



Sie können jeden randomisierten Algorithmus jederzeit in einen deterministischen Algorithmus umwandeln, indem Sie den Zufallsgenerator durch einen Pseudozufallsgenerator mit kryptografischer Qualität ersetzen. Unter plausiblen kryptographischen Annahmen, die nach unserem Kenntnisstand gültig sind, funktioniert dies einwandfrei. Daher würde ich antworten: "Nach unserem besten Wissen lautet die Antwort: Es gibt keine derartigen Probleme in der realen Welt." (Mit anderen Worten, nach unserem besten Wissen spiegelt die Laufzeitlücke unsere Unfähigkeit wider, enge Laufzeitgrenzen zu beweisen, anstatt einen wirklichen zugrunde liegenden Unterschied.)
DW

1
Unter vernünftigen Härteannahmen können Sie die Algorithmus-Zufälligkeit von einem Pseudozufallsgenerator speisen. Um jedoch tatsächlich einen deterministischen Algorithmus zu erhalten, müssen Sie den Algorithmus für alle möglichen Seeds ausführen. Dies erhöht die Laufzeit!
Dana Moshkovitz

cc2O(c)

O(1)

Antworten:


28

O~(n2)O~(n4)O~(n6)


NlogNloglogNO~(n3)

Ein ähnliches Problem ist das Testen der Polynom-Irreduzibilität über endliche Felder, wobei bekannte deterministische Algorithmen schlechtere Grenzen haben als randomisierte Algorithmen, aber ich erinnere mich nicht an die Details.
Emil Jeřábek unterstützt Monica am

19

1+ϵ

Das erste Beispiel für eine solche randomisierte Strategie war von Dyer, Frieze und Kannan, und das Härteergebnis für deterministische Algorithmen stammt von Bárány und Füredi. Alistair Sinclair hat dazu nette Vorlesungsunterlagen .

Ich bin mir nicht sicher, ob ich den Teil der Frage "und es sollte nicht" vollständig verstehe, daher bin ich mir nicht sicher, ob dies der Rechnung entspricht.


1
[n/logn]n

9

Ich weiß nicht, ob dies Ihre Frage beantwortet (oder zumindest einen Teil davon). Beispiele aus der Praxis, bei denen die Randomisierung zu einer Beschleunigung führen kann, sind Optimierungsprobleme und die Beziehung zum No-Free-Lunch- Theorem ( NFL ) .

Es gibt eine Arbeit "Vielleicht kein kostenloses Mittagessen, aber zumindest eine kostenlose Vorspeise", in der gezeigt wird, dass die Verwendung von Zufalls- (Optimierungs-) Algorithmen eine bessere Leistung erzielen kann.

Abstrakt:

f:XYXYsind endliche Mengen. Dieses Ergebnis heißt [the] No Free Lunch Theorem. Hier werden verschiedene Optimierungsszenarien vorgestellt. Es wird argumentiert, warum das Szenario, auf dem das No-Free-Lunch-Theorem basiert, keine Optimierung des realen Lebens modelliert. Für realistischere Szenarien wird argumentiert, warum sich Optimierungstechniken in ihrer Effizienz unterscheiden. An einem kleinen Beispiel wird diese Behauptung bewiesen.

Verweise:

  1. No Free Lunch Theorems for Optimization (ursprünglicher NFL- Satz zur Optimierung)
  2. Vielleicht kein kostenloses Mittagessen, aber wenigstens eine kostenlose Vorspeise
  3. FF
  4. Für Funktionsklassen, für die No Free Lunch-Ergebnisse gelten (Es ist bewiesen, dass der Anteil der Teilmengen, die cup sind, vernachlässigbar klein ist)
  5. Zwei umfassende Funktionsklassen, für die kein Ergebnis für ein freies Mittagessen gilt (zeigt, dass ein NFL- Ergebnis nicht für eine Reihe von Funktionen gilt, wenn die Beschreibungslänge der Funktionen ausreichend begrenzt ist)
  6. Kontinuierliches Mittagessen ist kostenlos und es werden optimale Optimierungsalgorithmen entworfen (dies zeigt, dass für kontinuierliche Domänen die NFL nicht gilt. Dieses Theorem für kostenloses Mittagessen basiert auf der Formalisierung des Konzepts der zufälligen Fitnessfunktionen mithilfe zufälliger Felder )
  7. Jenseits von No Free Lunch: Realistische Algorithmen für beliebige Problemklassen (zeigt, dass "alle Verstöße gegen die Theoreme von No Free Lunch als nicht blockeinheitliche Verteilungen über Problemuntermengen ausgedrückt werden können, die cup sind ")
  8. Schwarmbasierte metaheuristische Algorithmen und No-Free-Lunch-Theoreme ("[..t]): Ergebnisse für zeitlich geordnete Iterationen, die nicht wiederholt werden, gelten möglicherweise nicht für Fälle, in denen wiederholt wird, da die wiederholten Iterationen eine wichtige Annahme von brechen Pokal zum Nachweis der NFL-Theoreme erforderlich (Marshall und Hinton, 2010) ")
  9. Kein kostenloses Mittagessen und algorithmische Zufälligkeit
  10. No Free Lunch und Benchmarks (eine mengentheoretische Ansatz es Kriterien verallgemeinert nicht spezifisch Tasse , aber immer noch fest , dass (nicht-triviale) Algorithmen randomisierten können deterministische Algorithmen im Durchschnitt übertreffen, „[..] Es wurde gezeigt, dass Wahrscheinlichkeit ist unzureichend, um nicht eingeschränkte NFL- Ergebnisse im allgemeinen Fall zu bestätigen. [..] In diesem Artikel wird die Wahrscheinlichkeit aufgegeben, und es wird ein satztheoretischer Rahmen bevorzugt, der die messungstheoretischen Einschränkungen umgeht, indem auf die Wahrscheinlichkeit insgesamt verzichtet wird. ")

Zusammenfassung zu No-Free-Lunches (und Free-Lunches) von David H. Wolpert, Was kostet das Abendessen? ( Beachten Sie, dass NFL- Sätze aufgrund ihrer Beweisart niemals einen tatsächlichen " Preis " angeben. )

Spezifisch für die verallgemeinerte Optimierung (GO):

  1. XZXZ

  2. f:XZ

  3. mf

    dm={dm(1),dm(2),...,dm(m)}
    t
    dm(t)={dmX(t),dmZ(t)}
    dmZ(t)f[dmX(t)]
  4. a={dtdmX(t):t=0..m}

  5. C(f,dm)

  6. C(.,.)

CfCfC(f,dm)f=f

Schließlich eine einfache (und eine nicht so einfache) Bemerkung, warum Randomisierung (in der einen oder anderen Form) gegenüber streng deterministischen Algorithmen eine überlegene Leistung liefern kann.

  1. Im Rahmen der Optimierung (wenn auch nicht darauf beschränkt) kann ein randomisiertes Suchverfahren im Durchschnitt lokalen Extrema besser entkommen als einer deterministischen Suche und globale Extrema erreichen.
  2. 2AAAAA

1

Das beste Beispiel ist der Bereich, der derzeit als die besten Kandidaten für OWFs betrachtet wird, in dem es den Anschein hat, dass jeder beliebte OWF, der überraschenderweise zubereitet wird, einen randomisierten subexponentiellen Algorithmus hat, während es keinen deterministischen subexponentiellen Algorithmus gibt (zum Beispiel Ganzzahlfaktorisierung). In der Tat gibt es in vielen Fällen wahrscheinlich einen effizienten Algorithmus, dem einige Ratschläge gegeben wurden (Kryptoanalyse).


-5

Wenn Sie einen Algorithmus mit Randomisierung haben, können Sie ihn jederzeit durch einen deterministischen Algorithmus mit Pseudozufallszahlen ersetzen: Nehmen Sie die Beschreibung des Problems, berechnen Sie einen Hash-Code und verwenden Sie diesen Hash-Code als Ausgangswert für einen guten Pseudozufallszahlengenerator . In der Praxis ist dies wahrscheinlich, wenn jemand einen Algorithmus mithilfe der Randomisierung implementiert.

Wenn wir den Hash-Code weglassen, besteht der Unterschied zwischen diesem Algorithmus und einem Algorithmus mit echter Randomisierung darin, dass ich die Folge der generierten Zufallszahlen vorhersagen kann und ein Problem erzeugen kann, bei dem die auf mein Problem angewendete vorhergesagte Zufallszahl immer auftritt die schlimmste Entscheidung treffen. Zum Beispiel könnte ich für Quicksort mit einem Pseudozufalls-Pivot ein Eingabearray erstellen, in dem der Pseudozufalls-Pivot immer den größtmöglichen Wert im Array findet. Mit wahrer Zufälligkeit ist das nicht möglich.

Mit dem Hash-Code wäre es für mich sehr schwierig , ein Problem zu konstruieren, bei dem die Pseudozufallszahlen die schlechtesten Ergebnisse liefern. Ich kann die Zufallszahlen immer noch vorhersagen, aber wenn ich das Problem ändere, ändert sich die Reihenfolge der Pseudozufallszahlen vollständig. Dennoch wäre es für Sie nahezu unmöglich zu beweisen, dass ich ein solches Problem nicht konstruieren kann.


Ich bin neu in cstheory.SE. Also, Downvoter - was stimmt mit dieser Antwort nicht?
Galdre

3
Zwei Dinge stimmen nicht: (1) Wir wissen nicht, wie man Pseudozufallszahlen im Allgemeinen konstruiert. (2) Selbst wenn wir wissen, wie man sie konstruiert, sind sie rechenintensiv. In der Praxis verwendete Pseudozufallszahlen funktionieren garantiert nicht in der Theorie. wir wissen nur, dass sie empirisch zu funktionieren scheinen. (Tatsächlich können die meisten PRNGs, die tatsächlich verwendet werden, beschädigt werden, sodass sie im Allgemeinen nicht sicher sind, nur wenn Sie nicht speziell versuchen, sie zu
beschädigen

2
Bei cstheory.se geht es um theoretische Informatik *, nicht um die Praxis des Programmierens. Ob es Ihnen gefällt oder nicht, die beiden Bereiche sind recht unterschiedlich.
Yuval Filmus

2
@YuvalFilmus: Der Alternating Step Generator, den C. Gunther 1987 erfunden hat, ist noch nicht kaputt gegangen (noch keine öffentliche Pause, und ich bezweifle, dass die NSA es auch kaputt gemacht hat). Achtundzwanzig Jahre sind eine lange Zeit, um ungebrochen zu bleiben. Ich bin erstaunt, dass ein so einfacher Generator (drei LFSRs und ein XOR-Gatter, wie einfach ist das?) Noch nicht kaputt gegangen ist und nicht öfter verwendet wird.
William Hird

2
@WilliamHird: Abhängig von einer Definition von "defekt" scheint es tatsächlich defekt gewesen zu sein (mehr oder weniger in ähnlichem Ausmaß wie die verwandte, effizientere und am weitesten verbreitete A5 / x-Familie). Siehe crypto.stackexchange.com/a/342 .
Emil Jeřábek unterstützt Monica am
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.