SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
Дерандомизация и метод условных вероятностей для
                 «MAX-SAT»

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



                                                                                                                  10 октября 2008 г.


                                               E X = 4.78
                                                                                                                            Иногда вероятностные алгоритмы могут
                                          x1 = 0               x1 = 1                                                       быть «дерандомизированы» —
           E X(x1 = 0) = 2.5



                    x2 = 0
                                                       E X(x1 = 1) = 6.4



                                                   x2 = 1
                                                                                                                            конвертированы в детерминированные
 E X(x1 = 0, x2 = 0) = 5.3                                  E X(x1 = 0, x2 = 1) = 2.1                                       алгоритмы.
        E X(x1 = 0, x2 = 1, x3 = 0) = 1
                                                     x3 = 0                             x3 = 1



                                                                                          E X(x1 = 0, x2 = 1, x3 = 1) = 4
                                                                                                                            Один из таких методов — «метод
                                                                                                                            условных вероятностей».

                                                                                                                                                           1 / 13
Задача MAX-SAT

Задача
Максимальная выполнимость/MAX-SAT.
Даны m скобок конъюнктивной нормальной формы (КНФ) с n
переменными. Найти значения переменных, максимизирующие число
выполненных скобок.

          xi : независимые случайные величины,

                         P{xi = 1} = pi , P{xi = 0} = 1 − pi .

X (x1 , . . . , xn ): число невыполненных скобок в КНФ.
Надо найти x :
           ˆ
                               X (ˆ) ≤ E X .
                                  x


                                                                 2 / 13
Задача MAX-SAT

Задача
Максимальная выполнимость/MAX-SAT.
Даны m скобок конъюнктивной нормальной формы (КНФ) с n
переменными. Найти значения переменных, максимизирующие число
выполненных скобок.

          xi : независимые случайные величины,

                         P{xi = 1} = pi , P{xi = 0} = 1 − pi .

X (x1 , . . . , xn ): число невыполненных скобок в КНФ.
Надо найти x :
           ˆ
                               X (ˆ) ≤ E X .
                                  x


                                                                 3 / 13
Покомпонентная стратегия нахождения x
                                    ^

                                                                                                                           1    Вычисляем
                                                   E X = 4.78
                                                                                                                                      f0 ← E X (x| x1 = 0)
                                              x1 = 0               x1 = 1
                                                                                                                                      f1 ← E X (x| x1 = 1)
               E X(x1 = 0) = 2.5                           E X(x1 = 1) = 6.4



                        x2 = 0                         x2 = 1                                                              2    Если f0 < f1 , то d1 = 0,
     E X(x1 = 0, x2 = 0) = 5.3                                  E X(x1 = 0, x2 = 1) = 2.1                                       иначе d1 = 1.
                                                         x3 = 0                             x3 = 1
                                                                                                                           3    Вычисляем
            E X(x1 = 0, x2 = 1, x3 = 0) = 1                                                   E X(x1 = 0, x2 = 1, x3 = 1) = 4



                                                                                                                                f0 ← E X (x| x1 = d1 , x2 = 0)
 E X (x| x1 = d1 , . . . , xn = dn ) =                                                                                          f1 ← E X (x| x1 = d1 , x2 = 1)
                                                          = X (d1 , . . . , dn )                                           4    Если f0 < f1 , то d2 = 0,
                                                                                                                                иначе d2 = 1.
                                                                                                                           5    ...


                                                                                                                                                     4 / 13
Покомпонентная стратегия нахождения x
                                    ^


                                                     E X = 4.78



                                                x1 = 0               x1 = 1



                 E X(x1 = 0) = 2.5                           E X(x1 = 1) = 6.4



                          x2 = 0                         x2 = 1



       E X(x1 = 0, x2 = 0) = 5.3                                  E X(x1 = 0, x2 = 1) = 2.1



                                                           x3 = 0                             x3 = 1



              E X(x1 = 0, x2 = 1, x3 = 0) = 1                                                   E X(x1 = 0, x2 = 1, x3 = 1) = 4




                                                                                                              5 / 13
