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)=1limnM(n)=limnm(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(ρ)2n12n1m(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)=2n1C(ρn)=2n1nnm(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 nii1in1i1jij1ji<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)ρn12nC(ρn1)=2n21

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 11nn1(2,3,4,,n,1)(n,2,3,4,,n1,1)ρn1C(ρn1)=2n2n11

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


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 )ι{1n}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/2en Q(n)=Q(n-1)+(n-1)Q(n-2)R(n)=Q(n)Q(n)C(ne)n/2enQ(n)=Q(n1)+(n1)Q(n2)Q ( n - 1 )R(n)=Q(n)Q(n1)n <R(n)<n + 1 n n / 2 n !n<R(n)<n+1nn/2n n M(n)Cn!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 + CnenQ(n)nM(n)Cn(n+1)/2e3n/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 )nM(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(ρ)=2n1nm(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.