Quanto è asintoticamente cattivo l'ingenuo mescolamento?


33

È noto che questo algoritmo 'ingenuo' per mescolare un array scambiando ogni elemento con un altro scelto casualmente non funziona correttamente:

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

In particolare, poiché a ciascuna delle iterazioni viene fatta una delle scelte (con probabilità uniforme), ci sono possibili "percorsi" attraverso il calcolo; perché il numero di possibili permutazioninon si divide uniformemente nel numero di percorsi , è impossibile per questo algoritmo produrre ciascuno deipermutazioni con uguale probabilità. (Invece, si dovrebbe usare il cosiddetto shuffle Fischer-Yates , che essenzialmente cambia la chiamata per scegliere un numero casuale da [0..n) con una chiamata per scegliere un numero casuale da [i..n); questo è discutibile per la mia domanda.)n nn nn nnn n ! n!n nnn n !n!

Quello che mi chiedo è: quanto può essere brutto l'ingenuo shuffle? Più specificamente, lasciando che sia l'insieme di tutte le permutazioni e sia il numero di percorsi attraverso l'algoritmo ingenuo che produce la permutazione risultante , qual è il comportamento asintotico del funzioniP ( n ) P(n)C ( ρ ) C(ρ)ρ ∈ P ( n )ρ∈P(n)

M ( n ) = n !n n maxρ∈P(n)C(ρ)M(n)=n!nnmaxρ∈P(n)C(ρ)

e

m ( n ) = n !n n minρ∈P(n)C(ρ)m(n)=n!nnminρ∈P(n)C(ρ) ?

Il fattore principale è "normalizzare" questi valori: se l'ingenuo shuffle è "asintoticamente buono", allora

lim n → ∞ M(n)= lim n → ∞ m(n)=1limn→∞M(n)=limn→∞m(n)=1 .

Ho il sospetto (basato su alcune simulazioni al computer che ho visto) che i valori effettivi siano delimitati da 1, ma è noto anche se lim M ( n )limM(n) è finito, o se lim m ( n )limm(n) è limitato da 0? Cosa si sa del comportamento di queste quantità?


8
Bella domanda Non so dove sia il posto migliore per questa domanda. A meno che non sia chiaro che un altro forum è meglio per questo, penso che dovresti lasciarlo qui per una settimana circa e, se non ottieni una risposta soddisfacente, chiedilo su uno degli altri forum (e inserisci i collegamenti in entrambe le domande ).
— Peter Shor,

4
@vzn "Perché un'analisi approfondita su un algoritmo difettoso noto?" Perché la matematica è interessante e non si sa mai dove potrebbero sorgere altre applicazioni - per esempio, vedi l'analisi Knuth di Bubble Sort. Le carte di Atwood forniscono un'analisi qualitativa approssimativa della disomogeneità, ma è molto lontana da un'analisi matematicamente quantitativa. (E ci sono diverse formulazioni equivalenti del shuffle Fischer-Yates - quella che cito funziona bene.)
— Steven Stadnicki

4
Per la cronaca, la sequenza OEIS A192053 è max e non elenca un modulo chiuso. Inoltre, le note per quella voce suggeriscono che min può essere , il che implica che . C(ρ)C(ρ)C(ρ)C(ρ)2n−12n−1m(n)→0m(n)→0
— mum

2
@vzn Cosa c'è che non va nelle domande aperte?
— Yuval Filmus,

1
@vzn Non sei d'accordo sulla tua ultima frase, ci sono molte analisi di mescolanze "imperfette". Ad esempio, se eseguiamo trasposizioni casuali, è noto che la soglia di casualità è approssimativamente . La domanda attuale può essere difficile, ma a priori è difficile dire se sia "molto difficile". Una risposta come quella di mhum è già molto soddisfacente, dimostrando che la domanda era appropriata per il forum e non presentava una barriera insormontabile (prove formali messe da parte). (1/2)nlogn(1/2)nlogn
— Yuval Filmus,

Risposte:


13

Mostreremo per induzione che la permutazione è un esempio con . Se questo è il caso peggiore, come è per i primi (vedere le note per la sequenza OEIS A192053 ), quindi . Quindi il min normalizzato, come il max normalizzato, è "esponenzialmente cattivo".ρn=(2,3,4,…,n,1)ρn=(2,3,4,…,n,1)C(ρn)=2n−1C(ρn)=2n−1nnm(n)≈(2/e)nm(n)≈(2/e)n

Il case base è semplice. Per la fase di induzione, abbiamo bisogno di un lemma:

Lemma: in qualsiasi percorso da a , la prima mossa scambia le posizioni e oppure l'ultima mossa scambia le posizioni e .(2,3,4,…,n,1)(2,3,4,…,n,1)(1,2,3,…,n)(1,2,3,…,n)11nn11nn

Proof Sketch: Supponiamo di no. Consideriamo la prima mossa che comporta la '° posizione. Supponiamo che sia l' mossa, e . Questa mossa deve posizionare l'elemento nel '° posto. Ora considera la prossima mossa che tocca l'oggetto . Assumere questa mossa è il 'th mossa. Questa mossa deve scambiare e , spostando l'elemento nel 'esimo posto, con . Un argomento simile afferma che l'elemento può essere spostato successivamente solo a destra. Ma l'articolon i i ≠ 1 i ≠ n 1 i 1 j i j 1 j i < j 1 1 ◻nii≠1i≠n1i1jij1ji<j11deve finire in primo luogo, una contraddizione. □