Почему эта стратегия работает?



  E X = P{x1 = 1} E X (x| x1 = 1) + P{x1 = 0} E X (x| x1 = 0) =
           = p1 E X (x| x1 = 1) + (1 − p1 ) E X (x| x1 = 0) ≥
          ≥ p1 E X (x| x1 = d1 ) + (1 − p1 ) E X (x| x1 = d1 ) =
                   = (p1 + 1 − p1 ) E X (x| x1 = d1 ) = E X (x| x1 = d1 ).

Аналогично продолжая:

                  E X ≥ E X (x| x1 = d1 , . . . , xn = dn ).
Но
            E X (x| x1 = d1 , . . . , xn = dn ) = X (d1 , . . . , dn ).



                                                                          6 / 13
Задача
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


                                                                         7 / 13
Линейная релаксация задачи «MAX-SAT»




               m
                    zj → max                                     (2)
              j=1

                      xi +           (1 − xi ) ≥ zj ,   ∀j.
              i∈Cj+          i∈Cj−

              xi , zj ∈ [0, 1], ∀i, j




                                                              8 / 13
Вход: Формулировка задачи «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 ).

Теорема
Алгоритм «Линейная релаксация и вероятностное округление»
обеспечивает приближенное решение «MAX-SAT», со средней
               1
точностью (1 − e ).

Откуда следует, что
                                          m
                                  EX ≤
                                          e
                                                         m
                      X (x1 = d1 , . . . , xn = dn ) ≤
                                                         e
                                                             9 / 13
Дерандомизация для MAX-SAT
Вероятность невыполнения j-й дизъюнкции
                                                         
                            
                                                         
                                                          
         Pj = P{Cj = 0} = P       xi +       (1 − xi ) = 0 .
                             +                           
                                       i∈C −
                            i∈C                          
                                           j                j

                                               m
                                EX =                 Pj ,                     (3)
                                               j=1

Пусть первые k переменных определены и
          I0 : ∀i ∈ I0 xi = 0
          I1 : ∀i ∈ I1 xi = 1
Если I0 ∩ Cj− = ∅ или I1 ∩ Cj+ = ∅, то Pj = 0, иначе:

                    Pj =               (1 − pi ) ·                 pi .       (4)
                           i∈Cj+ I0                   i∈Cj− I1


                                                                          10 / 13
Дерандомизация для MAX-SAT
Вход: Формулировка задачи «MAX-SAT» в виде (1).
Выход: (x1 , . . . , xn ) — приближенное решение (1).
  (p1 , . . . , pn ) ← решения линейной релаксации (2).
  for all i ∈ {1..n} do
     f0 = E X (x| xi = 0) {Вычисляется через (4)}
     f1 = E X (x| xi = 1) { и (3)}
     if f0 < f1 then
         xi ← 0
     else
         xi ← 1
     end if
  end for
  return x
Упражнение
Как организовать вычисление f0 и f1 , чтобы сложность алгоритма
(кроме решения линейной релаксации) была O(mn)?
                                                           11 / 13
Дерандомизация для MAX-SAT
Вход: Формулировка задачи «MAX-SAT» в виде (1).
Выход: (x1 , . . . , xn ) — приближенное решение (1).
  (p1 , . . . , pn ) ← решения линейной релаксации (2).
  for all i ∈ {1..n} do
     f0 = E X (x| xi = 0) {Вычисляется через (4)}
     f1 = E X (x| xi = 1) { и (3)}
     if f0 < f1 then
         xi ← 0
     else
         xi ← 1
     end if
  end for
  return x
Упражнение
Как организовать вычисление f0 и f1 , чтобы сложность алгоритма
(кроме решения линейной релаксации) была O(mn)?
                                                           12 / 13
Интернет поддержка курса




 http://discopal.ispras.ru/
Вопросы?



                           13 / 13

Mais conteúdo relacionado

Mais procurados

Match II (armand)
Match II (armand)Match II (armand)
Match II (armand)Eng. QaSeMy
 
