Dnf Counting
Upcoming SlideShare
Loading in...5
×
 

Dnf Counting

on

  • 445 views

 

Statistics

Views

Total Views
445
Views on SlideShare
445
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Dnf Counting Dnf Counting Presentation Transcript

  • Подсчет числа выполняющих наборов для ДНФ Н.Н. Кузюрин С.А. Фомин 10 октября 2008 г. DNF = (x2 · x4 · x 1 ) ∨ (x3 · x 2 ) ∨ (x1 · x 3 ) ∨ (x1 · x2 · x4 ) x1 0 x2 0 x3 0 x4 0 C1 · C2 · C3 · C4 · ДНФ · Полиномиальная 1 0 0 0 · 2 · 1 0 1 1 1 0 0 0 0 · · · · · · · · 1 рандомизированная 0 0 1 0 · · · · · 1 0 0 1 1 1 0 0 · · · 2 · · · 1 · аппроксимационная схема подсчета 1 1 1 0 1 0 0 0 1 · · · · · · · · числа выполняющих наборов. 1 0 0 1 · 2 · 1 0 1 0 1 · · · · · 1 1 0 1 · · · 1 0 0 1 1 · · · · · 1 0 1 1 · 2 · 1 0 1 1 1 · · · · · 1 1 1 1 · · · 1 1 / 15
  • Определение Полиномиальной рандомизированной аппроксимационной схемой (PRAS) для перечислительной задачи Z называется вероятностный алгоритм A, который, получая вход I и вещественное ε > 0, за время, полиномиальное от n = |I |, выдает в качестве выхода A(I ), такое, что 3 P[(1 − ε)#(I ) ≤ A(I ) ≤ (1 + ε)#(I )] ≥ , 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 независимых испытаний: выбирается случайно v ∈ V ; yi = f (vi ). 2 Рассмотрим сумму независимых случайных величин N Y = yi i=1 Аппроксимация |G |: ˜ Y G = |V | N 5 / 15
  • Монте-Карло — не (ε, δ)-FPRAS p = P{yi = 1} = |G |/|V | Лемма Пусть x1 , . . . , xn — независимые случайные величины: P{xi = 1} = p, P{xi = 0} = 1 − p n Тогда для X = i=1 xi и E X = np и ∀δ 0 < δ < 1, выполнено: P{|X − E X | > δ E X } ≤ 2 exp{−(δ 2 /3) E X }. 6 / 15
  • Монте-Карло: Сколько испытаний сделать? Оценим вероятность того, что аппроксимация хорошая: ˜ P{(1 − ε)|G | ≤ G ≤ (1 + ε)|G |} = N|G | N|G | = P{(1 − ε) ≤ Y ≤ (1 + ε) }= |V | |V | = P{(1 − ε)Np ≤ Y ≤ (1 + ε)Np}. Применяя неравенства из леммы, получаем: 2 ˜ P{(1 − ε)|G | ≤ G ≤ (1 + ε)|G |} > 1 − 2 exp{−(ε /3)Np}. Потребуем, чтобы эта оценка была не меньше 1 − δ: 2 2 exp{−(ε /3)Np} < δ, 2 2 < exp{ε /3Np} δ 1 3 2 N> 2 ln . pε δ 7 / 15
  • Монте-Карло — не (ε, δ)-FPRAS Почему оценка не столь хороша? 1 3 2 N> 2 ln . pε δ 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}, Ci ≡ 0 ⇒ |Hi | = 0 (1): ri — число литералов в Ci : Ci ≡ 0 ⇒ |Hi | = 2n−ri (2): зафиксировать переменные из Ci , а остальные — случайно. (3): вычислить Ci (v ). 9 / 15
  • Модификация Монте-Карло: Идея Универсум U образуется из точек H, причем точка берется с кратностью, равной числу множеств Hi , которым она принадлежит. Тогда m m 1 1 |U| = |Hi | ≥ |H| ≥ |Hi | = |U| m m i=1 i=1 К U можно применять стандартный алгоритм Монте-Карло. 10 / 15
  • U = {(v , i)| v ∈ Hi } DNF = (x2 · x4 · x 1 ) ∨ (x3 · x 2 ) ∨ (x1 · x 3 ) ∨ (x1 · x2 · x4 ) m |U| = |Hi | ≥ |H| x1 x2 x3 x4 C1 C2 C3 C4 ДНФ i=1 0 0 0 0 · · · · · 1 0 0 0 · 2 · 1 0 1 0 0 · · · · · cov(v ) = {(v , i)| (v , i) ∈ U} 1 1 0 0 · · · 1 0 0 1 0 · · · · · cov(v ) ≤ m 1 0 1 0 · 2 · 1 0 1 1 0 · · · · · 1 1 1 0 · · · 1 U = ∪v ∈H cov(v ) 0 0 0 1 · · · · · 1 0 0 1 · 2 · 1 |U| = |cov(v )| 0 1 0 1 · · · · · v ∈H 1 1 0 1 · · · 1 0 0 1 1 · · · · · 1 0 1 1 · 2 · 1 G = {(v , jv ≡ min j)} (v ,j)∈U 0 1 1 1 · · · · · 1 1 1 1 · · · 1 |G | = |H| 11 / 15
  • (ε, δ)-FPRAS 1 выбираем случайно и равномерно u ∈ U 2 yi = 1 при v ∈ G , иначе yi = 0. N 3 Y = i=1 yi ˜ Y G= N |U| 4 Теорема Метод Монте-Карло дает (ε, δ)-FPRAS для оценки |G | при условии 3m 2 N≥ ln . ε2 δ Время полиномиально по N. 12 / 15
  • Доказательство Выбор случайного элемента (v , i) равномерно из U: |Hi | |Hi | 1 выберем i, 1 ≤ i ≤ m с вероятностью |U| = m i=1 |Hi | 2 выбирается случайно и равномерно v ∈ Hi . Лемма Получаемая пара (v , i) равномерно распределена в U. Для доказательства достаточно перемножить соответствующие вероятности. ? Проверка (v , i) ∈ G — полиномиальна: ∀j < i : Cj (v ) = 0. 13 / 15
  • Завершение доказательства Из полученных ранее оценок о числе испытаний стандартного метода Монте-Карло имеем 1 3 2 N> ln . p ε2 δ |G | 1 |U| = |cov(v )| ≤ m ≤ m|H| = m|G | ⇒ p = ≥ |U| m v ∈H v ∈H Получаем, что достаточное число испытаний: 3m 2 N> ln ε2 δ 14 / 15
  • Интернет поддержка курса http://discopal.ispras.ru/ Вопросы? 15 / 15