15

Click here to load reader

Dnf Counting

Embed Size (px)

Citation preview

Page 1: Dnf Counting

Подсчет числа выполняющих наборов для ДНФ

Н.Н. Кузюрин С.А. Фомин

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

Page 2: Dnf Counting

ОпределениеПолиномиальной рандомизированной аппроксимационнойсхемой (PRAS) для перечислительной задачи Z называетсявероятностный алгоритм A, который, получая вход I и вещественноеε > 0, за время, полиномиальное от n = |I |, выдает в качестве выходаA(I ), такое, что

P[(1− ε)#(I ) ≤ A(I ) ≤ (1 + ε)#(I )] ≥ 3

4,

где #(I ) обозначает число различных решений для входа I задачи Z

2 / 15

Page 3: Dnf Counting

Определение

Полностью полиномиальной рандомизированнойаппроксимационной схемой (FPRAS) называется полиномиальнаярандомизированная аппроксимационная схема, время работы которойограничено полиномом от n и 1/ε.

Определение

Полностью полиномиальной рандомизированнойаппроксимационной схемой с параметрами (ε, δ) (или кратко(ε, δ)-FPRAS) для перечислительной задачи Z называетсяполностью полиномиальная рандомизированная аппроксимационнаясхема, которая на каждом входе I вычисляет ε-аппроксимацию для#(I ) с вероятностью не менее 1− δ за время, полиномиальное от n,1/ε и log 1/δ.

3 / 15

Page 4: Dnf Counting

Задача

f (x1, . . . , xn) = C1 ∨ . . . ∨ Cm — булева формула в дизъюнктивнойнормальной форме (ДНФ), где каждая скобка Ci есть конъюнкцияL1 ∧ . . . ∧ Lki

ki литералов (литерал есть либо переменная, либо ееотрицание).Набор значений переменных a = (a1, . . . , an) называетсявыполняющим для f , если f (a1, . . . , an) = 1.Найти число выполняющих наборов для данной ДНФ.

4 / 15

Page 5: Dnf Counting

Стандартный метод Монте-Карло

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

Page 6: Dnf Counting

Монте-Карло — не (ε, δ)-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

Page 7: Dnf Counting

Монте-Карло: Сколько испытаний сделать?Оценим вероятность того, что аппроксимация хорошая:

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

Page 8: Dnf Counting

Монте-Карло — не (ε, δ)-FPRAS

Почему оценка не столь хороша?

N >1

p

3

ε2ln

2

δ.

p может быть экспоненциально мало (например 1 лишь в одной точке).

8 / 15

Page 9: Dnf Counting

Обобщение

Пусть 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

Page 10: Dnf Counting

Модификация Монте-Карло: Идея

Универсум U образуется из точек H, причем точка беретсяс кратностью, равной числу множеств Hi , которым она принадлежит.Тогда

|U| =m∑

i=1

|Hi | ≥ |H| ≥1

m

m∑i=1

|Hi | =1

m|U|

К U можно применять стандартный алгоритм Монте-Карло.

10 / 15

Page 11: Dnf Counting

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

Page 12: Dnf Counting

(ε, δ)-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

Page 13: Dnf Counting

Доказательство

Выбор случайного элемента (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

Page 14: Dnf Counting

Завершение доказательства

Из полученных ранее оценок о числе испытаний стандартного методаМонте-Карло имеем

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

Page 15: Dnf Counting

Интернет поддержка курса

http://discopal.ispras.ru/

Вопросы?

15 / 15