Die Frage, die mich interessiert, bezieht sich auf die Erzeugung zufälliger Permutationen. Was ist der effizienteste Weg, um eine gleichmäßig zufällige Permutation von Elementen zu erzeugen, wenn ein probabilistisches paarweises Swap-Gate als Grundbaustein gegeben ist ? Hier nehme ich "probabilistisches paarweises Swap-Gate" als die Operation, die ein Swap-Gate zwischen ausgewählten Elementen und mit einer Wahrscheinlichkeit implementiert, die für jedes Gate frei gewählt werden kann, und die Identität ansonsten.
Mir ist klar, dass dies normalerweise nicht die Art und Weise ist, wie man zufällige Permutationen erzeugt, wo man normalerweise so etwas wie einen Fisher-Yates-Shuffle verwendet. Dies funktioniert jedoch nicht für die Anwendung, an die ich denke, da die erlaubten Operationen unterschiedlich sind.
Natürlich kann dies getan werden, die Frage ist, wie effizient. Was ist die geringste Anzahl von probabilistischen Swaps, die erforderlich sind, um dieses Ziel zu erreichen?
AKTUALISIEREN:
Anthony Leverrier liefert eine Methode, die tatsächlich die korrekte Verteilung unter Verwendung von -Gattern erzeugt, wobei Tsuyoshi Ito einen anderen Ansatz mit derselben Skalierung in den Kommentaren liefert. Die beste Untergrenze, die ich bisher gesehen habe, ist jedoch , die als skaliert . Die Frage bleibt also weiterhin offen: Ist das Beste, was getan werden kann (dh gibt es eine bessere Untergrenze)? Oder gibt es alternativ eine effizientere Schaltkreisfamilie?
AKTUALISIEREN:
In mehreren Antworten und Kommentaren wurden Schaltkreise vorgeschlagen, die vollständig aus probabilistischen Swaps bestehen, bei denen die Wahrscheinlichkeit auf . Eine solche Schaltung kann dieses Problem aus folgendem Grund nicht lösen (aus den Kommentaren gestrichen):
Stellen Sie sich eine Schaltung vor, die solche Tore verwendet. Dann gibt es äquiprobierbare Berechnungspfade, und daher muss jede Permutation mit der Wahrscheinlichkeit für eine ganze Zahl k erfolgen. Für eine gleichmäßige Verteilung benötigen wir jedoch
UPDATE (von mjqxxxx, der das Kopfgeld anbietet):
Die angebotene Prämie ist für (1) einen Beweis, dass Gatter erforderlich sind, oder (2) eine Arbeitsschaltung für jedes , das weniger als Gatter verwendet.
quelle
Antworten:
Ein Arbeitsalgorithmus, den ich oben in einem Kommentar beschrieben habe, ist der folgende:
Die Anzahl der von diesem Algorithmus benötigten Gatter beträgt .(n−1)+(n−2)+⋯+2+1=n(n−1)/2=O(n2)
quelle
Dies ist weder eine Antwort noch eine neue Information. Hier werde ich versuchen, die Diskussionen zusammenzufassen, die in Kommentaren über die Beziehungen zwischen diesem Problem und Sortiernetzwerken stattgefunden haben . In diesem Beitrag sind alle Zeiten in UTC und ein "Kommentar" bedeutet einen Kommentar zu der Frage, sofern nicht anders angegeben.
Eine Schaltung, die aus probabilistischen Swap-Gates besteht (die zwei Werte zufällig tauschen), erinnert uns natürlich an ein Sortiernetz, das nichts anderes als eine Schaltung ist, die aus Komparatoren besteht (die zwei Werte abhängig von der Reihenfolge zwischen ihnen tauschen). Schaltkreise für das aktuelle Problem und Sortiernetzwerke sind in der Tat auf folgende Weise miteinander verknüpft:
Diese Tatsachen legen offenbar nahe, dass dieses Problem eng mit dem Sortieren von Netzwerken zusammenhängt. Peter Taylor fand jedoch einen Beweis dafür, dass die Beziehung möglicherweise nicht sehr eng ist. Es kann nämlich nicht jedes Sortiernetz in eine gewünschte Schaltung umgewandelt werden, indem die Komparatoren durch probabilistische Austauschgatter mit geeigneten Wahrscheinlichkeiten ersetzt werden. Das Fünf-Komparator-Sortiernetz für n = 4 ist ein Gegenbeispiel. Siehe seine Kommentare am 10. März 11.08 und 10. März 14.01.
quelle
Dies ist keineswegs eine vollständige Antwort, aber es enthält ein Ergebnis, das nützlich sein kann und das angewendet wird, um einige Einschränkungen für den Fall die die möglichen 5-Gate-Lösungen auf 2500 leicht aufzählbare Fälle begrenzen.n=4
Zunächst das allgemeine Ergebnis: In jeder Lösung, die Objekte permutiert , müssen mindestens Swaps mit der Wahrscheinlichkeit .n n−1 12
Beweis: Betrachten Sie die Permutationsdarstellung der Permutationen der Ordnung . Dies sind die Matrizen die erfüllen . Betrachten Sie einen Tausch zwischen und mit der Wahrscheinlichkeit : Dies hat die Darstellung (unter Verwendung der Zyklusnotation, um die Permutation darzustellen). Sie können sich die Multiplikation mit dieser Matrix als Darstellungstheorie oder als Markov-Multiplikation vorstellen, indem Sie die Permutation mit der Wahrscheinlichkeit anwenden und die Dinge mit der Wahrscheinlichkeit unverändert lassen .n n×n Aπ (Aπ)i,j=[i=π(j)] i j p (1−p)I+pA(ij) (ij) p 1−p
Das Permutationsnetzwerk ist daher eine Kette solcher Matrixmultiplikationen. Wir beginnen mit der Identitätsmatrix und das Endergebnis wird eine Matrix in der , also gehen wir von einer Matrix mit Rang zu einer Matrix mit Rang durch Multiplikationen - dh der Rang nimmt um .U Ui,j=1n n 1 n−1
Betrachtet man den Rang der Matrizen , so sieht man, dass es sich im Wesentlichen um Identitätsmatrizen handelt, abgesehen von einer untergeordneten , sie haben also den vollen Rang, es sei denn, . In diesem Fall haben sie den Rang .(1−p)I+pA(ij) (1−ppp1−p) p=12 n−1
Unter Anwendung von Sylvesters Matrixungleichung stellen wir daher fest, dass jeder Swap den Rang nur dann verringert, wenn , und wenn diese Bedingung erfüllt ist, verringert er ihn um nicht mehr als 1. Daher benötigen wir mindestens Swaps der Wahrscheinlichkeit .p=12 n−1 12
Beachten Sie, dass diese Grenze nicht verschärft werden kann, da Anthony Leverriers Netzwerk dies erreicht.
Anwendung auf den Fall . Wir haben bereits Lösungen mit 6 Toren, die Frage ist also, ob Lösungen mit 5 Toren möglich sind. Wir wissen jetzt, dass mindestens 3 der Gates 50/50 Swaps sein müssen, also haben wir zwei "freie" Wahrscheinlichkeiten, und . Es gibt 32 mögliche Ereignisse (5 unabhängige Ereignisse mit jeweils zwei Ergebnissen) und Eimer, von denen jeder mindestens ein Ereignis enthalten muss. Die Ereignisse teilen sich in 8 mit Wahrscheinlichkeit , 8 mit Wahrscheinlichkeit , 8 mit Wahrscheinlichkeit und 8 mit der Wahrscheinlichkeit .n=4 p q 4!=24 pq8 p¯¯¯q8 pq¯¯¯8 p¯¯¯q¯¯¯8
32 Ereignisse in 24 Buckets ohne leere Buckets implizieren, dass mindestens 16 Buckets genau ein Ereignis enthalten, sodass mindestens zwei der vier oben angegebenen Wahrscheinlichkeiten gleich . Unter Berücksichtigung von Symmetrien gibt es zwei Fälle: oder .124 pq=p¯¯¯q=13 pq=p¯¯¯q¯¯=13
Der erste Fall ergibt , ( Korrektur oder , wobei die Symmetrie abgewickelt wird). Der zweite Fall ergibt , also , was keine wirklichen Lösungen hat.p=p¯¯¯=12 q=23 q=13 pq=1−p−q+pq pq=p(1−p)=13
Wenn es also eine 5-Gate-Lösung gibt, haben wir vier Gates mit der Wahrscheinlichkeit und ein Gate mit der Wahrscheinlichkeit entweder oder . Wlog der erste Swap ist und der zweite ist entweder oder ; Die anderen drei haben jeweils (nicht mehr als) fünf Möglichkeiten, weil es keinen Sinn macht, denselben Swap zweimal hintereinander durchzuführen. Wir müssen also Swap-Sequenzen berücksichtigen und 10 Möglichkeiten zur Zuordnung der Wahrscheinlichkeiten finden, was zu 2500 Fällen führt, die mechanisch aufgezählt und getestet werden können.12 13 23 0↔1 0↔2 2↔3 2×53
Update: Yuval Filmus und ich haben die Fälle sowohl aufgezählt als auch getestet und keine Lösungen gefunden. Die optimale Lösung für umfasst also 6 Tore, und Beispiele für Lösungen mit 6 Toren finden sich in anderen Antworten.n=4
quelle
Folgendes scheint neu und relevant zu sein:
Die Arbeit [CKKL99] zeigt, wie man 1 / n mit einem Schaltnetzwerk der Tiefe O (log n) und damit insgesamt O (n log n) Komparatoren einer gleichmäßigen Permutation von n Elementen nahe kommt.
Diese Konstruktion ist nicht explizit, kann aber explizit gemacht werden, wenn Sie die Tiefe auf polylog (n) erhöhen. Siehe die Hinweise in der Veröffentlichung [CKKL01], die auch weitere Informationen enthält.
Ein vorheriger Kommentar hat bereits ein Ergebnis gezeigt, das besagt, dass O (n log n) Schalter ausreichen, aber der Unterschied besteht darin, dass in Vermittlungsnetzwerken die zu vergleichenden Elemente fest sind.
[CKKL99] Artur Czumaj, Przemyslawa Kanarek, Miroslaw Kutylowski und Krzysztof Lorys. Verzögerte Pfadkopplung und Erzeugung zufälliger Permutationen über verteilte stochastische Prozesse. In Symposium on Discrete Algorithms (SODA), S. 271 {280, 1999.
[CKKL01] Artur Czumaj, Przemyslawa Kanarek, Miroslaw Kutylowski und Krzysztof Lorys. Vermittlungsnetze zur Erzeugung zufälliger Permutationen, 2001.
quelle
Hier ist eine etwas interessante Lösung für . Die gleiche Idee gilt auch für .n=4 n=6
Beginnen Sie mit den Schaltern mit der Wahrscheinlichkeit . wir auf und auf reduzieren , befinden wir uns in der Situation . Wenden Sie die Schalter mit der Wahrscheinlichkeit . Das Ergebnis ist Unser nächster Zug wird mit einer Wahrscheinlichkeit von . Wir kümmern uns also wirklich nur darum, ob das Ergebnis der vorherigen Stufe die Form (Fall A) oder die Form hat(0,1),(2,3) 1/2 0,1 X 2,3 Y XXYY (0,3),(1,2) p
Eine ähnliche Idee gilt für - Sie sortieren jede Hälfte zunächst nach dem Zufallsprinzip und "verschmelzen" sie dann. Allerdings kann ich auch für nicht sehen, wie die Hälften richtig zusammengeführt werden.n=6 n=8
Das Interessante an dieser Lösung ist die seltsame Wahrscheinlichkeit .p
Als Randnotiz ist der Satz von Wahrscheinlichkeiten die uns möglicherweise helfen können, durch , wobei über alle Eigenwerte aller Darstellungen von bei allen Transpositionen geht.p 1/(1−λ) λ≤0 Sn
quelle
Betrachten Sie das Problem des zufälligen Mischens der Zeichenfolge , wobei jeder Block die Länge , mit einer Schaltung, die aus probabilistischen paarweisen Vertauschungen besteht. Das heißt, alle Strings mit s und n muß gleich wahrscheinlich Ausgänge der Schaltung sein, angesichts der angegebene Eingabe. Sei eine optimale Schaltung für dieses Problem und sei eine optimale Schaltung für das ursprüngliche Problem (zufälliges Mischen von Elementen). Eine Zufallspermutation Anwendung genügt , um zufällig Verschachtelung der S und S, SOXX..XY..YY n (2n)!/(n!)2 n X n Y B2n C2n 2n X Y |B2n|≤|C2n| . Andererseits können wir Elemente mischen , indem wir die ersten Elemente mischen , die letzten Elemente mischen und schließlich die Schaltung anwenden . Dies impliziert, dass . Wenn wir diese beiden Grenzen kombinieren, können wir das folgende Ergebnis ableiten:2n n n B2n |C2n|≤2|Cn|+|B2n|
Wir sehen, dass die beiden Probleme zumindest in diesem Sinne gleich schwierig sind. Dieses Ergebnis ist etwas überraschend, da zu erwarten ist, dass das Shuffle-Problem einfacher ist. Insbesondere die entropischen Argument zeigt , dass heißt , sondern gibt das stärkere Ergebnis , dass heißt .XY |B2n| Ω(n) |C2n| Ω(nlogn)
quelle
Diaconis und Shahshahani 1981, "Generieren einer zufälligen Permutation mit zufälligen Transponierungen", zeigen, dass 1/2 n log n zufällige Transponierungen (Anmerkung: hier gibt es kein "O") zu einer Permutation führen, die (in der gesamten Variationsentfernung) der Uniform nahe kommt. Ich bin nicht sicher, ob genau das, was in Ihrer Anwendung erlaubt ist, Sie dieses Ergebnis verwenden lässt, aber es ist ziemlich schnell und eng, da es ein Beispiel für ein Cut-Off-Phänomen ist. Eine Übersicht über ähnliche Ergebnisse finden Sie unter Random Walks on Finite Groups von Saloff-Coste.
quelle
Dies ist wirklich ein Kommentar, aber zu lang, um einen Kommentar zu verfassen. Ich vermute, dass die Darstellungstheorie der symmetrischen Gruppe nützlich sein könnte, um eine bessere Untergrenze zu beweisen. Obwohl ich so gut wie nichts über Repräsentationstheorie weiß und möglicherweise falsch liege, möchte ich erklären, warum dies möglicherweise mit dem aktuellen Problem zusammenhängt.
Es ist zu beachten, dass das Verhalten einer Schaltung, die aus probabilistischen Swap-Gattern besteht, vollständig als Wahrscheinlichkeitsverteilung p über Sn , der Gruppe von Permutationen auf n Elementen, spezifiziert werden kann . Eine Permutation g ∈ S n kann als das Ereignis betrachtet werden, dass die i- te Ausgabe die g ( i ) -te Eingabe für alle i ∈ {1,…, n } ist. Stellen Sie nun eine Wahrscheinlichkeitsverteilung p als formale Summe ∑ g ∈ S n p ( g ) g dar . Zum Beispiel der probabilistische Wechsel zwischen den Drähten i undj mit der Wahrscheinlichkeit p wird dargestellt als (1 - p ) e + p τ ij , wobei e ∈S n das Identitätselement ist und τ ij ∈S n die Transposition zwischen i und j ist .
Eine interessante Tatsache bei dieser formalen Summe ist, dass das Verhalten der Verkettung zweier unabhängiger Schaltkreise formal als Produkt dieser formalen Summen beschrieben werden kann. Wenn nämlich das Verhalten der Schaltungen C 1 und C 2 als formale Summen a 1 = ≤ g ≤ S n p 1 ( g ) g bzw. a 2 = ≤ g ≤ S n p 2 ( g ) g dargestellt wird, dann das Verhalten der Schaltung C 1 gefolgt von C 2wird dargestellt als ≤ g 1 , g 2 ≤ S n p 1 ( g 1 ) p 2 ( g 2 ) g 1 g 2 = a 1 a 2 .
Daher entspricht eine gewünschte Schaltung mit m probabilistischen Swaps genau einer Schreibweise der Summe (1 / n !) ∑ g ∈ S n g als Produkt von m Summen, von denen jede die Form (1 - p ) e + hat p τ ij . Wir möchten die minimale Anzahl m von Faktoren kennen.
Die formale Summe Σ g ∈S n f ( g ) g , wobei f eine Funktion von S n zu c, ausgestattet mit natürlich definiert Addition und Multiplikation, bildet den Ring genannt Algebra Gruppe c [S n ]. Die Gruppenalgebra ist eng mit der Repräsentationstheorie von Gruppen verwandt, die, wie wir alle wissen und befürchten, eine tiefe Theorie ist :). Dies lässt mich vermuten, dass etwas in der Darstellungstheorie auf das aktuelle Problem anwendbar sein könnte.
Oder vielleicht ist das nur weit hergeholt.
quelle
Anthonys -Algorithmus kann parallel ausgeführt werden, indem die nächste Iteration der Prozedur nach den ersten beiden probabilistischen Swaps gestartet wird, was zu einer -Laufzeit führt.O(n2) O(n)
quelle
Wenn ich das richtig verstehe, brauchen Sie mindestens probabilistic gates , wenn Sie möchten, dass Ihre Schaltung alle Permutationen erzeugen kann , obwohl ich nicht sicher bin, wie die minimale Schaltung aufgebaut werden kann.⌈log2(n!)⌉
AKTUALISIEREN:
Ich denke, wenn Sie den Mergesort-Algorithmus verwenden und alle Vergleiche durch zufällige Auswahlen mit entsprechenden Wahrscheinlichkeiten ersetzen, erhalten Sie die Schaltung, nach der Sie suchen.
quelle
Die folgende Antwort ist falsch (siehe @ Joe Fitzsimons Kommentar), könnte aber als Ausgangspunkt nützlich sein
Ich habe einen Skizzenvorschlag in . Ich habe überprüft, dass es für (!) Funktioniert, aber ich habe noch keinen Beweis dafür, dass das Ergebnis über hinaus einheitlich ist .O(nlogn) n=4 n=4
Angenommen, Sie haben eine Schaltung , die eine einheitliche zufällige Permutation auf Bits erzeugt. Les das probabilistische Swap-Gate, das die Bits und mit der Wahrscheinlichkeit 1/2 vertauscht und nichts mit der Wahrscheinlichkeit tut . Konstruiere die folgende Schaltung die auf Bits einwirkt :Cn n S12i,j i j 1/2 C2n 2n
Schritt 1. wird benötigt, damit die Bits und in der gleichen Hälfte der Permutation landen können, und Schritt 4. wird aus Symmetriegründen benötigt: Wenn eine Lösung ist, ist auch Eine Lösung ist auch, wenn die Tore in umgekehrter Reihenfolge angebracht werden.1 n+1 C2n C−2n1
Die Größe dieser Schaltkreisfamilie folgt der folgenden Rekursionsrelation: mit offensichtlich . Man sieht dann leicht, dass .
Dann bleibt die naheliegende Frage: Führen diese Schaltungen gleichmäßige Permutationen durch? Nein, siehe ersten Kommentar unten
quelle