최적의 무작위 비교 정렬


12

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

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

k+2(n!−2k)n!, where k=⌊log2⁡n!⌋.

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


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

답변:


4

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

http://arxiv.org/abs/1307.3033

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


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