무작위 정렬 네트워크가 작동 할 확률


14

입력 주어지면 , 우리는 두 개의 변수 와 를 반복적으로 선택 하고 경우 이들을 바꾸는 비교 게이트를 추가하여 게이트로 무작위 정렬 네트워크를 구성합니다 .x 0 , , x n 1 m x i , x j i < j x i > x jnx0,,xn1mxi,xji<jxi>xj

질문 1 : 고정 들어 , 필수의 방법 대형 확률로 정확하게 정렬하는 네트워크의 수 ?m > 1nm>12

각 연속 쌍이 교체되는 것을 제외하고 올바르게 정렬 된 입력은 각각에 대해 시간 이 걸리기 때문에 적어도 하한 이 있습니다. 비교기로 선택 될 쌍. 그것은 또한 더 많은 요소를 가진 상한 입니까?Θ ( n 2 log n 2 ) log nm=Ω(n2logn)Θ(n2logn2)logn

질문 2 : 가능성이 높은 근접 비교기를 선택하여 을 달성하는 비교기 게이트의 분포가 있습니까?m=O~(n)


1
한 번 에 하나의 입력을보고 유니온 경계를 설정 하여 상한을 얻을 수 있다고 생각 하지만 그 소리는 빡빡합니다. O(n3logO(1))
daniello

2
질문 2에 대한 아이디어 : 깊이 의 정렬 네트워크를 선택하십시오 . 각 단계에서 정렬 네트워크의 게이트 중 하나를 무작위로 선택하고 해당 비교를 수행하십시오. ~ O ( n ) 단계 후에 , 제 1 층의 모든 게이트가 적용될 것이다. 또 다른 ~ O ( n ) 단계 후에 , 제 2 층의 모든 게이트가 적용될 것이다. 이것이 단조임을 보여줄 수 있다면 (정렬 네트워크의 중간에 추가 비교를 삽입해도 상처를 줄 수 없습니다) ~ ~ O ( n ) 의 해를 얻습니다O(log2n)O~(n)O~(n)O~(n)평균적으로 전체 비교기. 그러나 독점이 실제로 유지되는지 확실하지 않습니다.
DW

2
@DW : 단 조성이 반드시 유지되는 것은 아닙니다. 고려 시퀀스 시퀀스작품; s'는 (입력 (1, 0, 0)을 고려하십시오)하지 않습니다. 아이디어는(x0,x2),(x0,x1)입니다.
s=(x1,x2),(x0,x2),(x0,x1);s=(x1,x2),(x0,x1),(x0,x2),(x0,x1).
ss(x0,x2),(x0,x1) 제외한 모든 입력을 정렬합니다 ( 여기 참조 ). 에서 해당 입력에 도달 할 수없는 ( X 0 , X 2 ) , ( X 0 , X (1) ) . 에서 ' 가 있습니다. (0,1,0)s(x0,x2),(x0,x1)s
닐 영

3
각 단계에서 무작위로 두 개의 인접 변수 선택하여 네트워크가 선택된 변형을 고려하십시오 . 이제 인접성 스왑이 반전을 생성하지 않기 때문에 단조 로움이 유지됩니다. DW 내지 An의 아이디어 @ 적용 홀짝 정렬 네트워크 가지며, N 라운드 : 홀수 라운드는 모든 인접한 비교 이 모든 인접한 비교에도 라운드에서, 홀수 짝수이다. 무작위 네트워크는 이 네트워크를 "포함"하므로 O ( n 2 log n ) 비교 에서 정확 합니다. (또는 뭔가 빠졌습니까?)xi,xi+1niiO(n2logn)
닐 영

2
인접 네트워크의 단조 : 주어진 , j { 0 , 1 , , n }에 대해 s j ( a ) = j i = 1 a i를 정의 합니다. s j ( a ) s j ( b ) 인 경우 a b 라고 말 하십시오 ( ja,b{0,1}nj{0,1,,n}sj(a)=i=1jaiabsj(a)sj(b)j). 비교 " "을 수정하십시오 . 하자 'b는 ' 에서 온 와 B 가 비교를 수행하여. 제 1 'B 'B . 제 2 경우 ⪯의 B 다음 'B ' . 그런 다음 귀납적으로 표시하십시오 : y 가 입력 x 의 비교 시퀀스 s 의 결과 인 경우xi<xi+1abab aabb ababysx 수퍼 - 시퀀스의 결과 (S) 'SXY 'Y . 따라서 y 가 정렬되면 y '도 됩니다. yssxyyyy
닐 영

