순진한 셔플 링은 얼마나 무증상입니까?


33

각 항목을 임의로 선택한 다른 항목으로 교체하여 배열을 섞는이 '순진한'알고리즘이 올바르게 작동하지 않는 것으로 잘 알려져 있습니다.

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

구체적으로, n 개의n 반복 마다, n 개의n 선택 중 하나 가 (균일 한 확률로) 이루어 지므로 , 계산을 통해 n 개의nn 가능한 '경로' 가 존재 한다; 가능한 순열의 개수 n ! n!경로 수 n n 으로 균등하게 나누지 않으면 nn이 알고리즘이 각 n 을 생성하는 것은 불가능합니다 ! n!확률이 같은 순열입니다. (대신, 소위 Fischer-Yates 셔플을 사용해야합니다. 피셔-예이츠 셔플은 본질적으로 [0..n에서 난수를 선택하기위한 호출을 변경하고 [i..n)에서 난수를 선택하는 호출을 변경합니다. 그래도 내 질문에 답이 없습니다.)

내가 궁금한 것은 순진한 셔플이 얼마나 '나쁜'것일까 요? 구체적으로는,시키는 P를 ( N )P(n) 의 모든 순열들의 집합 및 C는 ( ρ는 )C(ρ) 결과 생산 순 알고리즘을 통한 경로의 수가 될 순열 ρ ∈ P ( N )ρ∈P(n) 의 함수의 점근 동작 무엇

M ( n ) = n !n n 최대ρ∈P(n)C(ρ)M(n)=n!nnmaxρ∈P(n)C(ρ)

과

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

주요 요인은 이러한 값을 '정규화'하는 것입니다. 순진 셔플이 '무증상'이면

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

실제 컴퓨터 값이 1에서 멀어졌지만 림 M ( n )limM(n) 이 유한한지 또는 림 m ( n )limm(n) 이 0? 이 수량의 동작에 대해 알려진 것은 무엇입니까?


8
좋은 질문. 이 질문에 가장 적합한 곳이 어디인지 모르겠습니다. 다른 포럼이 더 낫다는 것이 확실하지 않으면 1 주일 정도 여기에 두어야하며 만족스러운 답변을 얻지 못하면 다른 포럼 중 하나에 질문하십시오 (두 질문 모두에 링크 포함). ).
— 피터 쇼어

4
@vzn "왜 알려진 결함 알고리즘에 대한 엄격한 분석을 수행합니까?" 수학 은 흥미롭고 다른 응용 프로그램이 어디에서 발생할 수 있는지 모릅니다. 예를 들어 Knuth의 Bubble Sort 분석을 참조하십시오. Atwood의 차트는 불균일성에 대한 대략적인 정성 분석을 제공하지만 수학적으로 양적 분석과는 거리가 멀습니다. (그리고 Fischer-Yates 셔플의 몇 가지 다른 동등한 공식이 있습니다. 제가 언급 한 것은 잘 작동합니다.)
— Steven Stadnicki

4
레코드의 경우 OEIS 시퀀스 A192053 은 최대 이며 닫힌 양식을 나열하지 않습니다. 또한 해당 항목에 대한 메모는 min 가 일 수 있으며 암시합니다 . C ( ρ ) C ( ρ ) 2 N - 1 m ( N ) → 0C(ρ)C(ρ)2n−1m(n)→0
— mhum

2
@vzn 공개 질문에 무슨 문제가 있습니까?
— 유발 Filmus

1
@vzn 마지막 문장에 동의하지 않으면 "불완전한"셔플에 대한 많은 분석이 있습니다. 예를 들어, 랜덤 전치 (random transposition)를하면 랜덤 성 임계 값이 대략 것으로 알려져 있습니다. 현재의 질문은 어려울 수 있지만, 선험적으로 "매우 어렵다"고 말하기는 어렵습니다. mhum 's와 같은 답변은 이미 매우 만족 스럽기 때문에 질문이 포럼에 적합하고 극복 할 수없는 장벽 (공식 증거는 제외)을 제시하지 않았 음을 보여줍니다. ( 1 / 2 ) N 로그 N(1/2)nlogn
— 유발 Filmus

