SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
Подсчет числа выполняющих наборов для ДНФ

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



                                                       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

Contenu connexe

Tendances

Digest#14(81)
Digest#14(81)Digest#14(81)
Digest#14(81)kabirvan
 
Как померить интернет: последние исследования аудитории
Как померить интернет: последние исследования аудиторииКак померить интернет: последние исследования аудитории
Как померить интернет: последние исследования аудиторииHUNGRY BOYS Creative agency
 
Max Cut Semidefinite
Max Cut SemidefiniteMax Cut Semidefinite
Max Cut SemidefiniteStas Fomin
 
РИФ+КИБ 2009: WebMoney примеряет мини
РИФ+КИБ 2009: WebMoney примеряет миниРИФ+КИБ 2009: WebMoney примеряет мини
РИФ+КИБ 2009: WebMoney примеряет миниE-Money News
 
АСКУЭ для ТГК
АСКУЭ для ТГКАСКУЭ для ТГК
АСКУЭ для ТГКalex_abakumov
 
МЭРТ 19_04_2009 МФЦ регионы Ulyanovsk
МЭРТ 19_04_2009 МФЦ регионы UlyanovskМЭРТ 19_04_2009 МФЦ регионы Ulyanovsk
МЭРТ 19_04_2009 МФЦ регионы UlyanovskVictor Gridnev
 
Russian Chemical Industry Conference
Russian Chemical Industry ConferenceRussian Chemical Industry Conference
Russian Chemical Industry ConferenceAlexander Abolmasov
 
Vjazanie Dlja Milani
Vjazanie Dlja MilaniVjazanie Dlja Milani
Vjazanie Dlja Milanititovanatalja
 

Tendances (13)

Digest#14(81)
Digest#14(81)Digest#14(81)
Digest#14(81)
 
Как померить интернет: последние исследования аудитории
Как померить интернет: последние исследования аудиторииКак померить интернет: последние исследования аудитории
Как померить интернет: последние исследования аудитории
 
Max Cut Semidefinite
Max Cut SemidefiniteMax Cut Semidefinite
Max Cut Semidefinite
 
31
3131
31
 
РИФ+КИБ 2009: WebMoney примеряет мини
РИФ+КИБ 2009: WebMoney примеряет миниРИФ+КИБ 2009: WebMoney примеряет мини
РИФ+КИБ 2009: WebMoney примеряет мини
 
Item 4.2 Moldova SDG 6
Item 4.2 Moldova SDG 6Item 4.2 Moldova SDG 6
Item 4.2 Moldova SDG 6
 
АСКУЭ для ТГК
АСКУЭ для ТГКАСКУЭ для ТГК
АСКУЭ для ТГК
 
Elutthu
ElutthuElutthu
Elutthu
 
МЭРТ 19_04_2009 МФЦ регионы Ulyanovsk
МЭРТ 19_04_2009 МФЦ регионы UlyanovskМЭРТ 19_04_2009 МФЦ регионы Ulyanovsk
МЭРТ 19_04_2009 МФЦ регионы Ulyanovsk
 
IMU_Bay View Innovations
IMU_Bay View InnovationsIMU_Bay View Innovations
IMU_Bay View Innovations
 
Eurofinance Web
Eurofinance   WebEurofinance   Web
Eurofinance Web
 
Russian Chemical Industry Conference
Russian Chemical Industry ConferenceRussian Chemical Industry Conference
Russian Chemical Industry Conference
 
Vjazanie Dlja Milani
Vjazanie Dlja MilaniVjazanie Dlja Milani
Vjazanie Dlja Milani
 

En vedette

Greedy Knapsack
Greedy KnapsackGreedy Knapsack
Greedy KnapsackStas Fomin
 
Dynamic Programming Knapsack
Dynamic Programming KnapsackDynamic Programming Knapsack
Dynamic Programming KnapsackStas Fomin
 
Probabilistically Checkable Proofs
Probabilistically Checkable ProofsProbabilistically Checkable Proofs
Probabilistically Checkable ProofsStas Fomin
 
Amplifying Reduction Non Approx
Amplifying Reduction Non ApproxAmplifying Reduction Non Approx
Amplifying Reduction Non ApproxStas Fomin
 
A commutative model composition operator to support software adaptation
A commutative model composition operator to support software adaptationA commutative model composition operator to support software adaptation
A commutative model composition operator to support software adaptationSébastien Mosser
 
testopia-missing-link
testopia-missing-linktestopia-missing-link
testopia-missing-linkStas Fomin
 
Randomized Rounding
Randomized RoundingRandomized Rounding
Randomized RoundingStas Fomin
 
average-knapsack.beam.pdf
average-knapsack.beam.pdfaverage-knapsack.beam.pdf
average-knapsack.beam.pdfStas Fomin
 

