최적의 무작위 비교 정렬


12

따라서 (결정 론적) 비교 정렬 알고리즘에 의한 최악의 비교 수에 대한 비교 트리 하한값 을 알고 있습니다. 무작위 비교 정렬에는 적용되지 않습니다 (최악의 경우 입력에 대한 예상 비교를 측정하는 경우). 예를 들어, 의 경우 결정 론적 하한은 5 개의 비교이지만 모든 입력에 대해 비교를 갖는 무작위 알고리즘 (입력을 임의로 치환 한 다음 병합 정렬 적용)이 더 좋습니다. .log2n!n=4423

천정이없는 경계는 정보 이론적 논거에 의해 여전히 무작위 사례에 적용되며 로 약간 강화 될 수 있습니다 이것은 입력을 무작위로 바꾸고 (결정적) 의사 결정 트리를 적용하는 최적의 알고리즘이 있으며, 최상의 의사 결정 트리 (있는 경우)는 모든 잎이 두 개의 연속 레벨에있는 것입니다.log2n!

k+2(n!2k)n!, where k=log2n!.

이 문제의 상한에 대해 알려진 것이 있으면 어떻게합니까? 모든 에 대해, 무작위 화 된 비교 횟수 (예상, 최악의 경우 입력, 최상의 알고리즘에 대한 예상)는 항상 최고의 결정 론적 알고리즘보다 엄격하게 우수합니다 (본질적으로 는 절대 2의 거듭 제곱이 아니기 때문에 ) . 그러나 얼마나 더 나은가?n>2n!


예상 비교 횟수를 갖는 무작위 알고리즘이 있습니다 . 여기에 내 대답을 참조 하십시오lg(n!)+o(n)
Dmytro Taranovsky

답변:


4

귀하의 질문은 "알려진 것은 무엇입니까?"입니다. 여기 뭔가가 있습니다 :

http://arxiv.org/abs/1307.3033

이것은 포드-존슨 알고리즘의 평균 사례 분석을 제공합니다. 예상되는 비교 횟수는놀랍게도 작은 상수 (약 0.05)의 경우 .logn!+cnc


Pat :이 분석이 왜 유용한 지 설명해 주시겠습니까? 원래 분석에 따르면 최악의 비교 횟수는 입니다. 이것은 예상되는 비교 수가 임을 보여줍니다 . 혼란스러워? 최악의 경우 한계가 예상 범위보다 나은 것 같습니다. 그러나 저자들은 최악의 경우를 언급 한 다음 평균적인 경우가 더 엄격한 상수를 가지고 있음을 증명하기 위해 노력합니다. 그들이 뭔가 잘못 했습니까? nlogn1.415nnlogn1.399n
David Eppstein

나는 전문가가 아니며, 이것에 대해 내가 아는 유일한 이유는 John Iacono입니다. 하지만 n이 2의 거듭 제곱 (4/3 배)에 얼마나 가까운 지에 따른 변동과 관련이 있다고 생각합니다. 여기 71 페이지의 분석을 보면 link.springer.com/content/pdf /10.1007%2FBF01934989.pdf 에서 -1.415n 범위는 정수 k에 대해 n = floor ((4/3) 2 ^ k) 인 경우에만 유지되는 것으로 보입니다. 아마 Knuth에 묶인 -1.329n이 모든 n에 대해 가장 좋은 것일까 요?
Pat Morin

분명히 변동이 있지만 (4/3) 2 ^ k가 최악의 경우라고 생각했으며 다른 경우에는 더 좋았습니다.
David Eppstein
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.