Нижня межа для знаходження kth найменшого елемента за допомогою аргументів противника


10

У багатьох текстах нижня межа знаходження го найменшого елемента виведена з використанням аргументів за допомогою медіанів. Як я можу знайти його за допомогою супротивного аргументу?k

У Вікіпедії сказано, що алгоритм турніру працює в , а буде дано , як нижня межа.n - k + n j = n + 2 - klgO(n+klogn)nk+j=n+2knlgj

Відповіді:


8

Я коротко викладу ескіз суперечливого аргументу.

Розглянемо свій алгоритм вибору, що грає проти опонента, якого ми будемо називати противником. Метою супротивника є надання вхідного сигналу для вашого алгоритму, який максимізує кількість операцій порівняння, виконаних вашим алгоритмом. Дійсно, ваш алгоритм можна розглядати як дерево порівняння, в якому шлях відповідає частковому порядку. Коли алгоритм запитує противника про пару елементів, супротивник повертає або або . Відповіді противника ніколи не можуть суперечити попереднім результатам.X(x,y)x<yy<x

Припустимо, що -й найбільший елемент : враховуючи частковий порядок, пов'язаний з будь-яким листом дерева порівняння, то повинен бути порівнянним з будь-яким іншим елементом, щоб алгоритм був правильним, щоб алгоритм повинно було зробити хоча б одне порівняння , результат якого або або . Назвіть таке порівняння вирішальним для елемента . Очевидно, що противник хоче максимально збільшити кількість неважливих порівнянь, зроблених вашим алгоритмом.kxx(y,z) yxy<zxxz<yyy

Нехай - сукупність найбільших елементів; ваш алгоритм повинен правильно ідентифікувати всі елементи в а також найбільший елемент у , тобто . Зауважте, що кожен елемент у втратив щонайменше одне вирішальне порівняння. Тепер у противника є стратегія, яка змушує кожен з елементів у виграти принаймні порівняння, жодне з яка має вирішальне значення для . Додавання решти ключових порівнянь дляLk1LXLxXLk1Llgnk1XLnkXLви отримуєте нижню межу. Детальніше, будь ласка, прочитайте наступне, чудово, зазначає Джефф Еріксон .


@JeffE Мене бентежить визначення crucial comparison for $y$: порівняння де або або і - ціль елемент. Що робити, якщо ми не знаємо співвідношення і коли проводиться ці порівняння? У нас тут оракул ? Або ми всезнаємо повну інформацію (навіть майбутню інформацію в листі)? y < z x x z < y x z x y:zy<zxxz<yxzx
hengxin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.