Saf karışma ne kadar asimptotik olarak kötü?


33

Her öğeyi rastgele seçilen bir tane ile değiştirerek bir diziyi karıştırmak için kullanılan bu 'naif' algoritmanın doğru çalışmadığı bilinmektedir:

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

Her başlangıcı Spesifik olarak, n,n yineleme, bir n-n seçenek (düzgün bir olasılık ile) yapılır, orada , n , nnn bir hesaplama ile mümkün 'yolları'; çünkü olası permütasyon sayısı n ! n!yolların sayısı eşit bir şekilde bölündüğü vermez n nnn bu algoritma her üretmek için, bu imkansız n ! n!eşit olasılıklı permütasyonlar. (Bunun yerine, kişi Fischer-Yates karıştırmasını kullanmalıdır; bu , esasen [0..n) arasından bir rastgele sayı seçmek için yapılan çağrıyı [i.n) arasından bir rastgele sayı seçmek için yapılan çağrıyla değiştirir; benim soruma göre bu olsa bile.)

Merak ettiğim şey, saf karıştırmanın ne kadar 'kötü' olduğu? Daha spesifik olarak, izin P ( n )P(n) tüm permütasyon grubu olabilir ve Cı- ( ρ )C(ρ) elde edilen üretmek naif algoritma üzerinden yolların sayısı olduğu bir permütasyon ρ P ( n )ρP(n) , fonksiyonlarının asimptotik davranış nedir

M ( n ) = n !n , n maksimumρP(n)Cı-(ρ)M(n)=n!nnmaxρP(n)C(ρ)

ve

m ( n ) = n !n n dkρP ( n ) Cı-(ρ)m(n)=n!nnminρP(n)C(ρ)?

Başlıca faktör, bu değerleri “normalleştirmek” tir: eğer saf karıştırma, "asimptotik olarak iyi" ise, o zaman

lim n M(n)= lim n m(n)=1limnM(n)=limnm(n)=1.

(Gördüğüm bazı bilgisayar simülasyonlarına dayanarak) gerçek değerlerin 1'den uzakta olduğundan şüpheleniyorum, ancak lim M ( n ) sonlu ise veya lim m ( n ) 0'dan uzakta ise bile biliniyor mu? Bu miktarların davranışları hakkında bilinenler nelerdir?limM(n)limm(n)


8
Güzel soru. Bu soru için en iyi yerin nerede olduğunu bilmiyorum. Başka bir forumun daha iyi olduğu belli olmadığı sürece, bir hafta kadar burada bırakmanız gerektiğini ve tatmin edici bir cevap alamamanız durumunda, diğer forumlardan birine sorun (ve her iki soruya da bağlantı koyun) ).
Peter Shor

4
@vzn "Neden bilinen hatalı bir algoritma üzerinde zor analiz yapıyorsunuz?" Matematik Çünkü olduğunu ilginç ve diğer uygulamalar ortaya çıkabilecek nerede olduğunu asla - örneğin sırala Bubble Knuth'un analizini, bkz. Atwood'un çizelgeleri homojen olmamaya dair kaba bir nitel analiz verir, ancak bu matematiksel olarak nicel bir analizden çok uzaktır. (Fischer-Yates karışıklığının birkaç farklı eşdeğer formülasyonu var - bahsettiğim şey gayet iyi çalışıyor.)
Steven Stadnicki

4
Kayıt için, OEIS dizisi A192053 maksimum C ( ρ ) ' dır ve kapalı bir formu listelemez. Ayrıca, o girişin notları, min C ( ρ ) 'nın 2 n - 1 olabileceğini , bu da m ( n ) 0 olduğunu gösterir . C(ρ)C(ρ)2n1m(n)0
saat

2
@vzn Açık soruların nesi var?
Yuval Filmus

1
@Vzn Son cümlenize katılmıyorum, "kusurlu" karıştırmanın birçok analizi var. Rasgele transpozisyonları yaparsanız örnekler için, rasgelelik eşik kabaca olduğu bilinmektedir ( 1 / 2 ) n- günlük n . Bu soru zor olabilir, ancak bir priori "çok zor" olup olmadığını söylemek zor. Mhum'unki gibi bir cevap, sorunun forum için uygun olduğunu ve aşılmaz bir engel (bir kenara konulmuş resmi ispatlar) sunmadığını gösteren çok tatmin edici. (1/2)nlogn
Yuval Filmus

Yanıtlar:


13

İndüksiyonla ρ n = ( 2 , 3 , 4 , , n , 1 ) permütasyonunun C ( ρ n ) = 2 n - 1 olan bir örnek olduğunu göstereceğiz . Bu en kötü durumsa , ilk n için olduğu gibi ( OEIS dizisi A192053 için notlara bakın ), sonra m ( n ) ( 2 / e ) nρn=(2,3,4,,n,1)C(ρn)=2n1nm(n)(2/e)n. So the normalized min, like the normalized max, is 'exponentially bad'.

The base case is easy. For the induction step, we need a lemma:

Lemma: In any path from (2,3,4,,n,1)(2,3,4,,n,1) to (1,2,3,,n)(1,2,3,,n), either the first move swaps positions 11 and nn, or the last move swaps positions 11 and nn.

Proof Sketch: Suppose not. Consider the first move that involves the nn'th position. Assume that it is the ii'th move, i1i1 and inin. This move must place the item 11 in the ii'th place. Now consider the next move that touches the item 11. Assume this move is the jj'th move. This move must swap ii and jj, moving the item 11 into the jj'th place, with i<ji<j. A similar argument says that the item 11 can only subsequently be moved to the right. But the item 11 needs to end up in the first place, a contradiction.

Now, if the first move swaps the positions 11 and nn, the remaining moves must take the permutation (1,3,4,5,,n,2)(1,3,4,5,,n,2) to (1,2,3,4,,n)(1,2,3,4,,n). If the remaining moves don't touch the first position, then this is the permutation ρn1ρn1 in positions 2n2n, and we know by induction that there are C(ρn1)=2n2C(ρn1)=2n2 paths that do this. An argument similar to the proof of the Lemma says that there is no path that touches the first position, as the item 11 must then end up in the incorrect position.

If the last move swaps the positions 11 and nn, the first n1n1 moves must take the permutation (2,3,4,,n,1)(2,3,4,,n,1) to the permutation (n,2,3,4,,n1,1)(n,2,3,4,,n1,1). Again, if these moves don't touch the last position, then this is the permutation ρn1ρn1, and by induction there are C(ρn1)=2n2C(ρn1)=2n2 paths that do it. And again, if one of the first n1n1 moves here touches the last position, the item 11 can never end up in the correct place.

Thus, C(ρn)=2C(ρn1)=2n1C(ρn)=2C(ρn1)=2n1.


Perfect - the argument behind the lemma looks a lot like the one I had for involutions being the only way of getting the identity permutation, but I'd missed the recursive structure in the explicit swap. Thank you!
Steven Stadnicki

10

After some digging around thanks to mhum's pointer to OEIS, I've finally found an excellent analysis and a nice (relatively) elementary argument (due, as far as I can tell, to Goldstein and Moews [1]) that M(n)M(n) grows superexponentially fast in nn:

Any involution ιι of {1n}{1n} corresponds to a run of the 'naive' shuffling algorithm that produces the identity permutation as its result, since the algorithm will swap kk with ι(k)ι(k) and subsequently swap ι(k)ι(k) with kk, leaving both unchanged. This means that the number of runs of the algorithm that yield the identity permutation is at least the number of involutions Q(n)Q(n) (in fact, a little thinking shows that the correspondence is 1-1 and so it's exactly Q(n)Q(n)), and so the maximum in M(n)M(n) is bounded from below by Q(n)Q(n).

Q(n)Q(n) apparently goes by a number of names, including the telephone numbers : see http://oeis.org/A000085 and http://en.wikipedia.org/wiki/Telephone_number_%28mathematics%29 . The asymptotics are well-known, and it turns out that Q(n)C(ne)n/2enQ(n)C(ne)n/2en; from the recurrence relation Q(n)=Q(n1)+(n1)Q(n2)Q(n)=Q(n1)+(n1)Q(n2) it can be inductively shown that the ratio R(n)=Q(n)Q(n1)R(n)=Q(n)Q(n1) satisfies n<R(n)<n+1n<R(n)<n+1 and from there basic analysis gets the leading nn/2nn/2 term in the asymptotics, though the other terms require a more careful effort. Since the 'scale factor' n!nnn!nn in the definition of M(n)M(n) is only about CnenCnen, the leading term of Q(n)Q(n) dominates and yields (asymptotically) M(n)Cn(n+1)/2e3n/2+nM(n)Cn(n+1)/2e3n/2+n.

Goldstein and Moews in fact go on to show in [1] that the identity permutation is the most likely for large nn, so the is in fact a and the behavior of M(n)M(n) is fully settled. This still leaves the question of the behavior of m(n)m(n) open; I wouldn't be too surprised if that also yielded to the analysis in their paper, but I haven't had opportunity to read it closely enough yet to really get a grip on their methods, only enough to grok the basic result.

[1] Goldstein, D. and Moews, D.: "The identity is the most likely exchange shuffle for large n", http://arxiv.org/abs/math/0010066


1
It's not too hard to show that the permutation (2,3,4,,n,1)(2,3,4,,n,1) is an example with C(ρ)=2n1C(ρ)=2n1. If this is the worst case, as it is for the first few n, then m(n)(2/e)n.
Peter Shor

@PeterShor Can you give the basic argument? I feel like I'm missing some simple version of the involutions argument that would work, but I'm not quite getting it. I think even if that's not quite minimal that would be good enough; the minimum count seems unlikely to be subexponential in n and just knowing that the normalized max and min are both 'exponentially bad' is a pretty satisfactory answer.
Steven Stadnicki

I added an answer with the argument ... it's too long for a comment.
Peter Shor
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.