Frage

Es ist bekannt, dass dieser "naive" Algorithmus zum Mischen eines Arrays durch Austausch jedes Elements mit einem anderen zufällig ausgewählten nicht richtig funktioniert:

for (i=0..n-1)
  swap(A[i], A[random(n)]);

Insbesondere, da bei jedem von $ n $ iterations eine von $ n $ Choices getroffen wird (mit einheitlicher Wahrscheinlichkeit), gibt es durch die Berechnung $ n^n $ mögliche 'Pfade'; Da die Anzahl der möglichen Permutationen $ n! $ nicht gleichmäßig in die Anzahl der Pfade $ n^n $ teilt, ist es für diesen Algorithmus unmöglich, jedes der $ n! $ Permutationen mit gleicher Wahrscheinlichkeit zu produzieren. (Stattdessen sollte man den sogenannten Gebrauch verwenden Fischer-yates Shuffle, das im Wesentlichen den Anruf auswechselt, um eine zufällige Nummer aus [0..n) mit einem Anruf auszuwählen, um eine zufällige Nummer aus [i..n) auszuwählen; Das ist allerdings um meine Frage.)

Ich frage mich, wie "schlecht" kann der naive Shuffle sein? Insbesondere, dass $ p (n) $ der Satz aller Permutationen und $ c ( rho) $ die Anzahl der Pfade durch den naiven Algorithmus sein, der die resultierende Permutation $ rho in P (n) $ erzeugt, was, was ist das asymptotische Verhalten der Funktionen

$ qquad displayStyle m (n) = frac {n!} {n^n} max _ { rho in p (n)} c ( rho) $

und

$ qquad displayStyle m (n) = frac {n!} {n^n} min _ { rho in p (n)} c ( rho) $?

Der Hauptfaktor besteht darin, diese Werte zu "normalisieren": Wenn der naive Shuffle dann "asymptotisch gut" ist

$ qquad displayStyle lim_ {n to inty} m (n) = lim_ {n to Infty} m (n) = 1 $.

Ich vermute (basierend auf einigen Computersimulationen, die ich gesehen habe), dass die tatsächlichen Werte von 1 entfernt sind, aber ist es sogar bekannt, ob $ lim m (n) $ endlich ist oder ob $ lim m (n) $ ist von 0 entfernt? Was ist über das Verhalten dieser Mengen bekannt?

War es hilfreich?

Lösung

Wir werden durch Induktion zeigen, dass die Permutation $ rho_n = (2,3,4, ldots, n, 1) $ ein Beispiel mit $ c ( rho_n) = 2^{n-1} $ ist. Wenn dies der schlimmste Fall ist, wie für die ersten $ n $ (siehe Anmerkungen für OEIS -Sequenz A192053), dann $ m (n) ca. 2/e)^{n} $. Die normalisierte min ist also wie das normalisierte Maxus "exponentiell schlecht".

Der Basisfall ist einfach. Für den Induktionsschritt brauchen wir ein Lemma:

Lemma: In einem Pfad von $ 2,3,4, ldots, n, 1) $ bis $ (1,2,3, ldots, n) $, entweder der erste Swaps positioniert 1 $ und $ N $ oder $ oder Der letzte Umzug setzt sich auf 1 $ und $ N $.

Beweisskizze: Nehmen wir nicht an. Betrachten Sie den ersten Schritt, der die Position $ n $ 'th betrifft. Angenommen, es ist der Umzug $ i $ 'th, $ i neq 1 $ und $ i neq n $. Dieser Schritt muss den Artikel $ 1 $ in den $ i $ 'th platzieren. Betrachten Sie nun den nächsten Schritt, der den Artikel $ 1 $ berührt. Angenommen, dieser Umzug ist der $ j $ 'th Move. Dieser Schritt muss $ i $ und $ j $ tauschen und den Artikel $ 1 $ in den $ j $ 'th -Platz mit $ i <j $ verschieben. Ein ähnliches Argument besagt, dass der Punkt $ 1 $ $ nur nach rechts verschoben werden kann. Aber der Artikel $ 1 $ $ muss erstmals ein Widerspruch landen. $ square $