Solutions manual for calculus an applied approach brief international metric ...
Solutions manual for calculus an applied approach brief international metric ...Solutions manual for calculus an applied approach brief international metric ...
Solutions manual for calculus an applied approach brief international metric ...Larson612
 

Mais procurados (6)

Deber10
Deber10Deber10
Deber10
 
Match II (armand)
Match II (armand)Match II (armand)
Match II (armand)
 
Duo dvt
Duo dvtDuo dvt
Duo dvt
 
DUO2-DEZ Laren
DUO2-DEZ LarenDUO2-DEZ Laren
DUO2-DEZ Laren
 
Solutions manual for calculus an applied approach brief international metric ...
Solutions manual for calculus an applied approach brief international metric ...Solutions manual for calculus an applied approach brief international metric ...
Solutions manual for calculus an applied approach brief international metric ...
 
The derivatives module03
The derivatives module03The derivatives module03
The derivatives module03
 

Destaque

Maximal Independent Set
Maximal Independent SetMaximal Independent Set
Maximal Independent SetStas Fomin
 
Open-source для диплома
Open-source для дипломаOpen-source для диплома
Open-source для дипломаStas Fomin
 
Max Cut Semidefinite
Max Cut SemidefiniteMax Cut Semidefinite
Max Cut SemidefiniteStas Fomin
 
Integrating Open Source Software Environments into Software Development Pro...
Integrating  Open Source Software Environments  into Software Development Pro...Integrating  Open Source Software Environments  into Software Development Pro...
Integrating Open Source Software Environments into Software Development Pro...Stas Fomin
 
Algorithms Dtime Dspace
Algorithms Dtime DspaceAlgorithms Dtime Dspace
Algorithms Dtime DspaceStas Fomin
 
Greedy Covering
Greedy CoveringGreedy Covering
Greedy CoveringStas Fomin
 
Packing Average
Packing AveragePacking Average
Packing AverageStas Fomin
 
Теория ограничений и Линейное программирование
Теория ограничений и Линейное программированиеТеория ограничений и Линейное программирование
Теория ограничений и Линейное программированиеStas Fomin
 

Destaque (9)

Ptas Knapsack
Ptas KnapsackPtas Knapsack
Ptas Knapsack
 
Maximal Independent Set
Maximal Independent SetMaximal Independent Set
Maximal Independent Set
 
Open-source для диплома
Open-source для дипломаOpen-source для диплома
Open-source для диплома
 
Max Cut Semidefinite
Max Cut SemidefiniteMax Cut Semidefinite
Max Cut Semidefinite
 
Integrating Open Source Software Environments into Software Development Pro...
Integrating  Open Source Software Environments  into Software Development Pro...Integrating  Open Source Software Environments  into Software Development Pro...
Integrating Open Source Software Environments into Software Development Pro...
 
Algorithms Dtime Dspace
Algorithms Dtime DspaceAlgorithms Dtime Dspace
Algorithms Dtime Dspace
 
Greedy Covering
Greedy CoveringGreedy Covering
Greedy Covering
 
Packing Average
Packing AveragePacking Average
Packing Average
 
Теория ограничений и Линейное программирование
Теория ограничений и Линейное программированиеТеория ограничений и Линейное программирование
Теория ограничений и Линейное программирование
 

Semelhante a Maximizing SAT clause fulfillment through stochastic relaxation

Intro And Samples
Intro And SamplesIntro And Samples
Intro And SamplesStas Fomin
 
Lesson 21: Curve Sketching II (Section 4 version)
Lesson 21: Curve Sketching  II (Section 4 version)Lesson 21: Curve Sketching  II (Section 4 version)
Lesson 21: Curve Sketching II (Section 4 version)Matthew Leingang
 
Lesson 21: Curve Sketching II (Section 10 version)
Lesson 21: Curve Sketching II (Section 10 version)Lesson 21: Curve Sketching II (Section 10 version)
Lesson 21: Curve Sketching II (Section 10 version)Matthew Leingang
 
General Math Lesson 2
General Math Lesson 2General Math Lesson 2
General Math Lesson 2alicelagajino
 