답변:


3

다음은 bitonic sort에 적용된 DW의 아이디어를 기반으로 한 질문 2에 대한 경험적 데이터입니다. 들면 변수 선택 J를 - = 2 K 비례하는 확률을 LG N - K는 , 다음 선택 난을 비교기 얻기 위해 임의로 ( I , J를 ) . 이것은 n 이 2의 거듭 제곱 인 경우 비교기의 분포를 비트 닉 정렬로 일치 시키며 그렇지 않으면 근사치입니다.nji=2klgnki(i,j)n

이 분포에서 가져온 주어진 무한 시퀀스 게이트에 대해 많은 임의의 비트 시퀀스를 정렬하여 정렬 네트워크를 얻는 데 필요한 게이트 수를 근사화 할 수 있습니다. 여기서위한 것으로 추정의 평균 인계 (100) 와 게이트 서열 6400 개 카운트를 근사화하기 위해 사용 가능한 비트 시퀀스가 : 일치 표시 Θ를 ( N 로그 2 N을 ) , 바이 토닉 정렬 같은 복잡도. 그렇다면 우리는 각 게이트를 가로 질러 오는 쿠폰 수집기 문제로 인해 여분의 log n 인자를 먹지 않습니다 .n<2001006400Approximate number of gatesΘ(nlog2n)logn

강조 : 만 사용하고 게이트의 예상 수 없습니다 대략적인 비트 시퀀스를 2 N을 . 평균 필요한 게이트는 그 수가 증가을 수행을 위해 N = 199 I를 사용하는 경우에는 6400 , 64,000640,000 시퀀스 추정은 14,270 ± 1,069 , 14,353 ± 1,01314,539 ± 965 . 따라서, 마지막 몇 개의 시퀀스를 얻는 것은 점근 적으로 복잡하지는 않지만 점근 적 복잡성을 증가시킬 수 있습니다.64002nn=19964006400064000014270±106914353±101314539±965

편집 : 여기에 최대 과 유사한 플롯이 있지만 정확한 게이트 수를 사용합니다 (샘플링과 Z3의 조합을 통해 계산). 나는 2의 거듭 제곱 d = j i 에서 임의의 d [ 1 , nn=80d=jilogn-logd에비례하는 확률로d[1,n2] . Θ(nlog2n)는여전히 그럴듯 해 보입니다.lognlogddΘ(nlog2n)

Exact numbers of gates


2
좋은 실험! 당신 만의 작은 부분 샘플링하고 있습니다 :하지만 쿠폰 컬렉터 문제는 여기에 발생할 수있는 다른 방법이 모든 입력에 정확성을 검증하기 위해 필요한 비트 시퀀스. 이 유형과 크기의 임의의 네트워크가 임의의 순열 whp를 정렬한다고 실험에서 (과학적으로는 물론 수학적으로는 아닙니다) 결론을 내릴 수 있습니다 . 또한 철저한보고 싶은데요 2 n은 모두 랜덤 네트워크에 테스트 N 당신이 가서 기꺼이까지되는. ( n = 20 은 사용하는 언어 및 하드웨어에 따라 너무 나쁘거나 n = 30 일 수 있습니다).2n2nnn=20n=30
Joshua Grochow

1
정확히 까지는 동일하게 보이지만 결정적인 것으로 보지는 않습니다. n=27
제프리 어빙

1
@JoshuaGrochow : 정확한 값을 까지 추가했습니다 . n=80
Geoffrey Irving

1
좋은! 그래도 정확한 데이터에 대한 확산이 증가하고있는 것으로 보이며, 이는 추가 인자 ? (즉, "스프레드"가 log n 비율로 증가하는 경우 )lognlogn
Joshua Grochow

1
네, 추가 요인을 배제 할 수는 없습니다. 그래도 인 경우 놀랐 습니다 .80 에서 최대 lg n 6이 있고 상수는 의심 할 여지없이 1에 가깝습니다 . 이 시점에서 나는 이론이 이어져야한다고 생각한다. :)lognlgn61
Geoffrey Irving
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.