Wenn der erste Umzug nun die Positionen $ 1 $ und $ N $ wechselt, müssen die verbleibenden Schritte die Permutation $ (1, 3,4,5, ldots, n, 2) $ bis $ (1,2,3, einnehmen, 1,2,3 $ nehmen. 4, ldots, n) $. Wenn die verbleibenden Bewegungen die erste Position nicht berühren, dann ist dies die Permutation $ rho_ {n-1} $ in Positionen $ 2 ldots n $, und wir wissen durch die Einführung, dass es $ C gibt ( rho_ {n- 1}) = 2^{n-2} $ Pfade, die dies tun. Ein Argument, das dem Beweis des Lemma ähnelt, besagt, dass es keinen Pfad gibt, der die erste Position berührt, da der Artikel $ 1 $ dann in der falschen Position enden muss.

Wenn der letzte Umzug die Positionen $ 1 $ und $ n $ aussteckt, müssen die ersten $ n-1 $ Moves die Permutation $ (2.3,4, ldots, n, 1) $ an die Permutation $ (n, 2) einnehmen , 3,4, ldots, n-1, 1) $. Wenn diese Bewegungen die letzte Position nicht berühren, dann ist dies die Permutation $ rho_ {n-1} $, und durch Induktion gibt es $ c ( rho_ {n-1}) = 2^{n- 2} $ Pfade, die es tun. Und noch einmal, wenn einer der ersten $ n-1 $ hier die letzte Position berührt, kann der Artikel $ 1 $ niemals an der richtigen Stelle enden.

So ist $ c ( rho_n) = 2c ( rho_ {n-1}) = 2^{n-1} $.

Andere Tipps

Nachdem ich dank Mhums Zeiger auf OEIS ein gewisses Umfassungsgrad und endlich eine hervorragende Analyse und ein schönes (relatives) elementares Argument gefunden habe (soweit ich, soweit ich das beurteilen kann, an Goldstein und Moews [1]), dass $ m (n ) $ wächst in $ n $ schnell schnell:

Jede Involution $ iota $ von $ {1 ldots n } $ entspricht einem Lauf des "naiven" Mischungsalgorithmus, der die Identitätpermutation als Ergebnis erzeugt, da der Algorithmus $ k $ mit $ iota ((iOTA k) $ und anschließend $ iota (k) $ mit $ k $ tauschen, wobei beide unverändert bleiben. Dies bedeutet, dass die Anzahl der Läufe des Algorithmus, die die Identitätspermutation liefern n) $), und so wird das Maximum in $ m (n) $ von unten durch $ q (n) $ begrenzt.

$ Q (n) $ gilt anscheinend eine Reihe von Namen, einschließlich der Telefonnummern : sehen http://oeis.org/a000085 und http://en.wikipedia.org/wiki/telephone_number_%28mathematics%29 . Die Asymptotika sind bekannt, und es stellt sich heraus, dass $ q (n) appy c links ( frac {n} {e} rechts)^{n/2} e^ sqrt {n} $; Aus der Rezidivbeziehung $ q (n) = q (n-1)+(n-1) q (n-2) $ kann es induktiv gezeigt werden, dass das Verhältnis $ r (n) = frac {q (n)) } {Q (n-1)} $ erfüllt $ sqrt {n} lt r (n) lt sqrt {n+1} $ und von dort erhält die grundlegende Analyse die führende $ n^{n/2} $ Begriff in der Asymptotik, obwohl die anderen Begriffe eine sorgfältigere Anstrengung erfordern. Da der 'Scale-Faktor' $ frac {n!} {N^n} $ in der Definition von $ m (n) $ nur ungefähr $ c sqrt {n} e^{-n} $ ist, ist der führende Begriff von $ q (n) $ dominiert und ergibt (asymptotisch) $ m (n) geq cn^{(n+1)/2} e^{-3n/2+ sqrt {n}} $.

Goldstein und Moews zeigen in der Tat in [1], dass die Identitätspermutation für große $ n $ am wahrscheinlichsten ist $ ist voll besiedelt. Dies hinterlässt immer noch die Frage nach dem Verhalten von $ m (n) $ Open; Ich wäre nicht allzu überrascht, wenn dies auch der Analyse in ihrem Papier ergeben würde, aber ich hatte keine Gelegenheit, sie noch genau genug zu lesen, um ihre Methoden wirklich in den Griff zu bekommen, nur genug, um das grundlegende Ergebnis zu erfassen.

1] Goldstein, D. und Moews, D.: "Die Identität ist der wahrscheinlichste Austausch -Shuffle für Large N", http://arxiv.org/abs/math/0010066

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit cs.stackexchange
scroll top