dnf counting
Post on 27-Jun-2015
258 Views
Preview:
TRANSCRIPT
Подсчет числа выполняющих наборов для ДНФ
Н.Н. Кузюрин С.А. Фомин
10 октября 2008 г.
DNF = (x2 · x4 · x1) ∨ (x3 · x2) ∨ (x1 · x3) ∨ (x1 · x2 · x4)
x1 x2 x3 x4 C1 C2 C3 C4 ДНФ0 0 0 0 · · · · ·1 0 0 0 · � 2 · 10 1 0 0 · · · · ·1 1 0 0 � · · · 10 0 1 0 · · · · ·1 0 1 0 · � 2 · 10 1 1 0 · · · · ·1 1 1 0 · · · � 10 0 0 1 · · · · ·1 0 0 1 · � 2 · 10 1 0 1 · · · · ·1 1 0 1 � · · · 10 0 1 1 · · · · ·1 0 1 1 · � 2 · 10 1 1 1 · · · · ·1 1 1 1 · · · � 1
Полиномиальнаярандомизированнаяаппроксимационная схема подсчетачисла выполняющих наборов.
1 / 15
ОпределениеПолиномиальной рандомизированной аппроксимационнойсхемой (PRAS) для перечислительной задачи Z называетсявероятностный алгоритм A, который, получая вход I и вещественноеε > 0, за время, полиномиальное от n = |I |, выдает в качестве выходаA(I ), такое, что
P[(1− ε)#(I ) ≤ A(I ) ≤ (1 + ε)#(I )] ≥ 3
4,
где #(I ) обозначает число различных решений для входа I задачи Z
2 / 15
Определение
Полностью полиномиальной рандомизированнойаппроксимационной схемой (FPRAS) называется полиномиальнаярандомизированная аппроксимационная схема, время работы которойограничено полиномом от n и 1/ε.
Определение
Полностью полиномиальной рандомизированнойаппроксимационной схемой с параметрами (ε, δ) (или кратко(ε, δ)-FPRAS) для перечислительной задачи Z называетсяполностью полиномиальная рандомизированная аппроксимационнаясхема, которая на каждом входе I вычисляет ε-аппроксимацию для#(I ) с вероятностью не менее 1− δ за время, полиномиальное от n,1/ε и log 1/δ.
3 / 15
Задача
f (x1, . . . , xn) = C1 ∨ . . . ∨ Cm — булева формула в дизъюнктивнойнормальной форме (ДНФ), где каждая скобка Ci есть конъюнкцияL1 ∧ . . . ∧ Lki
ki литералов (литерал есть либо переменная, либо ееотрицание).Набор значений переменных a = (a1, . . . , an) называетсявыполняющим для f , если f (a1, . . . , an) = 1.Найти число выполняющих наборов для данной ДНФ.
4 / 15
Стандартный метод Монте-Карло
G : множество выполняющих наборов.V : множество всех двоичных наборов длины n
1 Проведем N независимых испытаний:I выбирается случайно v ∈ V ;I yi = f (vi ).
2 Рассмотрим сумму независимых случайных величин
Y =N∑
i=1
yi
Аппроксимация |G |:
G̃ =Y
N|V |
5 / 15
Монте-Карло — не (ε, δ)-FPRAS
p = P{yi = 1} = |G |/|V |
Лемма
Пусть x1, . . . , xn — независимые случайные величины:
P{xi = 1} = p, P{xi = 0} = 1− p
Тогда для X =∑n
i=1 xi и EX = np и ∀δ 0 < δ < 1, выполнено:
P{|X − EX | > δ EX} ≤ 2 exp{−(δ2/3)EX}.
6 / 15
Монте-Карло: Сколько испытаний сделать?Оценим вероятность того, что аппроксимация хорошая:
P{(1− ε)|G | ≤ G̃ ≤ (1 + ε)|G |} =
= P{(1− ε)N|G ||V |
≤ Y ≤ (1 + ε)N|G ||V |} =
= P{(1− ε)Np ≤ Y ≤ (1 + ε)Np}.Применяя неравенства из леммы, получаем:
P{(1− ε)|G | ≤ G̃ ≤ (1 + ε)|G |} > 1− 2 exp{−(ε2/3)Np}.
Потребуем, чтобы эта оценка была не меньше 1− δ:
2 exp{−(ε2/3)Np} < δ,
2
δ< exp{ε2
/3Np}
N >1
p
3
ε2ln
2
δ.
7 / 15
Монте-Карло — не (ε, δ)-FPRAS
Почему оценка не столь хороша?
N >1
p
3
ε2ln
2
δ.
p может быть экспоненциально мало (например 1 лишь в одной точке).
8 / 15
Обобщение
Пусть V — конечное множество, H1, . . . ,Hm ⊆ V :
1 ∀i |Hi | вычислимо за полиномиальное время.2 ∀i возможно выбрать случайно и равномерно элемент из Hi .
3 ∀v ∈ V за полиномиальное время проверяемо «v?∈ Hi».
Оценить |H|, где H = H1 ∪ . . . ∪ Hm.
Связь с исходной задачей: Hi = {v ∈ V : Ci (v) = 1},
(1): ri — число литералов в Ci :{
Ci ≡ 0⇒ |Hi | = 0Ci 6≡ 0⇒ |Hi | = 2n−ri
(2): зафиксировать переменные из Ci , а остальные — случайно.(3): вычислить Ci (v).
9 / 15
Модификация Монте-Карло: Идея
Универсум U образуется из точек H, причем точка беретсяс кратностью, равной числу множеств Hi , которым она принадлежит.Тогда
|U| =m∑
i=1
|Hi | ≥ |H| ≥1
m
m∑i=1
|Hi | =1
m|U|
К U можно применять стандартный алгоритм Монте-Карло.
10 / 15
DNF = (x2 · x4 · x1)∨ (x3 · x2)∨ (x1 · x3)∨ (x1 · x2 · x4)
x1 x2 x3 x4 C1 C2 C3 C4 ДНФ0 0 0 0 · · · · ·1 0 0 0 · � 2 · 10 1 0 0 · · · · ·1 1 0 0 � · · · 10 0 1 0 · · · · ·1 0 1 0 · � 2 · 10 1 1 0 · · · · ·1 1 1 0 · · · � 10 0 0 1 · · · · ·1 0 0 1 · � 2 · 10 1 0 1 · · · · ·1 1 0 1 � · · · 10 0 1 1 · · · · ·1 0 1 1 · � 2 · 10 1 1 1 · · · · ·1 1 1 1 · · · � 1
U = {(v , i)| v ∈ Hi}
|U| =m∑
i=1
|Hi | ≥ |H|
cov(v) = {(v , i)| (v , i) ∈ U}cov(v) ≤ m
U = ∪v∈Hcov(v)
|U| =∑v∈H
|cov(v)|
G = {(v , jv ≡ min(v ,j)∈U
j)}
|G | = |H| 11 / 15
(ε, δ)-FPRAS
1 выбираем случайно и равномерно u ∈ U
2 yi = 1 при v ∈ G , иначе yi = 0.3 Y =
∑Ni=1 yi
4 G̃ = YN |U|
ТеоремаМетод Монте-Карло дает (ε, δ)-FPRAS для оценки |G | при условии
N ≥ 3m
ε2ln
2
δ.
Время полиномиально по N.
12 / 15
Доказательство
Выбор случайного элемента (v , i) равномерно из U:1 выберем i , 1 ≤ i ≤ m с вероятностью |Hi |
|U| = |Hi |∑mi=1 |Hi |
2 выбирается случайно и равномерно v ∈ Hi .
ЛеммаПолучаемая пара (v , i) равномерно распределена в U.
Для доказательства достаточно перемножить соответствующиевероятности.
Проверка (v , i)?∈ G — полиномиальна: ∀j < i : Cj(v) = 0.
13 / 15
Завершение доказательства
Из полученных ранее оценок о числе испытаний стандартного методаМонте-Карло имеем
N >1
p
3
ε2ln
2
δ.
|U| =∑v∈H
|cov(v)| ≤∑v∈H
m ≤ m|H| = m|G | ⇒ p =|G ||U|≥ 1
m
Получаем, что достаточное число испытаний:
N >3m
ε2ln
2
δ
14 / 15
top related