Επαναληπτικές ασκήσεις με λύσεις για τη Γ Λυκείου
Επαναληπτικές ασκήσεις με λύσεις για τη Γ ΛυκείουΕπαναληπτικές ασκήσεις με λύσεις για τη Γ Λυκείου
Επαναληπτικές ασκήσεις με λύσεις για τη Γ ΛυκείουΜάκης Χατζόπουλος
 
Taleb's Black Swan - SG 20090520
Taleb's Black Swan - SG 20090520Taleb's Black Swan - SG 20090520
Taleb's Black Swan - SG 20090520beewolf
 
Referat aspiranta
Referat aspirantaReferat aspiranta
Referat aspirantaAllexandro
 
Сегментация рынка и сегментационные исследования
Сегментация рынка и сегментационные исследованияСегментация рынка и сегментационные исследования
Сегментация рынка и сегментационные исследованияabramamama
 
IIT-JEE Mains 2015 Offline Previous Question Paper Set C
IIT-JEE Mains 2015 Offline Previous Question Paper Set CIIT-JEE Mains 2015 Offline Previous Question Paper Set C
IIT-JEE Mains 2015 Offline Previous Question Paper Set CEneutron
 
04 apr 2015 c jee main exam JEE MAIN EXAM 2015 CODE -C QUESTION PAPER DT.04....
04 apr 2015 c  jee main exam JEE MAIN EXAM 2015 CODE -C QUESTION PAPER DT.04....04 apr 2015 c  jee main exam JEE MAIN EXAM 2015 CODE -C QUESTION PAPER DT.04....
04 apr 2015 c jee main exam JEE MAIN EXAM 2015 CODE -C QUESTION PAPER DT.04....udhayam99
 
とちぎRuby会議01(原)
とちぎRuby会議01(原)とちぎRuby会議01(原)
とちぎRuby会議01(原)Shin-ichiro HARA
 
IIT-JEE Mains 2017 Online Mathematics Previous Paper Day 2
IIT-JEE Mains 2017 Online Mathematics Previous Paper Day 2IIT-JEE Mains 2017 Online Mathematics Previous Paper Day 2
IIT-JEE Mains 2017 Online Mathematics Previous Paper Day 2Eneutron
 

Semelhante a Maximizing SAT clause fulfillment through stochastic relaxation (15)

Intro And Samples
Intro And SamplesIntro And Samples
Intro And Samples
 
Lesson 21: Curve Sketching II (Section 4 version)
Lesson 21: Curve Sketching  II (Section 4 version)Lesson 21: Curve Sketching  II (Section 4 version)
Lesson 21: Curve Sketching II (Section 4 version)
 
Lesson 21: Curve Sketching II (Section 10 version)
Lesson 21: Curve Sketching II (Section 10 version)Lesson 21: Curve Sketching II (Section 10 version)
Lesson 21: Curve Sketching II (Section 10 version)
 
General Math Lesson 2
General Math Lesson 2General Math Lesson 2
General Math Lesson 2
 
Επαναληπτικές ασκήσεις με λύσεις για τη Γ Λυκείου
Επαναληπτικές ασκήσεις με λύσεις για τη Γ ΛυκείουΕπαναληπτικές ασκήσεις με λύσεις για τη Γ Λυκείου
Επαναληπτικές ασκήσεις με λύσεις για τη Γ Λυκείου
 
How To Count Number
How To Count NumberHow To Count Number
How To Count Number
 
Taleb's Black Swan - SG 20090520
Taleb's Black Swan - SG 20090520Taleb's Black Swan - SG 20090520
Taleb's Black Swan - SG 20090520
 
Referat aspiranta
Referat aspirantaReferat aspiranta
Referat aspiranta
 
Сегментация рынка и сегментационные исследования
Сегментация рынка и сегментационные исследованияСегментация рынка и сегментационные исследования
Сегментация рынка и сегментационные исследования
 
IIT-JEE Mains 2015 Offline Previous Question Paper Set C
IIT-JEE Mains 2015 Offline Previous Question Paper Set CIIT-JEE Mains 2015 Offline Previous Question Paper Set C
IIT-JEE Mains 2015 Offline Previous Question Paper Set C
 
