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


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)=1limnM(n)=limnm(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(ρ)2n1m(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)=2n1nm(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 nii1in1i1jij1ji<j11우선 모순이되어야합니다.

이제 첫 번째 이동이 위치 1n을 교체하면 나머지 이동은 순열 ( 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)ρn12n이를 수행하는 C ( ρ n - 1 ) = 2 n - 2 경로. Lemma의 증거와 비슷한 주장은 첫 번째 위치에 닿는 경로가 없다는 것입니다. 항목 1 은 잘못된 위치에 있어야하기 때문입니다.C(ρn1)=2n21

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

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


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

10

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

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

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

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