중앙값을 계산하기위한 정확한 비교 횟수


25

크 누스의의 볼륨 III 컴퓨터 프로그래밍의 예술 (3.2 절 제 5 장)을 나열하는 다음 표 포함 정확한 비교의 최소 번호가 선택해야 규모의 정렬되지 않은 세트에서 일 작은 요소 모두를 위해, . 이 표는 공지 된 폐쇄 형태의 표현과 함께 과 나타내고, 대부분 이 기술 분야의 상태 1976 등을 .n 1 t n 10 V 1 ( n ) = n 1 V 2 ( n ) = n 2 + n / 2 tn1tn10V1(n)=n1V2(n)=n2+n/2

Knuth III의 표 : 5.3.2

지난 36 년 동안 의 정확한 값이 더 계산 되었습니까? 특히 중간 값을 계산하는 데 필요한 최소 비교 수인 정확한 값에 관심이 있습니다.Vt(n)M(n)=Vn/2(n)


MarkusBläser 지적 @ 크 누스의 테이블이 이미 빌 Gasarch, 웨인 켈리, 빌 퓨에서 최근의 결과를 통합하는 것으로 ( 작은 전을위한 N의 가장 큰 i 번째 찾기, n은 . SIGACT 뉴스 27 (2) : 88-96, 1996 .)


2
이 주제에 대한 가장 유명한 논문은 Pratt and Yao (1976)가이 문제에 대한 하한을 증명할 수있는 (적대적인) 기법을 최초로 발견 한 것으로 알려져 있습니다. 주제에 관한 최근 논문을 찾으 려면이 논문에 인용 된 내용을 따르십시오 . 가장 최근의 논문은 Dor and Zwick의 논문이지만 Paterson의 1996 년 설문 조사도 있습니다 (정확한 결과와 관련이 있는지는 보지 않았지만).
Jérémie

1
Nitpicking : 질문의 마지막 문장에서 아마도 바닥 대신 천장을 의미했을 것입니다.
이토 쓰요시

6
제프, 왜 정답에 관심이 있는지 궁금합니다.
찬드라 체 쿠리

5
Kenneth Oksanen은 계산을위한 효율적인 코드를 작성했습니다 . 불행히도, 2 년 전 내 학생 중 한 명이 그에게 이메일을 보내고 그로부터 코드를 얻었습니다. sciencedirect.com/science/article/pii/S1571065306001582 만이 있습니다 . 새로운 가치를 얻을 수 있는지 기억이 나지 않습니다. Vi(n)
Markus Bläser

5
@ ChandraChekuri : 잠재적 인 알고리즘 숙제 문제로 Blum-Floyd-Pratt-Rivest-Tarjan 선형 시간 선택 알고리즘의 변형을 가지고 놀고 있습니다. 최소 비교 알고리즘을 사용하여 각 블록의 중앙값을 찾으면 어떤 블록 크기가 가장 큰 상수를 제공합니까? 9가 7보다 낫다. 5가 5보다 낫다. 11 은요?
Jeffε

답변:



3

이 정보가 당신에게 도움이 될지 궁금합니다. 불행히도 그것은이 게시물의 질문에 대한 추가 정보를 제공하지 않지만 이것이 무엇인지에 대한 귀하의 의견에 대한 답변입니다 (QuickSelect의 변형 분석).

또는 의 예상 최소 비교 횟수는 계산하기가 훨씬 쉽습니다 (모든 순열에 대해 균일하게 ), v(n,t)vt(n)

vt(n)=n+min(t,nt)+l.o.t..

이 결과는 자주 사용되지 않으며 특히 Martínez, Panario 및 Viola의 "QuickSelect에 대한 적응 샘플링" 알고리즘의 기반이됩니다 . 이 논문의 시작점은 QuickSelect 3의 중간 값입니다. 그리고 우리가 찾는 요소의 상대적 순위가 n / 2보다 훨씬 낮거나 n / 2보다 훨씬 높은 경우, 중앙값을 체계적으로 선택하는 것이 적절합니까? ?

즉, 요소 목록에서 번째 요소를 찾고 요소 클러스터에서 피벗을 선택 한다고 가정합니다 . 대신 중수 (복용 )에는 걸릴 여기서 . 그들은이 알고리즘이 의 올바른 선택이 3 개의 중간 변형보다 실질적으로 더 효율적일 수 있음을 보여준다.knmm/2αmα=k/nm

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.