04 apr 2015 c jee main exam JEE MAIN EXAM 2015 CODE -C QUESTION PAPER DT.04....
04 apr 2015 c  jee main exam JEE MAIN EXAM 2015 CODE -C QUESTION PAPER DT.04....04 apr 2015 c  jee main exam JEE MAIN EXAM 2015 CODE -C QUESTION PAPER DT.04....
04 apr 2015 c jee main exam JEE MAIN EXAM 2015 CODE -C QUESTION PAPER DT.04....
 
とちぎRuby会議01(原)
とちぎRuby会議01(原)とちぎRuby会議01(原)
とちぎRuby会議01(原)
 
2015 12 lyp_matematics_set3_delhi_qp
2015 12 lyp_matematics_set3_delhi_qp2015 12 lyp_matematics_set3_delhi_qp
2015 12 lyp_matematics_set3_delhi_qp
 
IIT-JEE Mains 2017 Online Mathematics Previous Paper Day 2
IIT-JEE Mains 2017 Online Mathematics Previous Paper Day 2IIT-JEE Mains 2017 Online Mathematics Previous Paper Day 2
IIT-JEE Mains 2017 Online Mathematics Previous Paper Day 2
 
Chain Rule
Chain RuleChain Rule
Chain Rule
 

Mais de Stas Fomin

average-knapsack.beam.pdf
average-knapsack.beam.pdfaverage-knapsack.beam.pdf
average-knapsack.beam.pdfStas Fomin
 
Levenstein distance.beam
Levenstein distance.beamLevenstein distance.beam
Levenstein distance.beamStas Fomin
 
testopia-missing-link
testopia-missing-linktestopia-missing-link
testopia-missing-linkStas Fomin
 
«Собор или базар»: системы контроля версий — централизованные или распределен...
«Собор или базар»: системы контроля версий — централизованные или распределен...«Собор или базар»: системы контроля версий — централизованные или распределен...
«Собор или базар»: системы контроля версий — централизованные или распределен...Stas Fomin
 
Какой у вас Agile: свежевыжатый или порошковый?
Какой у вас Agile: свежевыжатый или порошковый?Какой у вас Agile: свежевыжатый или порошковый?
Какой у вас Agile: свежевыжатый или порошковый?Stas Fomin
 
Mindmaps: история и идеология
Mindmaps: история и идеологияMindmaps: история и идеология
Mindmaps: история и идеология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
 
Probabilistically Checkable Proofs
Probabilistically Checkable ProofsProbabilistically Checkable Proofs
Probabilistically Checkable ProofsStas Fomin
 
Obfuscation Curstate Review
Obfuscation Curstate ReviewObfuscation Curstate Review
Obfuscation Curstate ReviewStas Fomin
 
Greedy Knapsack
Greedy KnapsackGreedy Knapsack
Greedy KnapsackStas Fomin
 
Greedy Covering Almost Ok
Greedy Covering Almost OkGreedy Covering Almost Ok
Greedy Covering Almost OkStas Fomin
 
Dynamic Programming Knapsack
Dynamic Programming KnapsackDynamic Programming Knapsack
Dynamic Programming KnapsackStas Fomin
 
Randomized Rounding
Randomized RoundingRandomized Rounding
Randomized RoundingStas Fomin
 
Derandomization Luby
Derandomization LubyDerandomization Luby
Derandomization LubyStas Fomin
 

Mais de Stas Fomin (20)

average-knapsack.beam.pdf
average-knapsack.beam.pdfaverage-knapsack.beam.pdf
average-knapsack.beam.pdf
 
Levenstein distance.beam
Levenstein distance.beamLevenstein distance.beam
Levenstein distance.beam
 
testopia-missing-link
testopia-missing-linktestopia-missing-link
testopia-missing-link
 
«Собор или базар»: системы контроля версий — централизованные или распределен...
«Собор или базар»: системы контроля версий — централизованные или распределен...«Собор или базар»: системы контроля версий — централизованные или распределен...
«Собор или базар»: системы контроля версий — централизованные или распределен...
 
