Вероятностные алгоритмы

advertisement
Вероятностные алгоритмы
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
Download