Вероятностные алгоритмы 27 мая 2014 г. Вероятностный алгоритм — алгоритм, использующий результат случайного процесса. • Выбор действия подбрасыванием монетки • Вычисление лучшего варианта может потребовать слишком много ресурсов. • Оценка качества варианта может быть предвзятой. 1 Минимальный разрез Минимальным разрезом неориентированного графа (V, E) называется такое разбиение (V1 , V2 ) множества вершин V на две непустые части, при котором число ребер, связывающих вершины из разных частей, минимально. Это число называется размером разреза. Рассмотрим такой алгоритм поиска минимального разреза: while |V | > 2 do choose (v, w) ∈ E V = (V \ {v, w}) ∪ {vw} E = (E ∪ {(vw, u) | (v, u) ∈ E}) E = (E ∪ {(vw, u) | (w, u) ∈ E}) E = E ∩ (V × V ) return V E — мультимножество ребер. Пусть (A, B) — минимальный разрез размера k в графе с n вершинами и m ребрами. С какой вероятностью алгоритм найдет (A, B)? 1 Вероятность сжатия ребра из (A, B) на первой итерации — k/m. Так как степень каждой вершины ≥ k, а Σv∈V degree(v) = 2m, получаем 2m ≥ kn. Следовательно, эта вероятность k/m ≤ 2/n. Если на первой итерации все ребра удалось сохранить, то вероятность потери одного ребра на второй итерации ≤ 2/(n − 1). Таким образом, вероятность сохранения всех ребер после i + 1-ой итерации (i ≥ 0) n−2−i 2 = . ≥1− n−i n−i Вероятность того, что алгоритм выдаст (A, B) ≥ n−2 n−2−1 n − 2 − (n − 3) 2 · · ... · = . n n−1 n − (n − 3) n(n − 1) Вероятность выдачи каждого минимального разреза ≥ p = 2/(n(n − 1)). Запустив алгоритм 1/p = n(n−1)/2 = O(n2 ) раз и выбрав наилучший результат, мы найдем минимальный разрез с вероятностью ≥ 1 − (1 − p)1/p ≥ 1 − 1/e ≈ 0.63, т.к. 1 − x ≤ e−x . Запустив же алгоритм (1/p) ln n = O(n2 log n) раз и выбрав наилучший результат, мы найдем минимальный разрез с вероятностью ≥ 1 − (1 − p)(1/p) ln n ≥ 1 − e− ln n = 1 − 1/n. Увеличив число запусков алгоритма до (1/p)n, получим экспоненциально малую вероятность ошибки: ≤ (1 − p)n/p ≤ e−n . 2 Вероятностная машина Тьюринга Определение 1 (Вероятностная машина Тьюринга). • Вероятностная машина Тьюринга — недетерминированная машина Тьюринга, где каждый недетерминированный шаг подразумевает выбор из двух вариантов, который производится случайным образом — «подбрасыванием монетки». 2 • Вероятность ветви вычислений b: P r[b] = 2−k где k — число шагов с подбрасыванием монетки на ветви b. • Вероятность того, что M допускает w: X P r[M допускает w] = P r[b]. b — допускающая ветвь Теорема 1. Язык A принадлежит классу NP тогда и только тогда, когда существует вероятностная машина Тьюринга M с полиномиальным временем работы, такая что для любой строки w имеет место: 1. w ∈ A ⇒ P r[M допускает w] > 0; 2. w 6∈ A ⇒ P r[M допускает w] = 0. Определение 2. Вероятностная машина Тьюринга M распознает язык A с вероятностью ошибки , если 1. w ∈ A ⇒ P r[M допускает w] ≥ 1 − 2. w 6∈ A ⇒ P r[M отвергает w] ≥ 1 − P r[M отвергает w] = 1 − P r[M допускает w] Лемма 1. Пусть • 0 < < 12 ; • M1 — вероятностная машина Тьюринга с полиномиальным временем работы и с вероятностью ошибки ; • poly(n) — многочлен. ⇒ Существует вероятностная машина Тьюринга M2 , эквивалентная M1 , с полиномиальным временем работы и с вероятностью ошибки 2−poly(n) , где n — размер входа. Доказательство. M2 = На входе x: 3 1. Вычислить число k (см. дальше). 2. Запустить 2k раз машину M1 на x. 3. Если в большинстве случаев M1 допустит x, то M2 допускает x, иначе M2 отвергает x. • S — последовательность результатов на шаге 2, содержащая c правильных ответов и w — неправильных. • Если c ≤ w, то S — плохая последовательность. • Пусть x — вероятность ошибки M1 на слове x. • Если S — плохая последовательность, то вероятность получения именно этой последовательности c w c k k pS = w x (1 − x ) ≤ (1 − ) ≤ (1 − ) . 1 ⇐ x ≤ < , c ≤ w 2 • Вероятность ошибки M2 на входе x уменьшается экспоненциально с увеличением k: X pS ≤ 22k k (1 − )k = (4(1 − ))k . плохая S • Чтобы вероятность ошибки была не более 2−t для t ≥ 1, выбираем k≥− 3 t . log2 (4(1 − )) Класс BPP Определение 3 (BPP). BPP — класс языков, распознаваемых с вероятностью ошибки 13 вероятностными машинами Тьюринга с полиномиальным временем работы. 4