Какой у вас 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
 
P Reducibility And Npc
P Reducibility And NpcP Reducibility And Npc
P Reducibility And Npc
 
Probabilistically Checkable Proofs
Probabilistically Checkable ProofsProbabilistically Checkable Proofs
Probabilistically Checkable Proofs
 
Obfuscation Curstate Review
Obfuscation Curstate ReviewObfuscation Curstate Review
Obfuscation Curstate Review
 
Intro Erevan
Intro ErevanIntro Erevan
Intro Erevan
 
Greedy Knapsack
Greedy KnapsackGreedy Knapsack
Greedy Knapsack
 
Greedy Covering Almost Ok
Greedy Covering Almost OkGreedy Covering Almost Ok
Greedy Covering Almost Ok
 
Dynamic Programming Knapsack
Dynamic Programming KnapsackDynamic Programming Knapsack
Dynamic Programming Knapsack
 
Sat Average
Sat AverageSat Average
Sat Average
 
Randomized Rounding
Randomized RoundingRandomized Rounding
Randomized Rounding
 
Dnf Counting
Dnf CountingDnf Counting
Dnf Counting
 
Derandomization Luby
Derandomization LubyDerandomization Luby
Derandomization Luby
 

Maximizing SAT clause fulfillment through stochastic relaxation

  • 1. Дерандомизация и метод условных вероятностей для «MAX-SAT» Н.Н. Кузюрин С.А. Фомин 10 октября 2008 г. E X = 4.78 Иногда вероятностные алгоритмы могут x1 = 0 x1 = 1 быть «дерандомизированы» — E X(x1 = 0) = 2.5 x2 = 0 E X(x1 = 1) = 6.4 x2 = 1 конвертированы в детерминированные E X(x1 = 0, x2 = 0) = 5.3 E X(x1 = 0, x2 = 1) = 2.1 алгоритмы. E X(x1 = 0, x2 = 1, x3 = 0) = 1 x3 = 0 x3 = 1 E X(x1 = 0, x2 = 1, x3 = 1) = 4 Один из таких методов — «метод условных вероятностей». 1 / 13
  • 2. Задача MAX-SAT Задача Максимальная выполнимость/MAX-SAT. Даны m скобок конъюнктивной нормальной формы (КНФ) с n переменными. Найти значения переменных, максимизирующие число выполненных скобок. xi : независимые случайные величины, P{xi = 1} = pi , P{xi = 0} = 1 − pi . X (x1 , . . . , xn ): число невыполненных скобок в КНФ. Надо найти x : ˆ X (ˆ) ≤ E X . x 2 / 13
  • 3. Задача MAX-SAT Задача Максимальная выполнимость/MAX-SAT. Даны m скобок конъюнктивной нормальной формы (КНФ) с n переменными. Найти значения переменных, максимизирующие число выполненных скобок. xi : независимые случайные величины, P{xi = 1} = pi , P{xi = 0} = 1 − pi . X (x1 , . . . , xn ): число невыполненных скобок в КНФ. Надо найти x : ˆ X (ˆ) ≤ E X . x 3 / 13
  • 4. Покомпонентная стратегия нахождения x ^ 1 Вычисляем E X = 4.78 f0 ← E X (x| x1 = 0) x1 = 0 x1 = 1 f1 ← E X (x| x1 = 1) E X(x1 = 0) = 2.5 E X(x1 = 1) = 6.4 x2 = 0 x2 = 1 2 Если f0 < f1 , то d1 = 0, E X(x1 = 0, x2 = 0) = 5.3 E X(x1 = 0, x2 = 1) = 2.1 иначе d1 = 1. x3 = 0 x3 = 1 3 Вычисляем E X(x1 = 0, x2 = 1, x3 = 0) = 1 E X(x1 = 0, x2 = 1, x3 = 1) = 4 f0 ← E X (x| x1 = d1 , x2 = 0) E X (x| x1 = d1 , . . . , xn = dn ) = f1 ← E X (x| x1 = d1 , x2 = 1) = X (d1 , . . . , dn ) 4 Если f0 < f1 , то d2 = 0, иначе d2 = 1. 5 ... 4 / 13
  • 5. Покомпонентная стратегия нахождения x ^ E X = 4.78 x1 = 0 x1 = 1 E X(x1 = 0) = 2.5 E X(x1 = 1) = 6.4 x2 = 0 x2 = 1 E X(x1 = 0, x2 = 0) = 5.3 E X(x1 = 0, x2 = 1) = 2.1 x3 = 0 x3 = 1 E X(x1 = 0, x2 = 1, x3 = 0) = 1 E X(x1 = 0, x2 = 1, x3 = 1) = 4 5 / 13
  • 6. Почему эта стратегия работает? E X = P{x1 = 1} E X (x| x1 = 1) + P{x1 = 0} E X (x| x1 = 0) = = p1 E X (x| x1 = 1) + (1 − p1 ) E X (x| x1 = 0) ≥ ≥ p1 E X (x| x1 = d1 ) + (1 − p1 ) E X (x| x1 = d1 ) = = (p1 + 1 − p1 ) E X (x| x1 = d1 ) = E X (x| x1 = d1 ). Аналогично продолжая: E X ≥ E X (x| x1 = d1 , . . . , xn = dn ). Но E X (x| x1 = d1 , . . . , xn = dn ) = X (d1 , . . . , dn ). 6 / 13
  • 7. Задача 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 7 / 13
  • 8. Линейная релаксация задачи «MAX-SAT» m zj → max (2) j=1 xi + (1 − xi ) ≥ zj , ∀j. i∈Cj+ i∈Cj− xi , zj ∈ [0, 1], ∀i, j 8 / 13
  • 9. Вход: Формулировка задачи «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 ). Теорема Алгоритм «Линейная релаксация и вероятностное округление» обеспечивает приближенное решение «MAX-SAT», со средней 1 точностью (1 − e ). Откуда следует, что m EX ≤ e m X (x1 = d1 , . . . , xn = dn ) ≤ e 9 / 13
  • 10. Дерандомизация для MAX-SAT Вероятность невыполнения j-й дизъюнкции       Pj = P{Cj = 0} = P xi + (1 − xi ) = 0 .  +  i∈C − i∈C  j j m EX = Pj , (3) j=1 Пусть первые k переменных определены и I0 : ∀i ∈ I0 xi = 0 I1 : ∀i ∈ I1 xi = 1 Если I0 ∩ Cj− = ∅ или I1 ∩ Cj+ = ∅, то Pj = 0, иначе: Pj = (1 − pi ) · pi . (4) i∈Cj+ I0 i∈Cj− I1 10 / 13
  • 11. Дерандомизация для MAX-SAT Вход: Формулировка задачи «MAX-SAT» в виде (1). Выход: (x1 , . . . , xn ) — приближенное решение (1). (p1 , . . . , pn ) ← решения линейной релаксации (2). for all i ∈ {1..n} do f0 = E X (x| xi = 0) {Вычисляется через (4)} f1 = E X (x| xi = 1) { и (3)} if f0 < f1 then xi ← 0 else xi ← 1 end if end for return x Упражнение Как организовать вычисление f0 и f1 , чтобы сложность алгоритма (кроме решения линейной релаксации) была O(mn)? 11 / 13
  • 12. Дерандомизация для MAX-SAT Вход: Формулировка задачи «MAX-SAT» в виде (1). Выход: (x1 , . . . , xn ) — приближенное решение (1). (p1 , . . . , pn ) ← решения линейной релаксации (2). for all i ∈ {1..n} do f0 = E X (x| xi = 0) {Вычисляется через (4)} f1 = E X (x| xi = 1) { и (3)} if f0 < f1 then xi ← 0 else xi ← 1 end if end for return x Упражнение Как организовать вычисление f0 и f1 , чтобы сложность алгоритма (кроме решения линейной релаксации) была O(mn)? 12 / 13
  • 13. Интернет поддержка курса http://discopal.ispras.ru/ Вопросы? 13 / 13