Jak asymptotycznie źle jest naiwne tasowanie?


33

Powszechnie wiadomo, że ten „naiwny” algorytm tasowania tablicy poprzez zamianę każdego elementu na inny losowo wybrany nie działa poprawnie:

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

W szczególności, ponieważ w każdym z n powtórzeń, jeden z n wyboru jest (z jednolitego prawdopodobieństwa) jest nn możliwych ścieżek „” do obliczeń; ponieważ liczba możliwych permutacji n!nie dzieli się równomiernie na liczbę ścieżek nn , algorytm nie jest w stanie wygenerować każdego z n!permutacje z jednakowym prawdopodobieństwem. (Zamiast tego należy użyć tak zwanego losowania Fischera-Yatesa , który zasadniczo zmienia połączenie, aby wybrać losową liczbę z [0..n) z połączeniem, aby wybrać losową liczbę z [i..n); jest to jednak kwestia mojego pytania).

Zastanawiam się, jak „zły” może być naiwny los. Mówiąc dokładniej, pozwalając P(n) być zbiorem wszystkich permutacji, a C(ρ) być liczbą ścieżek przez naiwny algorytm, który wytwarza wynikową permutację ρP(n) , jakie jest asymptotyczne zachowanie funkcji

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

i

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

Najważniejszym czynnikiem jest „normalizacja” tych wartości: jeśli naiwny los jest „asymptotycznie dobry”, to znaczy

. limnM(n)=limnm(n)=1

Podejrzewam (na podstawie niektórych symulacjach komputerowych widziałem), że rzeczywiste wartości są ograniczone od 1, ale jest jeszcze wiadomo, czy jest skończony, czy lim m ( n ) jest ograniczony od 0? Co wiadomo o zachowaniu tych ilości?limM(n)limm(n)


8
Fajne pytanie. Nie wiem, gdzie jest najlepsze miejsce na to pytanie. O ile nie jest jasne, że inne forum jest dla niego lepsze, myślę, że powinieneś zostawić je tutaj na około tydzień, a jeśli nie otrzymasz satysfakcjonującej odpowiedzi, zadaj je na jednym z innych forów (i umieść linki w obu pytaniach ).
Peter Shor,

4
@vzn "Dlaczego ciężka analiza znanego wadliwego algorytmu?" Ponieważ matematyka jest interesująca i nigdy nie wiadomo, gdzie mogą pojawić się inne zastosowania - patrz na przykład analiza Knutha w sortowaniu baniek. Wykresy Atwooda zawierają przybliżoną jakościową analizę niejednorodności, ale jest to dalekie od analizy ilościowej matematycznej. (I istnieje kilka różnych równoważnych sformułowań losowania Fischera-Yatesa - ten, o którym wspomniałem, działa dobrze.)
Steven Stadnicki,

4
Dla przypomnienia sekwencja OEIS A192053 wynosi maks. i nie zawiera formularza zamkniętego. Również uwagi do tego wpisu sugerują, że min C ( ρ ) może wynosić 2 n - 1 , co oznacza, że m ( n ) 0 . C(ρ)C(ρ)2n1m(n)0
mhum,

2
@vzn Co jest złego w otwartych pytaniach?
Yuval Filmus,

1
@vzn Nie zgadzam się co do ostatniego zdania, istnieje wiele analiz „niedoskonałych” losowych. Przykładowo, jeśli w sposób losowy transpozycje, to wiadomo, że próg losowość jest grubsza . Obecne pytanie może być trudne, ale z góry trudno powiedzieć, czy jest „bardzo trudne”. Odpowiedź taka jak mhum jest już bardzo satysfakcjonująca, pokazując, że pytanie było odpowiednie dla forum i nie stanowiło bariery nie do pokonania (odłożono formalne dowody). (1/2)nlogn
Yuval Filmus

Odpowiedzi:


13

Pokażemy przez indukcję, że permutacja jest przykładem z C ( ρ n ) = 2 n - 1 . Jeśli jest to najgorszy przypadek, tak jak w przypadku pierwszych kilku n (patrz uwagi do sekwencji OEIS A192053 ), to m ( n ) ( 2 / e ) nρn=(2,3,4,,n,1)C(ρn)=2n1nm(n)(2/e)n. Znormalizowana wartość minimalna, podobnie jak znormalizowana wartość maksymalna, jest „wykładniczo zła”.

Podstawa jest łatwa. Na etapie wprowadzenia potrzebujemy lematu:

Lemat: W każdej ścieżce od do ( 1 , 2 , 3 , ... , n ) , albo pierwszy ruch swap pozycji 1 i n , lub ostatni ruch swap pozycji 1 i n .(2,3,4,,n,1)(1,2,3,,n)1n1n

Szkic próbny: Załóżmy, że nie. Rozważ pierwszy ruch, który obejmuje -tą pozycję. Załóżmy, że jest i -tym ruch, i 1 i I n . Ten ruch musi umieścić przedmiot 1 na i miejscu. Teraz rozważ następny ruch, który dotknie przedmiotu 1 . Załóżmy, że ten ruch jest j -ty. Ten ruch musi zamienić i i j , przesuwając element 1 na j -te miejsce, z i < j . Podobny argument mówi, że pozycja 1nii1in1i1jij1ji<j1 can only subsequently be moved to the right. But the item 1 needs to end up in the first place, a contradiction.

Teraz, jeżeli pierwsze swapy ruch z pozycji i n , pozostałe przemieszcza musi mieć permutacji ( 1 , 3 , 4 , 5 , ... , n , 2 ) do ( 1 , 2 , 3 , 4 , ... , n ) . Jeśli pozostałe ruchy nie dotykają pierwszej pozycji, to jest to permutacja ρ n - 1 na pozycjach 2 n , a dzięki indukcji wiemy, że są1n(1,3,4,5,,n,2)(1,2,3,4,,n)ρn12nC(ρ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 1 must then end up in the incorrect position.

1nn1(2,3,4,,n,1)(n,2,3,4,,n1,1). Again, if these moves don't touch the last position, then this is the permutation ρn1, and by induction there are C(ρn1)=2n2n11

C(ρ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) grows superexponentially fast in n:

Any involution ι of {1n} corresponds to a run of the 'naive' shuffling algorithm that produces the identity permutation as its result, since the algorithm will swap k with ι(k) and subsequently swap ι(k) with k, 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) (in fact, a little thinking shows that the correspondence is 1-1 and so it's exactly Q(n)), and so the maximum in M(n) is bounded from below by 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/2en; from the recurrence relation Q(n)=Q(n1)+(n1)Q(n2) it can be inductively shown that the ratio R(n)=Q(n)Q(n1) satisfies n<R(n)<n+1 and from there basic analysis gets the leading nn/2 term in the asymptotics, though the other terms require a more careful effort. Since the 'scale factor' n!nn in the definition of M(n) is only about Cnen, the leading term of Q(n) dominates and yields (asymptotically) M(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 n, so the is in fact a and the behavior of M(n) is fully settled. This still leaves the question of the behavior of 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) is an example with C(ρ)=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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.