답변:


13

순열 이 인 예제 . 처음 몇 대한 최악의 경우 ( OEIS 시퀀스 A192053에 대한 참고 사항 참조 ) 입니다. 따라서 정규화 된 최대 값과 마찬가지로 정규화 된 최소값은 '지수 적으로 나쁩니다.ρ n = ( 2 , 3 , 4 , … , n , 1 ) C ( ρ n ) = 2 n - 1 n m ( n ) ≈ ( 2 / e ) nρn=(2,3,4,…,n,1)C(ρn)=2n−1nm(n)≈(2/e)n

기본 케이스는 쉽습니다. 유도 단계를 위해서는 다음과 같은 정리가 필요합니다.

렘마 : 에서 까지의 경로에서 첫 번째 이동은 위치 과 바꾸거나 마지막 이동은 위치를 교환합니다 과 .(2,3,4,…,n,1)(2,3,4,…,n,1)(1,2,3,…,n)(1,2,3,…,n)11nn11nn

프루프 스케치 : 그렇지 않다고 가정합니다. 번째 위치와 관련된 첫 번째 움직임을 고려하십시오 . 가 있다고 가정 '번째 이동, 및 . 이 이동은 아이템 을 번째 장소에 배치해야합니다. 이제 항목 닿는 다음 동작을 고려하십시오 . 이 움직임이 번째 움직임 이라고 가정하자 . 이 이동은 와 함께 항목 을 번째 위치 로 이동하여 와 교체해야합니다 . 비슷한 주장에 따르면 항목 은 나중에 오른쪽으로 만 이동할 수 있습니다. 그러나 항목n i i ≠ 1 i ≠ n 1 i 1 j i j 1 j i < j 1 1 ◻nii≠1i≠n1i1jij1ji<j11우선 모순이되어야합니다. □

이제 첫 번째 이동이 위치 1 과 n을 교체하면 나머지 이동은 순열 ( 1 , 3 , 4 , 5 , … , n , 2 ) 을 ( 1 , 2 , 3 , 4 , … , n )으로 가져와야 합니다 . 나머지 동작이 첫 번째 위치에 닿지 않으면 위치 2 … n 의 순열 ρ n - 1 이며 유도에 의해1n(1,3,4,5,…,n,2)(1,2,3,4,…,n)ρn−12…n이를 수행하는 C ( ρ n - 1 ) = 2 n - 2 경로. Lemma의 증거와 비슷한 주장은 첫 번째 위치에 닿는 경로가 없다는 것입니다. 항목 1 은 잘못된 위치에 있어야하기 때문입니다.C(ρn−1)=2n−21

마지막 이동 교환 만약 자리 1 및 N 은 제 N - 1 개 이동 순열을한다 ( 2 , 3 , 4 , ... , N , 1 ) 상기 순열로 ( N , 2 , 3 , 4 , ... , N - 1 , 1 ) . 다시 말하지만, 이러한 움직임이 마지막 위치에 닿지 않으면 순열 ρ n - 1 이며 유도에 의해1nn−1(2,3,4,…,n,1)(n,2,3,4,…,n−1,1)ρn−1C ( ρ n - 1 ) = 2 n - 2 경로. 그리고 다시,여기서첫 번째 n - 1 중 하나가마지막 위치에 닿으면 항목 1 이 올바른 위치에 도달 할 수 없습니다.C(ρn−1)=2n−2n−11

따라서, C ( ρ의 N ) = 2 C ( ρ N - 1 ) = 2 , N - 1 .C(ρn)=2C(ρn−1)=2n−1