En vedette (9)

Greedy Knapsack
Greedy KnapsackGreedy Knapsack
Greedy Knapsack
 
Dynamic Programming Knapsack
Dynamic Programming KnapsackDynamic Programming Knapsack
Dynamic Programming Knapsack
 
Intro Erevan
Intro ErevanIntro Erevan
Intro Erevan
 
Probabilistically Checkable Proofs
Probabilistically Checkable ProofsProbabilistically Checkable Proofs
Probabilistically Checkable Proofs
 
Amplifying Reduction Non Approx
Amplifying Reduction Non ApproxAmplifying Reduction Non Approx
Amplifying Reduction Non Approx
 
A commutative model composition operator to support software adaptation
A commutative model composition operator to support software adaptationA commutative model composition operator to support software adaptation
A commutative model composition operator to support software adaptation
 
testopia-missing-link
testopia-missing-linktestopia-missing-link
testopia-missing-link
 
Randomized Rounding
Randomized RoundingRandomized Rounding
Randomized Rounding
 
average-knapsack.beam.pdf
average-knapsack.beam.pdfaverage-knapsack.beam.pdf
average-knapsack.beam.pdf
 

Plus de Stas Fomin

Levenstein distance.beam
Levenstein distance.beamLevenstein distance.beam
Levenstein distance.beamStas Fomin
 
«Собор или базар»: системы контроля версий — централизованные или распределен...
«Собор или базар»: системы контроля версий — централизованные или распределен...«Собор или базар»: системы контроля версий — централизованные или распределен...
«Собор или базар»: системы контроля версий — централизованные или распределен...Stas Fomin
 
Какой у вас Agile: свежевыжатый или порошковый?
Какой у вас Agile: свежевыжатый или порошковый?Какой у вас Agile: свежевыжатый или порошковый?
Какой у вас Agile: свежевыжатый или порошковый?Stas Fomin
 
Mindmaps: история и идеология
Mindmaps: история и идеологияMindmaps: история и идеология
Mindmaps: история и идеологияStas Fomin
 
Теория ограничений и Линейное программирование
Теория ограничений и Линейное программированиеТеория ограничений и Линейное программирование
Теория ограничений и Линейное программированиеStas Fomin
 
Введение в Subversion
Введение в SubversionВведение в Subversion
Введение в SubversionStas Fomin
 
Fake Flash Drives from TopKeen
Fake Flash Drives from TopKeenFake Flash Drives from TopKeen
Fake Flash Drives from TopKeenStas Fomin
 
Randomized Complexity
Randomized ComplexityRandomized Complexity
Randomized ComplexityStas Fomin
 
P Reducibility And Npc
P Reducibility And NpcP Reducibility And Npc
P Reducibility And NpcStas Fomin
 
Packing Average
Packing AveragePacking Average
Packing AverageStas Fomin
 
Obfuscation Curstate Review
Obfuscation Curstate ReviewObfuscation Curstate Review
Obfuscation Curstate ReviewStas Fomin
 
Maximal Independent Set
Maximal Independent SetMaximal Independent Set
Maximal Independent SetStas Fomin
 
Intro And Samples
Intro And SamplesIntro And Samples
Intro And SamplesStas Fomin
 
Greedy Covering
Greedy CoveringGreedy Covering
Greedy CoveringStas Fomin
 
Derandomization Maxsat
Derandomization MaxsatDerandomization Maxsat
Derandomization MaxsatStas Fomin
 
Derandomization Luby
Derandomization LubyDerandomization Luby
Derandomization LubyStas Fomin
 
Average Knapsack
Average KnapsackAverage Knapsack
Average KnapsackStas Fomin
 

Plus de Stas Fomin (20)

Levenstein distance.beam
Levenstein distance.beamLevenstein distance.beam
Levenstein distance.beam
 
«Собор или базар»: системы контроля версий — централизованные или распределен...
«Собор или базар»: системы контроля версий — централизованные или распределен...«Собор или базар»: системы контроля версий — централизованные или распределен...
«Собор или базар»: системы контроля версий — централизованные или распределен...
 
Какой у вас Agile: свежевыжатый или порошковый?
Какой у вас Agile: свежевыжатый или порошковый?Какой у вас Agile: свежевыжатый или порошковый?
Какой у вас Agile: свежевыжатый или порошковый?
 
Mindmaps: история и идеология
Mindmaps: история и идеологияMindmaps: история и идеология
Mindmaps: история и идеология
 
Теория ограничений и Линейное программирование
Теория ограничений и Линейное программированиеТеория ограничений и Линейное программирование
Теория ограничений и Линейное программирование
 
Введение в Subversion
Введение в SubversionВведение в Subversion
Введение в Subversion
 
