랜덤 파티셔닝을 통한 선택에 대한 집중력?


11

어레이에 중간 요소를 찾는 보통 간단한 알고리즘 의 숫자이다 :An

  • 샘플 의 요소 에 여분으로n3/4AB
  • 정렬 와 순위 찾을 수 요소 과 의B|B|±nlrB
  • 그 확인 과 중앙값의 양측에있는 대부분에 있다는 것을 내의 요소 사이 및 일부 적절한 상수에 대한 . 그렇지 않으면 실패합니다.lrACnAlrC>0
  • 그렇지 않으면 과 사이 에 의 요소를 정렬하여 중앙값을 찾으십시오.Alr

이것이 선형 시간으로 실행되고 높은 확률로 성공한다는 것을 알기는 어렵지 않습니다. (모든 나쁜 사건은 이항식의 기대치에서 크게 벗어난 것입니다.)

빠른 정렬 본 학생들에게 가르 칠 수있는 더 자연 같은 문제에 대한 또 다른 알고리즘은 하나가 여기에 설명입니다 : 무작위 선택

이 호출에 선형 예상 실행 시간이 있음을 쉽게 알 수 있습니다. "라운드"는 1 / 4-3 / 4 스플릿을 제공 할 때 끝나는 재귀 호출 시퀀스라고 가정합니다. 라운드는 최대 2입니다. (라운드의 첫 번째 드로우에서 좋은 스플릿을 얻을 확률은 1/2이고, 알고리즘이 설명 된대로 실제로 증가한 후에 라운드 길이는 기하 임의 변수에 의해 지배됩니다.)

이제 질문 :

무작위 선택이 선형 시간으로 높은 확률로 실행됨을 보여줄 수 있습니까?

우리는 라운드를 가지며, 각 라운드는 길이가 적어도 가 최대 인 확률을 가지 므로 합집합은 실행 시간이 임을 나타냅니다. 확률 .O(logn)k2k+1O(nloglogn)11/O(logn)

이것은 만족스럽지 않지만 실제로는 진실입니까?


질문이 어떤 알고리즘을 참조하는지 확인하십시오.
Raphael

당신은 당신의 노조 바운드를 올바르게 적용했는지 또는 더 좋고 더 만족스러운 바운드가 있는지 묻고 있습니까?
Joe

@ 조 후자. 요점은 라운드 길이가 형상에 의해 지배되는 것을 얻는 라운드입니다. 그런 다음 anaylisys는 알고리즘이 앞 또는 뒤인지 여부를 항상 잊어 버려 코에서 1 / 4-3 / 4 분할하여 기하 구조를 독립적으로 만듭니다. 나는 Yuval이 아래에 넣은이 "속임수"가 여전히 타이트한 지 묻습니다.
Louis

답변:


5

알고리즘이 선형 시간으로 높은 확률로 실행되는 것은 사실이 아닙니다. 첫 번째 라운드 만 고려하면, 실행 시간은 곱하기 랜덤 변수입니다. 하자 일 허용 실패 확률. 이후 의 실행 시간은 최소한이며 입니다.Θ(n)G(1/2)p(n)0Pr[G(1/2)log2p(n)1]=p(n)Ω(nlog2p(n)1)=ω(n)

(첫 번째 라운드의 길이가 실제로 가 아니기 때문에 일부 부정 행위가 있습니다 . 더 신중한 분석은이 답변을 검증하거나 검증하지 않을 수 있습니다.)G(1/2)

편집 : Grübel과 Rosler는 예상 된 비교 수를 으로 나눈 값 은 어떤 의미에서는 한계 분포 를 따르는 경향이 있음을 증명했습니다 . 예를 들어 Grübel의 논문 "Hoare 's selection algorithm : Markov chain approach"를 참조하십시오.n


여기에 나를 귀찮게하는 것이 있습니다. 위에서 언급 한 것처럼 라운드는 알고리즘의 "느린 다운"버전을 분석하여 진행하기에 충분한 피벗을 얻을 때까지 기다리는 방법입니다. 당신이 보여주는 것은 고정 에 대해 첫 번째 라운드에서 피벗 이상을 필요로 할 확률 이 입니다. 그러나 원칙적으로 긴 첫 번째 라운드는 빈 두 번째 라운드에 의해 상쇄 될 수 있는데, 결국 "비 느린"알고리즘은 항상 1 / 4-3 / 4 스플릿을 얻는 알고리즘을 따라 잡습니다. . C>0C>0
Louis

1
첫 번째 라운드가 길면 전체 실행 시간이 길다는 것은 사실이 아닙니다. 추가 라운드는 실행 시간을 줄일 수 없기 때문입니다. 요점은 임의의 에 대해, 첫 번째 라운드는 일정한 확률 적어도 시간이 걸린다는 것이다. CCnpC>0
Yuval Filmus

둥근 길이가 상한에 사용되는 지오메트리보다 훨씬 작지 않기 때문에 이제 더 행복 합니다. 이것이 G & R이 엄중하게 만들고있는 것 같아요. 좋은 대답입니다.
Louis
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.