Предположим, что рандомизированный алгоритм использует случайных битов. Наименьшая вероятность ошибки, которую можно ожидать (не имея детерминированного алгоритма с ошибкой 0), составляет 2 - Ω ( r ) . Какие рандомизированные алгоритмы достигают такой минимальной вероятности ошибки?
Несколько примеров, которые приходят на ум:
- Алгоритмы выборки, например, когда нужно оценить размер набора, для которого можно проверить членство. Если каждый случайным образом выбирает элементы для проверки, граница Черноффа гарантирует экспоненциально малую вероятность ошибки.
- Алгоритм Каргера-Клейна-Тарьяна для вычисления минимального остовного дерева. Алгоритм выбирает каждое ребро с вероятностью 1/2 и рекурсивно находит MST в выборке. Можно использовать Черноффа, чтобы доказать, что экспоненциально маловероятно, что будет 2n + 0,1 м ребер, которые лучше, чем дерево (т. Е. Кто-то предпочел бы взять их за один из ребер дерева).
Можете ли вы вспомнить другие примеры?
После ответа Андраса ниже: Действительно, каждый алгоритм за полиномиальное время может быть преобразован в более медленный алгоритм за полиномиальное время с экспоненциально малой вероятностью ошибки. Я сосредоточен на алгоритмах, которые максимально эффективны. В частности, для двух примеров, которые я привел, существуют детерминированные алгоритмы полиномиального времени, которые решают проблемы. Интерес к рандомизированным алгоритмам связан с их эффективностью.
источник
Ответы:
Импальяццо и Цукерман доказали (FOCS'89, см. Здесь ), что если алгоритм BPP использует случайных битов для достижения вероятности правильности не менее 2/3, то, применяя случайные обходы на графах расширителей, это можно улучшить до вероятности правильности из 1 - 2 - к , используя O ( гр 1 - 2- к случайные биты. (Примечание:хотя авторы используют конкретную константу 2/3 в аннотации, ее можно заменить любой другой константой, большей 1/2).O ( r + k )
Если мы возьмем , то это означает , что любой алгоритм , который достигает БПП вероятность ошибки постоянной < 1 / 2 , с использованиемк = г < 1 / 2 случайных бит, может быть (нетривиально) улучшеночтобы иметь вероятность ошибки 2 - Ом ( г ) . Таким образом, (если я что-то не так понял) вероятность ошибки ≤ 2 - Ω ( r ) достижима длякаждойпроблемы в BPP.р 2- Ω ( r ) ≤ 2- Ω ( r )
источник
Я не уверен, что это то, что вы ищете, но это связано:
Предположим, я хочу найти случайное битное простое число. Обычный алгоритм состоит в том, чтобы выбрать случайное (нечетное) k- битное целое число и выполнить тест примитивности Миллера-Рабина для t раундов на нем и повторять до тех пор, пока не будет найдено вероятное простое число. Какова вероятность того, что эта процедура возвращает составное число? Назовите эту вероятность p k ,К К T .пк , т
Стандартный анализ теста первичности Миллера-Рабина показывает, что раундов дает вероятность сбоя не более 4 - t . Это, вместе с теоремой о простых числах, влечет p k , t ≤ O ( k ⋅ 4 - tT 4- т
Однако мы выполняем тест Миллера-Рабина на случайных входах, поэтому мы можем использовать гарантию ошибки среднего случая. Мы получаем намного лучшую оценку. В частности, для , p k , 1 ≤ 2 -т = 1
См. Erdös and Pomerance (1986) , Kim and Pomerance (1989) и Dåmgard, Landrock and Pomerance (1993) для получения более подробной информации.
Это не проблема , решение и количество хаотичности используетсяO ( к2) O ( k )
источник