1. Вероятностное округление для «MAX-SAT»
Н.Н. Кузюрин С.А. Фомин
10 октября 2008 г.
Вероятностное округление для
MAX-SAT . Вероятностные алгоритмы,
основанные на округлении
нецелочисленного решения.
1 / 16
2. Задача MAX-SAT
Задача
Максимальная выполнимость/MAX-SAT.
Даны m скобок конъюнктивной нормальной формы (КНФ) с n
переменными. Найти значения переменных, максимизирующие число
выполненных скобок.
Определение
Литерал — каждое вхождение переменной xi (или ее отрицания)
в скобку. Например, для (x1 ∨ x2 ) ∧ (x1 ∨ x3 ) литералами будут
x1 , x2 , x1 , x3 .
2 / 16
3. Определение
Вероятностный приближенный алгоритм A гарантирует точность C ,
если для всех входов I
E mA (I )
1≥ ≥ C > 0,
m0 (I )
где m0 (I ) — оптимум, mA (I ) — значение, найденное алгоритмом, и
решается задача максимизации.
3 / 16
4. Теорема
Пусть xi = {0, 1} равновероятно: p = 1 . Для любого подмножества
2
скобок S = {C1 , . . . , Cm }, |S| = m
m
m
E Ci (x) ≥ .
2
i=1
Доказательство.
Пусть |C | = k, тогда
1 1
P(C = 0) = 2−k ⇒ P(C = 1) = 1 − 2−k ≥ ⇒ E Ci (x) ≥ .
2 2
Откуда
m
m
E Ci (x) ≥ .
2
i=1
4 / 16
5. Задача
MAX-SAT(IP)
Cj : скобка.
zj = {0, 1} : значение скобки.
Cj+ : i : xi ∈ Cj (положительные литералы в скобке).
Cj− : i : xi ∈ Cj .
m
zj → max (1)
j=1
xi + (1 − xi ) ≥ zj , ∀j.
i∈Cj+ i∈Cj−
xi , zj ∈ {0, 1}, ∀i, j
5 / 16
6. Пусть xi , zj — решение линейной релаксации.
^ ^
m
zj → max (2)
j=1
xi + (1 − xi ) ≥ zj , ∀j.
i∈Cj+ i∈Cj−
xi , zj ∈ [0, 1], ∀i, j
m
j=1 zj
^ — верхняя оценка оптимума (2).
6 / 16
7. Вход: Формулировка задачи «MAX-SAT» в виде (1)
x ← решения линейной релаксации (2)
^
for all i ∈ {1..m} do
xi ← 0
if random(0..1) ≤ xi then
^
xi ← 1 {xi ← 1 с вероятностью xi }
^
end if
end for
Выход: (x1 , . . . , xm ).
Теорема
Алгоритм обеспечивает приближенное решение (1), со средней
1
точностью (1 − e ).
7 / 16
8. Лемма
Пусть |Cj | = k, βk = 1 − (1 − 1/k)k .
P(Cj = 1) ≥ βk zj .
^
Доказательство.
Пусть Cj = x1 ∨ . . . ∨ xk . Из (2) следует:
x1 + . . . + xk ≥ zj .
^ ^ ^
k k
P(Cj = 0) = (1 − xi ) ⇒ P(Cj = 1) = 1 −
^ (1 − xi ).
^
i=1 i=1
P(Cj = 1) минимально если ∀i xi = zj /k.
^ ^
f (z) = 1 − (1 − z/k)k — вогнутая функция:
f (0) = 0 = βk z
⇒ f (z) ≥ βk z 0 ≤ z ≤ 1 ∀k ∈ N.
f (1) = 1 − (1 − 1/k)k = βk z
8 / 16
10. Теорема
Алгоритм «Линейная релаксация и вероятностное округление»
обеспечивает приближенное решение (1), со средней точностью
1
(1 − e ).
Доказательство.
βk = 1 − (1 − 1/k)k ≥ 1 − 1/e ∀k ∈ N.
EmA (I ) ≥ βk zj ≥ (1 − 1/e)
^ zj .
^
k Cj ∈S k j
m0 (I ) ≤ zj .
^
j
1
1− ≈ 0.632120559
e
10 / 16
11. Теорема
Алгоритм «Линейная релаксация и вероятностное округление»
обеспечивает приближенное решение (1), со средней точностью
1
(1 − e ).
Доказательство.
βk = 1 − (1 − 1/k)k ≥ 1 − 1/e ∀k ∈ N.
EmA (I ) ≥ βk zj ≥ (1 − 1/e)
^ zj .
^
k Cj ∈S k j
m0 (I ) ≤ zj .
^
j
1
1− ≈ 0.632120559
e
11 / 16
12. 3
Алгоритм с вероятностной точностью 4
1 n1 — алгоритм «округление каждой переменной независимо в 0
или 1 с вероятностью 1/2»;
2 n2 — алгоритм «Линейная релаксация и вероятностное
округление»;
3 выбираем max(n1 , n2 ).
Теорема
3
E max{n1 , n2 } ≥ zj .
^
4
j
12 / 16
13. Доказательство.
S k : множество скобок, содержащих ровно k литералов. Имеем
En1 = (1 − 2−k ) ≥ (1 − 2−k )^j
z
k Cj ∈S k k Cj ∈S k
En2 ≥ βk zj .
^
k Cj ∈S k
n1 + n2 (1 − 2−k ) + βk
E max(n1 , n2 ) ≥ E ≥ zj .
^
2 2
k Cj ∈S k
k
1 3
(1 − 2−k ) + βk = 2 − 2−k − 1 − > ∀k ∈ N.
k 2
(1 − 2−k ) + βk 3 3
E max(n1 , n2 ) ≥ zj ≥
^ zj =
^ zj .
^
2 4 4
k Cj ∈S k j
13 / 16
14. Упражнение
Рассмотрим задачу «MAX-3ESAT», это «MAX-SAT», только в КНФ
в каждой скобке ровно три литерала.
Предложите вероятностный алгоритм с точностью 7 .
8
14 / 16