Ora, se la prima mossa scambia le posizioni e , le mosse rimanenti devono portare la permutazione a . Se le mosse rimanenti non toccano la prima posizione, allora questa è la permutazione nelle posizioni , e sappiamo per induzione che ci sono percorsi che lo fanno. Un argomento simile alla dimostrazione del Lemma afferma che non vi è alcun percorso che tocchi la prima posizione, poiché l'elemento deve quindi finire nella posizione errata.1 n ( 1 , 3 , 4 , 5 , … , n , 2 ) ( 1 , 2 , 3 , 4 , … , n ) ρ n - 1 2 … n C ( ρ n - 1 ) = 2 n - 2 11n(1,3,4,5,…,n,2)(1,2,3,4,…,n)ρn−12…nC(ρn−1)=2n−21

Se l'ultima mossa scambia le posizioni e , le prime mosse devono portare la permutazione alla permutazione . Ancora una volta, se queste mosse non toccano l'ultima posizione, allora questa è la permutazione , e per induzione ci sono percorsi quello lo fanno. E ancora, se uno dei primi sposta qui tocca l'ultima posizione, l'oggetto non può mai finire nella posizione corretta.1 n n - 1 ( 2 , 3 , 4 , … , n , 1 ) ( n , 2 , 3 , 4 , … , n - 1 , 1 ) ρ n - 1 C ( ρ n - 1 ) = 2 n - 2 n - 1 11nn−1(2,3,4,…,n,1)(n,2,3,4,…,n−1,1)ρn−1C(ρn−1)=2n−2n−11

Pertanto, .C ( ρ n ) = 2 C ( ρ n - 1 ) = 2 n - 1C(ρn)=2C(ρn−1)=2n−1


Perfetto: l'argomento alla base del lemma è molto simile a quello che ho avuto per le involuzioni, l'unico modo per ottenere la permutazione dell'identità, ma avevo perso la struttura ricorsiva nello scambio esplicito. Grazie!
— Steven Stadnicki,

10

Dopo aver scavato un po 'grazie al puntatore di mhum a OEIS, ho finalmente trovato un'eccellente analisi e un bel argomento (relativamente) elementare (dovuto, per quanto posso dire, a Goldstein e Moews [1]) che cresce superexponenzialmente in :M ( n ) nM(n)n

Qualsiasi involuzione di corrisponde a una corsa dell'algoritmo di shuffling 'ingenuo' che produce come risultato la permutazione dell'identità, poiché l'algoritmo scambia con e successivamente scambia con , lasciando entrambi invariati. Ciò significa che il numero di esecuzioni dell'algoritmo che producono la permutazione dell'identità è almeno il numero di involuzioni (in effetti, un piccolo pensiero mostra che la corrispondenza è 1-1 e quindi è esattamente ) , e quindi il massimo in è limitato dal basso da .ι { 1 … n } k ι ( k ) ι ( k ) k Q ( n ) Q ( n ) M ( n ) Q ( n )ι{1…n}kι(k)ι(k)kQ(n)Q(n)M(n)Q(n)

Q ( n ) Q ( n ) ≈ C ( nQ(n) apparentemente ha un numero di nomi, inclusi i numeri di telefono : vedi http://oeis.org/A000085 e http://en.wikipedia.org/wiki/Telephone_number_%28mathematics%29 . Gli asintotici sono ben noti e risulta che ; dalla relazione di ricorrenza si può mostrare induttivamente che il rapporto soddisfa e da lì l'analisi di base ottiene il termine negli asintotici, sebbene l'altro i termini richiedono uno sforzo più attento. Dal momento che il "fattore di scala"e )n/2e√n Q(n)=Q(n-1)+(n-1)Q(n-2)R(n)=Q(n)Q(n)≈C(ne)n/2en√Q(n)=Q(n−1)+(n−1)Q(n−2)Q ( n - 1 ) √R(n)=Q(n)Q(n−1)n <R(n)< √n + 1 n n / 2 n !n−−√<R(n)<n+1−−−−−√nn/2n n M(n)C√n!nn nella definizione di è solo circa , il termine principale di domina e produce (asintoticamente) .M(n)n e - n Q(n)M(n)≥Cn ( n + 1 ) / 2 e - 3 n / 2 + √Cn−−√e−nQ(n)nM(n)≥Cn(n+1)/2e−3n/2+n√

Goldstein e Moews infatti dimostrano in [1] che la permutazione dell'identità è la più probabile per grande , quindi il è in effetti un e il comportamento di è completamente risolto. Questo lascia ancora aperta la questione del comportamento di ; Non sarei troppo sorpreso se ciò avesse comportato anche l'analisi nel loro articolo, ma non ho avuto l'opportunità di leggerlo abbastanza da vicino ancora da afferrare i loro metodi, solo abbastanza per ottenere il risultato di base.n ≥ ≈ M ( n ) m ( n )n≥≈M(n)m(n)

[1] Goldstein, D. e Moews, D .: "L'identità è lo shuffle di scambio più probabile per n grande", http://arxiv.org/abs/math/0010066


1
Non è troppo difficile dimostrare che la permutazione è un esempio con . Se questo è il caso peggiore, come per i primi , allora . (2,3,4,…,n,1)(2,3,4,…,n,1)C(ρ)=2n−1nm(n)≈(2/e)n
— Peter Shor,

@PeterShor Puoi dare l'argomento di base? Mi sento come se mi mancasse una versione semplice dell'argomento delle involuzioni che avrebbe funzionato, ma non riesco proprio a capirlo. Penso che anche se non fosse abbastanza minimale sarebbe abbastanza buono; è improbabile che il conteggio minimo sia subesponenziale in e solo sapere che il massimo e il minimo normalizzati sono entrambi "esponenzialmente negativi" è una risposta abbastanza soddisfacente. n
— Steven Stadnicki,

Ho aggiunto una risposta con l'argomento ... è troppo lungo per un commento.
— Peter Shor,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.