Резкая концентрация для выбора с помощью случайного разделения?

11

Обычный простой алгоритм для нахождения медианного элемента в массиве из чисел:нAn

  • Пример элементов из с заменой на Бn3/4AB
  • Сортируйте и найдите элементы ранга и из| Б | ± B lrB|B|±nlrB
  • Убедитесь , что и находятся на противоположных сторонах средней части и что существует не более элементами в А между л и г для некоторых соответствующих постоянная С > 0 . Сбой, если этого не произойдет.r A C lrACnAlrC>0
  • В противном случае найдите медиану, отсортировав элементы A между l и r

Нетрудно видеть, что это происходит за линейное время и что это происходит с большой вероятностью. (Все плохие события - большие отклонения от ожидания бинома.)

Альтернативный алгоритм для той же задачи, который более естественно преподавать учащимся, которые видели быструю сортировку, описан здесь: Рандомизированный отбор

Также легко увидеть, что у этого есть линейное ожидаемое время выполнения: скажем, что «раунд» - это последовательность рекурсивных вызовов, которая заканчивается, когда кто-то дает разбиение 1 / 4-3 / 4, а затем наблюдаем, что ожидаемая длина раунд не более 2. (В первом тираже раунда вероятность получения хорошего разделения равна 1/2, а затем после фактического увеличения, как было описано в алгоритме, поэтому в длине раунда преобладает геометрическая случайная величина.)

Итак, теперь вопрос:

Можно ли показать, что рандомизированный отбор проходит в линейное время с высокой вероятностью?

У нас есть раундов, и каждый раунд имеет длину не менее k с вероятностью не более 2 - k + 1 , поэтому при объединении получается, что время выполнения равно O ( n log log n ) с вероятностью 1 - 1 / O ( журнал N ) .O(logn)k2k+1O(nloglogn)11/O(logn)

Это отчасти неудовлетворительно, но на самом ли деле это правда?

Луис
источник
Пожалуйста, уточните, к какому алгоритму относятся ваши вопросы.
Рафаэль
Вы спрашиваете, правильно ли вы применили свою профсоюзную границу или есть ли лучшая, более удовлетворительная граница?
Джо
@Joe Последний. Дело в том, что раунды являются артефактом, чтобы получить, что длина раунда преобладает над геометрической. Затем анализатор «забывает», находится ли алгоритм впереди или позади алгоритма, который всегда получает 1 / 4-3 / 4 раскол на носу, чтобы сделать геометрию независимой. Я спрашиваю, является ли этот "обман", как Ювал выразил это, все еще жестким.
Луи

Ответы:

5

Это неправда, что алгоритм работает в линейное время с высокой вероятностью. Принимая во внимание только первый раунд, время работы составляет не менее раз в G ( 1 / 2 ) случайная величина. Пусть p ( n ) 0 - допустимая вероятность отказа. Так как Pr [ G ( 1 / 2 ) войти 2 р ( п ) - 1 ] = р ( п ) , время работы, по крайней мереΘ(n)G(1/2)p(n)0Pr[G(1/2)log2p(n)1]=p(n)Ω(nlog2p(n)1)=ω(n)

G(1/2)

n

Юваль Фильмус
источник
C>0C>0
1
CCnpC>0
Я счастливее, так как круглая длина не намного меньше , чем геометрические используются для верхней границы. Я думаю , это то , что G & R делает rigerous. Хороший ответ.
Луис