1. Дерандомизация алгоритма Луби. Метод малых
вероятностных пространств
Н.Н. Кузюрин С.А. Фомин
10 октября 2008 г.
Параллельный детерминированный
алгоритм нахождения максимального по
включению независимого множества в
графе.
1 / 17
2. Максимальное по включению независимое множество
G = (V , E ) — неориентированный граф с n вершинами и m ребрами.
Подмножество вершин I ⊆ V называется независимым в G , если
никакое ребро из E не содержит обе своих конечных вершины в I .
Определение
Независимое множество I называется максимальным по
включению, если оно не содержится в качестве собственного
подмножества в другом независимом множестве в G .
2 / 17
3. Максимальное по включению независимое множество
G = (V , E ) — неориентированный граф с n вершинами и m ребрами.
Подмножество вершин I ⊆ V называется независимым в G , если
никакое ребро из E не содержит обе своих конечных вершины в I .
Определение
Независимое множество I называется максимальным по
включению, если оно не содержится в качестве собственного
подмножества в другом независимом множестве в G .
3 / 17
4. Идея параллельного алгоритма
Идея — на каждой итерации находится независимое множество S,
которое добавляется к уже построенному I , а S ∪ Γ(S) удаляется из
графа.
Чтобы число итераций было небольшим, независимое множество S
должно быть таким, чтобы S ∪ Γ(S) было большим.
Для реализации этой идеи мы выбираем большое случайное
множество вершин R ⊆ V . Маловероятно, что R будет независимым,
но, с другой стороны, имеется немного ребер, оба конца которых
принадлежат R.
Для получения независимого множества из R мы рассмотрим такие
ребра и удалим концевые вершины с меньшей степенью.
4 / 17
5. Параллельный алгоритм Parallel MIS:
Вход: Граф G = (V , E ).
Выход: Максимальное по включению множество I ⊆ V .
1. I := ∅.
2. while V = ∅ do
2.1. for all v ∈ V выполнить (параллельно)
if d(v ) = 0 then добавить v к I и удалить v из V
else пометить v с вероятностью 1/2d(v ).
2.2. for all (u, v ) ∈ E выполнить (параллельно)
if u и v обе помечены
then удалить пометку у вершины меньшей степени.
2.3. for all v ∈ V выполнить (параллельно)
if v помечена then добавить v к S.
2.4. I := I ∪ S.
2.5. удалить S ∪ Γ(S) из V и все инцидентные ребра из E .
end while.
5 / 17
6. Идея дерандомизации
Идея: вероятностный анализ работает аналогичным образом, даже
если пометки вершин делаются не полностью независимо, а попарно
независимо.
Независимость пометок использовалась только в леммe 1.
Справедлива следующая
Лемма
Если в алгоритме Parallel MIS случайные пометки вершин делаются
попарно независимо, то вероятность того, что хорошая вершина
принадлежит множеству S ∪ Γ(S), не меньше, чем 1/24.
Ключевое преимущество попарной независимости состоит в том, что
только O(log n) случайных бит достаточно для порождения всех точек
соответствующего вероятностного пространства.
6 / 17
7. Доказательство леммы
Была использована полная независимость пометок в нижней оценке
вероятности, что хорошая вершина становится помеченной:
Пусть Xi , 1 ≤ i ≤ n — {0, 1}–случайные величины и pi = P(Xi = 1).
Если Xi независимы в совокупности, то
n n
P Xi > 0 ≥1− (1 − pi ).
1 1
Мы заменим эту оценку соответствующей оценкой для попарно
независимых случайных величин.
Утверждение. Пусть Xi , 1 ≤ i ≤ n — {0, 1}–случайные величины
и pi = P(Xi = 1). Если Xi попарно независимы, то
n n
1 1
P Xi > 0 ≥ min , pi .
2 2
1 1
7 / 17
8. Доказательство леммы
Предположим, что pi ≤ 1/2.
Обозначим через Yi событие Xi = 1. Имеем по формуле
включений-исключений:
1 1
P(∪n Yi ) ≥
1 P(Yi ) − P(Yi ∧ Yj ) ≥ pi − pi pj =
2 2
i i,j i i,j
2
1 1 1
= pi − pi ≥ pi 1− pi ≥ pi .
2 2 2
i i i i i
Если i pi > 1/2, то ограничим индексы суммирования по
подмножеству S ⊆ [n], такому, что 1/2 ≤ i pi ≤ 1, и повторим то же
доказательство.
8 / 17
9. Доказательство леммы
Вершина v ∈ V называется хорошей, если она имеет не менее d(v )/3
соседних вершин степени не более d(v ).
Покажем, что если v — хорошая вершина, то вероятность того, что
найдется помеченная вершина из Γ(v ), не меньше 1/12.
Обозначим эту вероятность через P(Γ(v )marked ).
Обозначим Γ∗ (v ) = {w ∈ Γ(v )| d(w ) ≤ d(v )}. По определению
|Γ∗ (v )| ≥ 1 d(v ). Имеем
3
1 1 1
P(Γ(v )marked ) ≥ min{ , }≥
2 2 2d(w )
w ∈Γ(v )
1 1 1 1 1 1
≥ min{ , } ≥ min{ , }≥
2 2 2d(w ) 2 2 2d(v )
w ∈Γ∗ (v ) w ∈Γ∗ (v )
1 1 1 1 1 1 1 1
≥ min{ , d(v ) } ≥ min{ , } = .
2 2 3 2d(v ) 2 2 6 12
9 / 17
10. Построение независимых множеств
Используя лемму из анализа вероятностного алгоритма Луби
(В течение каждой итерации, если вершина помечена, то она
выбирается в S с вероятностью не менее 1/2) и учитывая тот факт,
что в ее доказательстве использовалась только попарная
независимость, получаем доказательство леммы
Лемма
На каждой итерации помеченная вершина выбирается в S
с вероятностью не менее 1/2.
10 / 17
11. Комбинируя две предыдущие леммы получаем
Лемма
Вероятность того, что хорошая вершина принадлежит множеству
S ∪ Γ(S) не меньше, чем 1/24.
11 / 17
12. Дерандомизация. Малые вероятностные пространства
Элементарным событием будет приписывание пометок вершинам
графа, задаваемое булевым вектором длины n. Размер построенного
пространства будет полиномиальным.
Идея дерандомизации: путем полного перебора точек из
построенного вероятностного пространства достаточно будет
вычислить в каждой точке подмножество вершин R, соответствующее
шагу 2.1 алгоритма Parallel MIS, затем для каждого ребра в R
выбросить концевую вершину меньшей степени (шаг 2.2 алгоритма),
подсчитать число NR ребер, смежных с оставшимся множеством
вершин.
Взять множество R, максимизирующее показатель NR . Оно обеспечит
требуемые оценки на число итераций детерминированного алгоритма.
12 / 17
13. Малые вероятностные пространства
Конструкция небольшого вероятностного пространства со свойством
попарной независимости соответствующих случайных величин.
Выберем наименьшее простое число p, такое, что cn ≤ p, где точное
значение константы c > 1 выберем далее. Для каждой вершины u
выберем целое au , такое, что au /p ≈ 1/2d(u) и интервал Au , |Au | = au
p
в Zp . Более точно, положим au = 2d(u) . Тогда
p
1 au 2d(u) +1 1 1
≤ ≤ = + ≤
2d(u) p p 2d(u) p
1 1 1 2 1 1 2
≤ + ≤ + · = 1+ .
2d(u) cn 2d(u) c 2d(u) 2d(u) c
13 / 17
14. Малые вероятностные пространства
Достаточно выбрать c = 10, чтобы для вероятности вершины u быть
помеченной на шаге 2.1 алгоритма Parallel MIS было выполнено
неравенство
1 au 6 1
≤ ≤ · .
2d(u) p 5 2d(u)
Покажите, что при указанном выборе вероятностей пометки вершин в
алгоритме Parallel MIS лемма 1 справедлива без изменений, в лемме 2
оцениваемая вероятность не меньше 2/5, в лемме 3 — соответственно
не менее (2/5) · (1 − e −1/6 ).
Покажите, что при указанном выборе вероятностей пометки вершин
анализ алгоритма Parallel MIS, проведенный для попарно независимых
величин, остается в силе с небольшим изменением констант.
В частности, лемма 1 справедлива без изменений, в лемме 2
оцениваемая вероятность не меньше 2/5, в лемме 3 — не
1
менее (2/5) · (1/12) = 30 .
14 / 17
15. Малые вероятностные пространства
Пусть X (u) — случайная величина, полученная путем равномерного
выбора x, y ∈ Zp следующим образом: X (u) = 1, если xu + y ∈ Au ,
и нулю в противном случае.
Это значит, что P(X (u) = 1) = au /p, поскольку
Px,y (X (u) = 1) = P(∃a ∈ Au : xu + y = a) =
1 au
= P(x = (a − y )u −1 ) = = .
p p
a∈Au a∈Au
Для доказательства попарной независимости достаточно показать, что
au av
P(X (u) = 1, X (v ) = 1) = P(X (u) = 1) P(X (v ) = 1) = .
p2
15 / 17
16. Малые вероятностные пространства
Имеем
P(X (u) = 1, X (v ) = 1) =
= P(∃a ∈ Au , b ∈ Av : xu + y = a, xv + y = b) =
= P(xu + y = a, xv + y = b) =
a∈Au , b∈Av
1 au av
= 2
= 2 .
p p
a∈Au , b∈Av
16 / 17