완벽 함-렘마 뒤에있는 주장은 내가 혁신에 대해 가지고있는 것과 같은 것처럼 보입니다. 아이덴티티 순열을 얻는 유일한 방법이지만 명시 적 스왑에서 재귀 구조를 놓쳤습니다. 고맙습니다!
— Steven Stadnicki

10

OEIS에 대한 mhum의 포인터 덕분에 일부 파고 들자 마자 나는 훌륭한 분석과 훌륭한 (상대적으로) 기본적인 논쟁 (골드 슈타인과 모우에 [1])이 M ( n )을 발견했습니다. n 에서 매우 빠르게 증가합니다 .M(n)n

상관 퇴화의 ι 의 { 1 ... N } 알고리즘을 교환하기 때문에, 그 결과로서 식별 순열을 생성하는 '순'셔플 링 알고리즘의 실행에 대응하는 K 와 ι ( K ) 이어서 스왑 ι ( 케이 ) 와 K , 둘 다 변경하지 않고 그대로 둡니다. 이것은 신원 순열을 생성하는 알고리즘의 실행 횟수가 적어도 involutions Q ( n ) 의 수임을 의미합니다 (사실, 약간의 생각은 대응이 1-1임을 나타내므로 정확히 Q ( n)입니다ι{1…n}kι(k)ι(k)kQ(n)) ), 및 최대이므로 M은 ( N ) 에 의해 아래로부터 경계되어 Q ( N ) .Q(n)M(n)Q(n)

Q ( n ) 는전화 번호를포함하여 여러 이름으로표시됩니다.http://oeis.org/A000085및http://en.wikipedia.org/wiki/Telephone_number_%28mathematics%29를참조하십시오. 무증상은 잘 알려져 있으며 Q ( n ) ≈ C ( nQ(n)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/2M(n)정의에서 n n 은약C√n!nnM(n)n e - n ,Q(n)의 선행 항은우세하고M(n)≥Cn ( n + 1 ) / 2 e - 3 n / 2 + √를 지배하고 산출합니다.Cn−−√e−nQ(n)n .M(n)≥Cn(n+1)/2e−3n/2+n√

실제로 Goldstein과 Moews는 [1]에서 항등 순열이 큰 n에 대해 가장 가능성이 높 으므로 ≥ 는 실제로 ≈ 이고 M ( n ) 의 동작 은 완전히 해결 되었음을 보여줍니다 . 이것은 여전히 m ( n ) 의 행동에 관한 문제를 열어 둡니다 . 논문에서도 분석 결과가 나오더라도 놀라지 않을 것입니다. 그러나 그 방법을 제대로 파악할 수있을 정도로 면밀히 읽을 기회는 없었지만 기본적인 결과를 얻을 정도로 충분했습니다.n≥≈M(n)m(n)

[1] Goldstein, D. and Moews, D .: "아이덴티티는 큰 n에 대한 교환 셔플 일 가능성이 가장 높습니다", http://arxiv.org/abs/math/0010066


1
순열 ( 2 , 3 , 4 , … , n , 1 ) 이 C ( ρ ) = 2 n - 1 인 예 임을 나타내는 것은 어렵지 않습니다 . 처음 몇위한 이것은, 최악의 경우 N , 다음 m ( N ) ≈ ( 2 / E ) N .
— 피터 쇼어

@PeterShor 당신은 기본 논증을 줄 수 있습니까? 작동하는 involutions 인수의 간단한 버전이 누락 된 것처럼 느껴지지만 실제로는 얻지 못했습니다. 비록 그것이 아주 작지 않아도 충분하다고 생각합니다. 최소 개수는 n 에서 하위 지수 가 아닌 것처럼 보이며 정규화 된 최대 및 최소가 '지수 적으로 나쁘다'라는 것을 아는 것은 꽤 만족스러운 답변입니다.
— Steven Stadnicki

나는 논쟁에 대한 대답을 추가했다 ... 코멘트가 너무 길다.
— Peter Shor
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.