Ich höre oft, dass wir für viele Probleme sehr elegante randomisierte Algorithmen kennen, aber keine oder nur kompliziertere deterministische Lösungen. Ich kenne jedoch nur einige Beispiele dafür. Am prominentesten
- Randomized Quicksort (und verwandte geometrische Algorithmen, zB für konvexe Hüllen)
- Randomisierter Mincut
- Polynomial Identity Testing
- Klees Messproblem
Unter diesen scheint nur das Testen der polynomiellen Identität ohne die Verwendung von Zufälligkeit wirklich schwierig zu sein.
Kennen Sie weitere Beispiele für Probleme, bei denen eine zufällige Lösung sehr elegant oder sehr effizient ist, deterministische Lösungen jedoch nicht? Im Idealfall sollten die Probleme für Laien leicht zu motivieren sein (im Gegensatz zu zB polynomiellen Identitätsprüfungen).
Antworten:
Muttern und Schrauben sortieren
Das folgende Problem wurde 1992 von Rawlins vorgeschlagen: Angenommen, Sie erhalten eine Sammlung von n Muttern und n Schrauben. Jede Schraube passt genau auf eine Mutter. Andernfalls haben die Schrauben und Muttern unterschiedliche Größen. Die Größen sind zu eng, um einen direkten Vergleich zwischen Schraubenpaaren oder Mutternpaaren zu ermöglichen. Sie können jedoch jede Mutter mit jeder Schraube vergleichen, indem Sie versuchen, sie zusammenzuschrauben. In konstanter Zeit werden Sie feststellen, ob der Bolzen zu groß, zu klein oder genau richtig für die Mutter ist. Ihre Aufgabe ist es, herauszufinden, welche Schraube zu jeder Mutter passt, oder die Schrauben nach Größe zu sortieren.
Eine einfache Variante der randomisierten Quicksortierung löst das Problem mit hoher Wahrscheinlichkeit in -Zeit. Wähle eine zufällige Schraube aus. Verwenden Sie es, um die Nüsse zu trennen. Verwenden Sie die passende Mutter, um die Schrauben zu unterteilen. und rekursieren. Es ist jedoch nicht trivial , einen deterministischen Algorithmus zu finden, der sogar in o ( n 2 ) abläuft . Deterministische O ( n log n ) -Zeit-Algorithmen wurden schließlich 1995 von Bradford und unabhängig von Komlós, Ma und Szemerédi gefunden. Unter der Haube verwenden beide Algorithmen Varianten des AKS-Parallelsortierungsnetzwerks, also die versteckte Konstante in O ( nO(nlogn) o(n2) O(nlogn) zeitliche Begrenzung ist ziemlich groß; Die versteckte Konstante für den randomisierten Algorithmus ist 4.O(nlogn)
quelle
Wenn Sie nicht nur von Poly-Time sprechen, sondern sich die vielen Rechenmodelle ansehen, die wir untersuchen, gibt es überall Beispiele:
In Logspace: Ungesteuerte ST-Konnektivität (in RL seit 1979 und in L nur seit 2005)
In NC: Finden einer perfekten Übereinstimmung in einem zweigliedrigen Graphen parallel (in RNC und immer noch nicht in NC bekannt)
In interaktiven Beweisen: Deterministische geben NP, während randomisierte PSPACE können. Verwandte Themen: Um einen Proof deterministisch zu prüfen, müssen Sie sich alle Proofs ansehen, während Sie mit PCP-Proofs nur eine konstante Anzahl von Bits prüfen können.
In Algorithmic Mechanism Design: Viele randomisierte, wahrheitsgemäße Approximationsmechanismen ohne deterministisches Gegenstück.
In Kommunikationskomplexität: Die Gleichheitsfunktion erfordert eine deterministische, aber logarithmische (oder, abhängig vom genauen Modell, konstante) lineare Kommunikation nach dem Zufallsprinzip.
In Entscheidungsbäumen: Die Auswertung eines And-Or-Baums erfordert deterministische lineare Abfragen, bei der Randomisierung jedoch viel weniger. Dies entspricht im Wesentlichen der Alpha-Beta-Bereinigung, die einen randomisierten sublinearen Algorithmus für die Auswertung des Spielbaums liefert.
In Streaming-Modellen verteilte Computermodelle: Siehe vorherige Antworten.
quelle
Die meisten Streaming-Algorithmen
Im Streaming-Modell der Berechnung ( AMS , Buch ) verarbeitet ein Algorithmus eine Online-Sequenz von Aktualisierungen und ist darauf beschränkt, nur den sublinearen Speicherplatz beizubehalten. Zu jedem Zeitpunkt sollte der Algorithmus in der Lage sein, eine Anfrage zu beantworten.
quelle
[1] Michael Luby: Ein einfacher paralleler Algorithmus für das Problem der maximalen unabhängigen Menge. SIAM J. Comput. 15 (4): 1036-1053 (1986) http://dx.doi.org/10.1137/0215074
[2] Alessandro Panconesi, Aravind Srinivasan: Über die Komplexität der Zerlegung verteilter Netzwerke. J. Algorithms 20 (2): 356-374 (1996) http://dx.doi.org/10.1006/jagm.1996.0017
[3] Fabian Kuhn, Thomas Moscibroda, Roger Wattenhofer: Lokale Berechnung: Untere und obere Schranken. AdRR abs / 1011.5470 (2010) http://arxiv.org/abs/1011.5470
quelle
Führerwahl in einem anonymen Ring von Prozessen
Es gibt ein einfaches Argument (zB [1]), dass es für einen anonymen Ring keinen deterministischen Wahlalgorithmus für Anführer gibt .
Modell: Wir nehmen an, dass die Berechnung in synchronen Runden fortschreitet, in denen in jeder Runde jeder Prozess eine lokale Berechnung durchführt, Nachrichten an seine Nachbarn im Ring sendet und Nachrichten von seinen Nachbarn empfängt.
[1] Dana Angluin: Lokale und globale Eigenschaften in Netzwerken von Prozessoren (Extended Abstract). STOC 1980: 82 & ndash; 93. http://doi.acm.org/10.1145/800141.804655
quelle
Mehrheitsproblem in einem Abfragemodell.
FRK Chung, RL Graham, J. Mao und AC Yao, Oblivious und adaptive Strategien für die Mehrheits- und Pluralitätsprobleme, Proc. COCOON 2005 , S. 329–338.
quelle