Fake Flash Drives from TopKeen
Fake Flash Drives from TopKeenFake Flash Drives from TopKeen
Fake Flash Drives from TopKeen
 
Randomized Complexity
Randomized ComplexityRandomized Complexity
Randomized Complexity
 
Ptas Knapsack
Ptas KnapsackPtas Knapsack
Ptas Knapsack
 
P Reducibility And Npc
P Reducibility And NpcP Reducibility And Npc
P Reducibility And Npc
 
Packing Average
Packing AveragePacking Average
Packing Average
 
Obfuscation Curstate Review
Obfuscation Curstate ReviewObfuscation Curstate Review
Obfuscation Curstate Review
 
Maximal Independent Set
Maximal Independent SetMaximal Independent Set
Maximal Independent Set
 
Intro And Samples
Intro And SamplesIntro And Samples
Intro And Samples
 
Greedy Covering
Greedy CoveringGreedy Covering
Greedy Covering
 
Sat Average
Sat AverageSat Average
Sat Average
 
Derandomization Maxsat
Derandomization MaxsatDerandomization Maxsat
Derandomization Maxsat
 
Derandomization Luby
Derandomization LubyDerandomization Luby
Derandomization Luby
 
Christofides
ChristofidesChristofides
Christofides
 
Average Knapsack
Average KnapsackAverage Knapsack
Average Knapsack
 

Dnf Counting

  • 1. Подсчет числа выполняющих наборов для ДНФ Н.Н. Кузюрин С.А. Фомин 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
  • 2. Определение Полиномиальной рандомизированной аппроксимационной схемой (PRAS) для перечислительной задачи Z называется вероятностный алгоритм A, который, получая вход I и вещественное ε > 0, за время, полиномиальное от n = |I |, выдает в качестве выхода A(I ), такое, что 3 P[(1 − ε)#(I ) ≤ A(I ) ≤ (1 + ε)#(I )] ≥ , 4 где #(I ) обозначает число различных решений для входа I задачи Z 2 / 15
  • 3. Определение Полностью полиномиальной рандомизированной аппроксимационной схемой (FPRAS) называется полиномиальная рандомизированная аппроксимационная схема, время работы которой ограничено полиномом от n и 1/ε. Определение Полностью полиномиальной рандомизированной аппроксимационной схемой с параметрами (ε, δ) (или кратко (ε, δ)-FPRAS) для перечислительной задачи Z называется полностью полиномиальная рандомизированная аппроксимационная схема, которая на каждом входе I вычисляет ε-аппроксимацию для #(I ) с вероятностью не менее 1 − δ за время, полиномиальное от n, 1/ε и log 1/δ. 3 / 15
  • 4. Задача f (x1 , . . . , xn ) = C1 ∨ . . . ∨ Cm — булева формула в дизъюнктивной нормальной форме (ДНФ), где каждая скобка Ci есть конъюнкция L1 ∧ . . . ∧ Lki ki литералов (литерал есть либо переменная, либо ее отрицание). Набор значений переменных a = (a1 , . . . , an ) называется выполняющим для f , если f (a1 , . . . , an ) = 1. Найти число выполняющих наборов для данной ДНФ. 4 / 15
  • 5. Стандартный метод Монте-Карло G : множество выполняющих наборов. V : множество всех двоичных наборов длины n 1 Проведем N независимых испытаний: выбирается случайно v ∈ V ; yi = f (vi ). 2 Рассмотрим сумму независимых случайных величин N Y = yi i=1 Аппроксимация |G |: ˜ Y G = |V | N 5 / 15
  • 6. Монте-Карло — не (ε, δ)-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
  • 7. Монте-Карло: Сколько испытаний сделать? Оценим вероятность того, что аппроксимация хорошая: ˜ 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
  • 8. Монте-Карло — не (ε, δ)-FPRAS Почему оценка не столь хороша? 1 3 2 N> 2 ln . pε δ p может быть экспоненциально мало (например 1 лишь в одной точке). 8 / 15
  • 9. Обобщение Пусть 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
  • 10. Модификация Монте-Карло: Идея Универсум U образуется из точек H, причем точка берется с кратностью, равной числу множеств Hi , которым она принадлежит. Тогда m m 1 1 |U| = |Hi | ≥ |H| ≥ |Hi | = |U| m m i=1 i=1 К U можно применять стандартный алгоритм Монте-Карло. 10 / 15
  • 11. 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
  • 12. (ε, δ)-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
  • 13. Доказательство Выбор случайного элемента (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
  • 14. Завершение доказательства Из полученных ранее оценок о числе испытаний стандартного метода Монте-Карло имеем 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
  • 15. Интернет поддержка курса http://discopal.ispras.ru/ Вопросы? 15 / 15