적대적 인수를 사용하여 k 번째 가장 작은 요소를 찾기위한 하한


10

많은 텍스트에서 번째로 작은 요소 를 찾기위한 하한값 은 중간 값을 사용하는 인수를 사용하여 파생됩니다. 대적 논증을 사용하여 어떻게 찾을 수 있습니까?케이

Wikipedia에 따르면 토너먼트 알고리즘은 로 실행되며 n k + n j = n + 2 klgO(n+klogn) 하한 으로주어진다.케이+제이=+2케이lg제이

답변:


8

나는 적대적인 논쟁의 스케치를 간략하게 설명 할 것이다.

우리가 적이라고 부르는 상대방에 대해 선택 알고리즘을 재생하는 것을 고려하십시오. 적의 목표는 알고리즘에 의해 수행되는 비교 연산의 수를 최대화하는 알고리즘에 대한 입력 엑스 를 제공하는 것입니다. 실제로 알고리즘은 경로가 부분 순서에 해당하는 비교 트리로 볼 수 있습니다. 알고리즘이 적의 요소 쌍 (엑스,와이) 에 대해 적에게 물을 때, 적은 엑스<와이 또는 와이<엑스 반환합니다 . 적의 대답은 이전 결과와 모순 될 수 없습니다.

가정 그 케이 번째로 큰 원소 엑스 : 비교 트리의 모든 리프에 관련된 부분 순서를 고려하면, 다음 x 알고리즘은 알고리즘이 있어야 그래서, 정확하기 위해서 다른 모든 요소와 비교 가능해야 만들어진 적어도 하나 개의 비교 (y,z) yx 그 결과 중 하나 인 y<zx 또는 xz<y . 요소 y에 중요한 비교를 호출하십시오.y. 분명히, 대적은 알고리즘에 의해 수행되는 비 결정적 비교의 수를 최대화하기를 원합니다.

하자 L 들의 집합 k1 큰 요소; 알고리즘은 L 모든 요소와 XL 의 가장 큰 요소 , 즉 x 를 정확하게 식별해야합니다 . XL 각 원소가 하나 이상의 중요한 비교를 잃어버린 것을 관찰하십시오 . 이제 대적은 L의k1 요소가 적어도 lg n 을 이길 수 있는 전략을 가지고 있습니다.Llgnk1비교,XL중요한 것은 없습니다. XL에대한나머지nk결정적인 비교를추가하면하한을 얻습니다. 자세한 내용은 다음의 Jeff Erikson메모를 참조하십시오.XL


@JeffE 나는 다음의 정의에 대해 혼란스러워한다 crucial comparison for $y$: 비교 여기서 y < z x 또는 x z < y 이고 x 가 대상 요소이다. 우리는 사이의 관계 모르는 경우 ZX * 이러한 비교가 만들어를? 여기 에 오라클 이 있습니까? 아니면 완전한 정보를 가지고 전지전능 한가? 와이:와이<엑스엑스<와이엑스엑스
hengxin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.