SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Вероятностное округление для «MAX-CUT»

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



               10 октября 2008 г.


     Задачи полуопределенного и векторного
     программирования. Вероятностное округление для
     задачи о максимальном разрезе в графе ( MAX-CUT ).



                                               1 / 28
Определение
Пусть есть граф G = (V , E ). Разрезом (сечением, cut) называется
разбиение множества вершин V на непересекающиеся множества S
и T . Т.е. V = S ∪ T и S ∩ T = ∅.

Определение
Для графа G = (V , E ) и разреза (S, T ) ребро e = (v , t) считается
пересекающим разрез, если v ∈ S, а t ∈ T .




                                                                 2 / 28
Определение
Для графа G = (V , E ) размером разреза (S, T ) считается число
ребер, пересекающих этот разрез.
Если граф — взвешенный, т.е. каждому ребру e ∈ E соответствует
некоторый вес we , то размером разреза (S, T ) считается сумма весов
ребер пересекающих этот разрез:

                   R(S, T ) =                           we .
                                e=(v ,t)∈E : v ∈S,t∈T


Задача
«Максимальный разрез/MAX-CUT».
Для взвешенного графа G = (V , E ) с весами we найти разрез (S, T )
с максимальным весом R(S, T ).


                                                               3 / 28
Определение
Вероятностный приближенный алгоритм A гарантирует точность C ,
если для всех входов I

                             E mA (I )
                        1≥             ≥ C > 0,
                              m0 (I )
где m0 (I ) — оптимум, mA (I ) — значение, найденное алгоритмом, и
решается задача максимизации.




                                                              4 / 28
Для простого, невзвешенного графа можно применить простую
стратегию: каждую вершину равновероятно (p = 1/2) приписать
к множеству T или S.
Упражнение
Докажите, что этот вероятностный алгоритм является
0.5-приближенным.




                                                          5 / 28
Задача
«MAX-CUT(ЦП)»
G = (V , E ) — входной граф, |V | = n;
 W = (wij ) — веса ребер, n × n матрица. Для отсутствующего между
            vi и vj ребра — wij = 0;
         yi — принадлежность вершины части разреза:
            vi ∈ S → yi = 1, vi ∈ T → yi = −1.
            Ребро (vi , vj ) ∈ (S, T ) ⇔ yi yj = −1.
                                                           1−yi yj
   R(S, T ) — Вес разреза (S, T ). R(S, T ) =        i<j     2 wij .

Задача целочисленного квадратичного программирования:

                              1 − yi yj
                ZЦП =                   wij   → max
                                 2
                        i<j
                                     ∀i yi    ∈   {−1, 1}.

                                                                       6 / 28
Задача
«MAX-CUT(ЦП)»
G = (V , E ) — входной граф, |V | = n;
 W = (wij ) — веса ребер, n × n матрица. Для отсутствующего между
            vi и vj ребра — wij = 0;
         yi — принадлежность вершины части разреза:
            vi ∈ S → yi = 1, vi ∈ T → yi = −1.
            Ребро (vi , vj ) ∈ (S, T ) ⇔ yi yj = −1.
                                                           1−yi yj
   R(S, T ) — Вес разреза (S, T ). R(S, T ) =        i<j     2 wij .

Задача целочисленного квадратичного программирования:

                              1 − yi yj
                ZЦП =                   wij   → max
                                 2
                        i<j
                                     ∀i yi    ∈   {−1, 1}.

                                                                       7 / 28
Линейная релаксация «MAX-CUT(ЦП)»

Задача
«MAX-CUT(VP)»

                              1 − vi · vj
                ZVP =                     wij     → max
                                  2
                        i<j
                                   ∀i v i · v i   =   1,
                                        ∀i v i    ∈   R n.


«VP» ⇒ можем решать эффективно.
                               ∗     ∗
                              ZЦП ≤ ZVP .




                                                             8 / 28
Линейная релаксация «MAX-CUT(ЦП)»

Задача
«MAX-CUT(VP)»

                              1 − vi · vj
                ZVP =                     wij     → max
                                  2
                        i<j
                                   ∀i v i · v i   =   1,
                                        ∀i v i    ∈   R n.


«VP» ⇒ можем решать эффективно.
                               ∗     ∗
                              ZЦП ≤ ZVP .




                                                             9 / 28
Линейная релаксация «MAX-CUT(ЦП)»

Задача
«MAX-CUT(VP)»

                              1 − vi · vj
                ZVP =                     wij     → max
                                  2
                        i<j
                                   ∀i v i · v i   =   1,
                                        ∀i v i    ∈   R n.


«VP» ⇒ можем решать эффективно.
                               ∗     ∗
                              ZЦП ≤ ZVP .




                                                             10 / 28
Определение
Матрица X ∈ R n×n является положительно полуопределенной если

                        ∀a ∈ R n , aT Xa ≥ 0.

Обозначение: X    0.

Для симметрической X ∈ R n×n , следующее эквивалентно:
    X   0;
    X имеет неотрицательные собственные значения;
    X = V T V , для некоторого V ∈ R m×n , где m ≤ n.




                                                         11 / 28
Задача
«Полуопределенное программирование»a .


                                      cij xij   → max(min)
                               i,j

                         ∀k          aijk xij   =   bk ,
                              i,j
                              X = (xij )            0,
                                ∀i, j xij       =   xji .
  a
      В англоязычной литературе SDP, semidefinite programming.

Для задачи есть существуют эффективные полиномиальные
алгоритмы, находящие приближенное решение с некоторой
аддитивной ошибкой , и временем, ограниченным полиномом по
длине входа и O(log( 1 )).

                                                                 12 / 28
Задача
«Векторное программирование»a .

                                   cij (v i · v j ) → max(min)
                            i,j

                      ∀k          aijk (v i · v j )   =    bk ,
                           i,j
                                  ∀i v i ∈ R n .
  a
      В англоязычной литературе VP, vector programming.

Эквивалентность задач «SDP» и «VP», следует из факторизации
положительно полуопределенной матрицы X в виде

                           X = V TV ,            (xij = v i · v j ).



                                                                       13 / 28
Задача
«MAX-CUT(ЦП)»
G = (V , E ) — входной граф, |V | = n;
 W = (wij ) — веса ребер, n × n матрица. Для отсутствующего между
            vi и vj ребра — wij = 0;
         yi — принадлежность вершины части разреза:
            vi ∈ S → yi = 1, vi ∈ T → yi = −1.
            Ребро (vi , vj ) ∈ (S, T ) ⇔ yi yj = −1.
                                                           1−yi yj
   R(S, T ) — Вес разреза (S, T ). R(S, T ) =        i<j     2 wij .

Задача целочисленного квадратичного программирования:

                              1 − yi yj
                ZЦП =                   wij   → max
                                 2
                        i<j
                                     ∀i yi    ∈   {−1, 1}.

                                                                       14 / 28
Линейная релаксация «MAX-CUT(ЦП)»

Задача
«MAX-CUT(VP)»

                              1 − vi · vj
                ZVP =                     wij     → max
                                  2
                        i<j
                                   ∀i v i · v i   =   1,
                                        ∀i v i    ∈   R n.


«VP» ⇒ можем решать эффективно.
                               ∗     ∗
                              ZЦП ≤ ZVP .




                                                             15 / 28
Линейная релаксация «MAX-CUT(ЦП)»

Задача
«MAX-CUT(VP)»

                              1 − vi · vj
                ZVP =                     wij     → max
                                  2
                        i<j
                                   ∀i v i · v i   =   1,
                                        ∀i v i    ∈   R n.


«VP» ⇒ можем решать эффективно.
                               ∗     ∗
                              ZЦП ≤ ZVP .




                                                             16 / 28
Линейная релаксация «MAX-CUT(ЦП)»

Задача
«MAX-CUT(VP)»

                              1 − vi · vj
                ZVP =                     wij     → max
                                  2
                        i<j
                                   ∀i v i · v i   =   1,
                                        ∀i v i    ∈   R n.


«VP» ⇒ можем решать эффективно.
                               ∗     ∗
                              ZЦП ≤ ZVP .




                                                             17 / 28
«SDP-округление MAX-CUT»

Вход: «MAX-CUT» в виде «MAX-CUT(ЦП)»
  (v1 , . . . , vn ) ← решения релаксации «MAX-CUT(VP)»
  случайно выбираем r из равномерного распределения векторов
  единичной длины
  S ←T ←∅
  for all i ∈ {1..n} do
    if v i · r ≥ 0 then
         S ← S ∪ {i}
    else
         T ← T ∪ {i}
    end if
  end for
Выход: (S,T) — приближенное решение (1).



                                                         18 / 28
vi              vj
           θij


«зона» S         «зона» T

r




                            19 / 28
Теорема
Пусть (S ∗ , T ∗ ) — оптимальный разрез для задачи «MAX-CUT», тогда
для математического ожидания величины разреза (S , T ),
полученного вероятностным алгоритмом «SDP-округление
MAX-CUT» выполняется:

                  E[R(S , T )] ≥ 0.878 · R(S ∗ , T ∗ ).




                                                          20 / 28
θij
              P(yi = yj ) = P(yi yj = −1) =                 ,
                                                        π
          1 − yi yj               2 · P(yi = yj )                     θij
E                   wij =                         wij =                   wij .
             2                           2                            π
    i<j                     i<j                                 i<j

                      1 − vi · vj                 1 − cos θij
      ZVP =                       wij =                       wij .
                          2                           2
                i<j                         i<j


     E[R(S , T )]             E[R(S , T )]
                        ≥
      R(S ∗ , T ∗ )              ZVP
                                           θij
                                       i<j π wij
                        =               1−cos θij
                                   i<j      2     wij
                                            2θ
                        ≥         min                ≥ 0.878.
                              0≤θ≤π     π(1 − cos θ)


                                                                                  21 / 28
θij
              P(yi = yj ) = P(yi yj = −1) =                 ,
                                                        π
          1 − yi yj               2 · P(yi = yj )                     θij
E                   wij =                         wij =                   wij .
             2                           2                            π
    i<j                     i<j                                 i<j

                      1 − vi · vj                 1 − cos θij
      ZVP =                       wij =                       wij .
                          2                           2
                i<j                         i<j


     E[R(S , T )]             E[R(S , T )]
                        ≥
      R(S ∗ , T ∗ )              ZVP
                                           θij
                                       i<j π wij
                        =               1−cos θij
                                   i<j      2     wij
                                            2θ
                        ≥         min                ≥ 0.878.
                              0≤θ≤π     π(1 − cos θ)


                                                                                  22 / 28
θij
              P(yi = yj ) = P(yi yj = −1) =                 ,
                                                        π
          1 − yi yj               2 · P(yi = yj )                     θij
E                   wij =                         wij =                   wij .
             2                           2                            π
    i<j                     i<j                                 i<j

                      1 − vi · vj                 1 − cos θij
      ZVP =                       wij =                       wij .
                          2                           2
                i<j                         i<j


     E[R(S , T )]             E[R(S , T )]
                        ≥
      R(S ∗ , T ∗ )              ZVP
                                           θij
                                       i<j π wij
                        =               1−cos θij
                                   i<j      2     wij
                                            2θ
                        ≥         min                ≥ 0.878.
                              0≤θ≤π     π(1 − cos θ)


                                                                                  23 / 28
θij
              P(yi = yj ) = P(yi yj = −1) =                 ,
                                                        π
          1 − yi yj               2 · P(yi = yj )                     θij
E                   wij =                         wij =                   wij .
             2                           2                            π
    i<j                     i<j                                 i<j

                      1 − vi · vj                 1 − cos θij
      ZVP =                       wij =                       wij .
                          2                           2
                i<j                         i<j


     E[R(S , T )]             E[R(S , T )]
                        ≥
      R(S ∗ , T ∗ )              ZVP
                                           θij
                                       i<j π wij
                        =               1−cos θij
                                   i<j      2     wij
                                            2θ
                        ≥         min                ≥ 0.878.
                              0≤θ≤π     π(1 − cos θ)


                                                                                  24 / 28
25 / 28
2θ
                  min               ≥ 0.878.
                 0<θ≤π π(1 − cos θ)




<   load(quot;newtonquot;);
<   y:2*x/%pi/(1-cos(x));
<   x0:newton(diff(y,x),3);
>   2.331122370414422B0
<   y(x0),numer;
>   0.87856720578485




                                               26 / 28
Карта памяти лекции




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




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



                           28 / 28

Más contenido relacionado

La actualidad más candente

iKS-Consulting Games Rating 2008 for Russia
iKS-Consulting Games Rating 2008 for RussiaiKS-Consulting Games Rating 2008 for Russia
iKS-Consulting Games Rating 2008 for RussiaProcontent.Ru Magazine
 
Bulgarian bible 90)_new_testament
Bulgarian bible 90)_new_testamentBulgarian bible 90)_new_testament
Bulgarian bible 90)_new_testamentWorldBibles
 
03 Right Of Access
03 Right Of Access03 Right Of Access
03 Right Of Accessolegapster
 
Организация навигации в интерфейсах веб-сайтов: 5 принципов
Организация навигации в интерфейсах веб-сайтов: 5 принциповОрганизация навигации в интерфейсах веб-сайтов: 5 принципов
Организация навигации в интерфейсах веб-сайтов: 5 принциповDenis Beskov
 
Greedy Covering
Greedy CoveringGreedy Covering
Greedy CoveringStas Fomin
 
Согласование интересов с помощью диаграммы Use Case
Согласование интересов с помощью диаграммы Use CaseСогласование интересов с помощью диаграммы Use Case
Согласование интересов с помощью диаграммы Use CaseDenis Beskov
 
Brazil Report 2007 12 25 12
Brazil Report 2007 12 25 12Brazil Report 2007 12 25 12
Brazil Report 2007 12 25 12Victor Gridnev
 
Ошибки при формулировании исковых требований в исках о защите прав 
относител...
Ошибки при формулировании исковых требований в исках о защите прав 
относител...Ошибки при формулировании исковых требований в исках о защите прав 
относител...
Ошибки при формулировании исковых требований в исках о защите прав 
относител...Krainiak
 
RIW 2008: Сервис МТС Онлайн платеж
RIW 2008: Сервис МТС Онлайн платежRIW 2008: Сервис МТС Онлайн платеж
RIW 2008: Сервис МТС Онлайн платежE-Money News
 
Serbian bible 90)_new_testament
Serbian bible 90)_new_testamentSerbian bible 90)_new_testament
Serbian bible 90)_new_testamentWorldBibles
 

La actualidad más candente (17)

iKS-Consulting Games Rating 2008 for Russia
iKS-Consulting Games Rating 2008 for RussiaiKS-Consulting Games Rating 2008 for Russia
iKS-Consulting Games Rating 2008 for Russia
 
Choch
ChochChoch
Choch
 
Bulgarian bible 90)_new_testament
Bulgarian bible 90)_new_testamentBulgarian bible 90)_new_testament
Bulgarian bible 90)_new_testament
 
03 Right Of Access
03 Right Of Access03 Right Of Access
03 Right Of Access
 
Организация навигации в интерфейсах веб-сайтов: 5 принципов
Организация навигации в интерфейсах веб-сайтов: 5 принциповОрганизация навигации в интерфейсах веб-сайтов: 5 принципов
Организация навигации в интерфейсах веб-сайтов: 5 принципов
 
3
33
3
 
Greedy Covering
Greedy CoveringGreedy Covering
Greedy Covering
 
5
55
5
 
Согласование интересов с помощью диаграммы Use Case
Согласование интересов с помощью диаграммы Use CaseСогласование интересов с помощью диаграммы Use Case
Согласование интересов с помощью диаграммы Use Case
 
анкета
анкетаанкета
анкета
 
Brazil Report 2007 12 25 12
Brazil Report 2007 12 25 12Brazil Report 2007 12 25 12
Brazil Report 2007 12 25 12
 
Angina Pectoris
Angina PectorisAngina Pectoris
Angina Pectoris
 
1
11
1
 
Ошибки при формулировании исковых требований в исках о защите прав 
относител...
Ошибки при формулировании исковых требований в исках о защите прав 
относител...Ошибки при формулировании исковых требований в исках о защите прав 
относител...
Ошибки при формулировании исковых требований в исках о защите прав 
относител...
 
RIW 2008: Сервис МТС Онлайн платеж
RIW 2008: Сервис МТС Онлайн платежRIW 2008: Сервис МТС Онлайн платеж
RIW 2008: Сервис МТС Онлайн платеж
 
4
44
4
 
Serbian bible 90)_new_testament
Serbian bible 90)_new_testamentSerbian bible 90)_new_testament
Serbian bible 90)_new_testament
 

Más 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
 
Теория ограничений и Линейное программирование
Теория ограничений и Линейное программированиеТеория ограничений и Линейное программирование
Теория ограничений и Линейное программирование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
 
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 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
 

Más 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
 
Ptas Knapsack
Ptas KnapsackPtas Knapsack
Ptas Knapsack
 
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
 
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 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
 

Max Cut Semidefinite

  • 1. Вероятностное округление для «MAX-CUT» Н.Н. Кузюрин С.А. Фомин 10 октября 2008 г. Задачи полуопределенного и векторного программирования. Вероятностное округление для задачи о максимальном разрезе в графе ( MAX-CUT ). 1 / 28
  • 2. Определение Пусть есть граф G = (V , E ). Разрезом (сечением, cut) называется разбиение множества вершин V на непересекающиеся множества S и T . Т.е. V = S ∪ T и S ∩ T = ∅. Определение Для графа G = (V , E ) и разреза (S, T ) ребро e = (v , t) считается пересекающим разрез, если v ∈ S, а t ∈ T . 2 / 28
  • 3. Определение Для графа G = (V , E ) размером разреза (S, T ) считается число ребер, пересекающих этот разрез. Если граф — взвешенный, т.е. каждому ребру e ∈ E соответствует некоторый вес we , то размером разреза (S, T ) считается сумма весов ребер пересекающих этот разрез: R(S, T ) = we . e=(v ,t)∈E : v ∈S,t∈T Задача «Максимальный разрез/MAX-CUT». Для взвешенного графа G = (V , E ) с весами we найти разрез (S, T ) с максимальным весом R(S, T ). 3 / 28
  • 4. Определение Вероятностный приближенный алгоритм A гарантирует точность C , если для всех входов I E mA (I ) 1≥ ≥ C > 0, m0 (I ) где m0 (I ) — оптимум, mA (I ) — значение, найденное алгоритмом, и решается задача максимизации. 4 / 28
  • 5. Для простого, невзвешенного графа можно применить простую стратегию: каждую вершину равновероятно (p = 1/2) приписать к множеству T или S. Упражнение Докажите, что этот вероятностный алгоритм является 0.5-приближенным. 5 / 28
  • 6. Задача «MAX-CUT(ЦП)» G = (V , E ) — входной граф, |V | = n; W = (wij ) — веса ребер, n × n матрица. Для отсутствующего между vi и vj ребра — wij = 0; yi — принадлежность вершины части разреза: vi ∈ S → yi = 1, vi ∈ T → yi = −1. Ребро (vi , vj ) ∈ (S, T ) ⇔ yi yj = −1. 1−yi yj R(S, T ) — Вес разреза (S, T ). R(S, T ) = i<j 2 wij . Задача целочисленного квадратичного программирования: 1 − yi yj ZЦП = wij → max 2 i<j ∀i yi ∈ {−1, 1}. 6 / 28
  • 7. Задача «MAX-CUT(ЦП)» G = (V , E ) — входной граф, |V | = n; W = (wij ) — веса ребер, n × n матрица. Для отсутствующего между vi и vj ребра — wij = 0; yi — принадлежность вершины части разреза: vi ∈ S → yi = 1, vi ∈ T → yi = −1. Ребро (vi , vj ) ∈ (S, T ) ⇔ yi yj = −1. 1−yi yj R(S, T ) — Вес разреза (S, T ). R(S, T ) = i<j 2 wij . Задача целочисленного квадратичного программирования: 1 − yi yj ZЦП = wij → max 2 i<j ∀i yi ∈ {−1, 1}. 7 / 28
  • 8. Линейная релаксация «MAX-CUT(ЦП)» Задача «MAX-CUT(VP)» 1 − vi · vj ZVP = wij → max 2 i<j ∀i v i · v i = 1, ∀i v i ∈ R n. «VP» ⇒ можем решать эффективно. ∗ ∗ ZЦП ≤ ZVP . 8 / 28
  • 9. Линейная релаксация «MAX-CUT(ЦП)» Задача «MAX-CUT(VP)» 1 − vi · vj ZVP = wij → max 2 i<j ∀i v i · v i = 1, ∀i v i ∈ R n. «VP» ⇒ можем решать эффективно. ∗ ∗ ZЦП ≤ ZVP . 9 / 28
  • 10. Линейная релаксация «MAX-CUT(ЦП)» Задача «MAX-CUT(VP)» 1 − vi · vj ZVP = wij → max 2 i<j ∀i v i · v i = 1, ∀i v i ∈ R n. «VP» ⇒ можем решать эффективно. ∗ ∗ ZЦП ≤ ZVP . 10 / 28
  • 11. Определение Матрица X ∈ R n×n является положительно полуопределенной если ∀a ∈ R n , aT Xa ≥ 0. Обозначение: X 0. Для симметрической X ∈ R n×n , следующее эквивалентно: X 0; X имеет неотрицательные собственные значения; X = V T V , для некоторого V ∈ R m×n , где m ≤ n. 11 / 28
  • 12. Задача «Полуопределенное программирование»a . cij xij → max(min) i,j ∀k aijk xij = bk , i,j X = (xij ) 0, ∀i, j xij = xji . a В англоязычной литературе SDP, semidefinite programming. Для задачи есть существуют эффективные полиномиальные алгоритмы, находящие приближенное решение с некоторой аддитивной ошибкой , и временем, ограниченным полиномом по длине входа и O(log( 1 )). 12 / 28
  • 13. Задача «Векторное программирование»a . cij (v i · v j ) → max(min) i,j ∀k aijk (v i · v j ) = bk , i,j ∀i v i ∈ R n . a В англоязычной литературе VP, vector programming. Эквивалентность задач «SDP» и «VP», следует из факторизации положительно полуопределенной матрицы X в виде X = V TV , (xij = v i · v j ). 13 / 28
  • 14. Задача «MAX-CUT(ЦП)» G = (V , E ) — входной граф, |V | = n; W = (wij ) — веса ребер, n × n матрица. Для отсутствующего между vi и vj ребра — wij = 0; yi — принадлежность вершины части разреза: vi ∈ S → yi = 1, vi ∈ T → yi = −1. Ребро (vi , vj ) ∈ (S, T ) ⇔ yi yj = −1. 1−yi yj R(S, T ) — Вес разреза (S, T ). R(S, T ) = i<j 2 wij . Задача целочисленного квадратичного программирования: 1 − yi yj ZЦП = wij → max 2 i<j ∀i yi ∈ {−1, 1}. 14 / 28
  • 15. Линейная релаксация «MAX-CUT(ЦП)» Задача «MAX-CUT(VP)» 1 − vi · vj ZVP = wij → max 2 i<j ∀i v i · v i = 1, ∀i v i ∈ R n. «VP» ⇒ можем решать эффективно. ∗ ∗ ZЦП ≤ ZVP . 15 / 28
  • 16. Линейная релаксация «MAX-CUT(ЦП)» Задача «MAX-CUT(VP)» 1 − vi · vj ZVP = wij → max 2 i<j ∀i v i · v i = 1, ∀i v i ∈ R n. «VP» ⇒ можем решать эффективно. ∗ ∗ ZЦП ≤ ZVP . 16 / 28
  • 17. Линейная релаксация «MAX-CUT(ЦП)» Задача «MAX-CUT(VP)» 1 − vi · vj ZVP = wij → max 2 i<j ∀i v i · v i = 1, ∀i v i ∈ R n. «VP» ⇒ можем решать эффективно. ∗ ∗ ZЦП ≤ ZVP . 17 / 28
  • 18. «SDP-округление MAX-CUT» Вход: «MAX-CUT» в виде «MAX-CUT(ЦП)» (v1 , . . . , vn ) ← решения релаксации «MAX-CUT(VP)» случайно выбираем r из равномерного распределения векторов единичной длины S ←T ←∅ for all i ∈ {1..n} do if v i · r ≥ 0 then S ← S ∪ {i} else T ← T ∪ {i} end if end for Выход: (S,T) — приближенное решение (1). 18 / 28
  • 19. vi vj θij «зона» S «зона» T r 19 / 28
  • 20. Теорема Пусть (S ∗ , T ∗ ) — оптимальный разрез для задачи «MAX-CUT», тогда для математического ожидания величины разреза (S , T ), полученного вероятностным алгоритмом «SDP-округление MAX-CUT» выполняется: E[R(S , T )] ≥ 0.878 · R(S ∗ , T ∗ ). 20 / 28
  • 21. θij P(yi = yj ) = P(yi yj = −1) = , π 1 − yi yj 2 · P(yi = yj ) θij E wij = wij = wij . 2 2 π i<j i<j i<j 1 − vi · vj 1 − cos θij ZVP = wij = wij . 2 2 i<j i<j E[R(S , T )] E[R(S , T )] ≥ R(S ∗ , T ∗ ) ZVP θij i<j π wij = 1−cos θij i<j 2 wij 2θ ≥ min ≥ 0.878. 0≤θ≤π π(1 − cos θ) 21 / 28
  • 22. θij P(yi = yj ) = P(yi yj = −1) = , π 1 − yi yj 2 · P(yi = yj ) θij E wij = wij = wij . 2 2 π i<j i<j i<j 1 − vi · vj 1 − cos θij ZVP = wij = wij . 2 2 i<j i<j E[R(S , T )] E[R(S , T )] ≥ R(S ∗ , T ∗ ) ZVP θij i<j π wij = 1−cos θij i<j 2 wij 2θ ≥ min ≥ 0.878. 0≤θ≤π π(1 − cos θ) 22 / 28
  • 23. θij P(yi = yj ) = P(yi yj = −1) = , π 1 − yi yj 2 · P(yi = yj ) θij E wij = wij = wij . 2 2 π i<j i<j i<j 1 − vi · vj 1 − cos θij ZVP = wij = wij . 2 2 i<j i<j E[R(S , T )] E[R(S , T )] ≥ R(S ∗ , T ∗ ) ZVP θij i<j π wij = 1−cos θij i<j 2 wij 2θ ≥ min ≥ 0.878. 0≤θ≤π π(1 − cos θ) 23 / 28
  • 24. θij P(yi = yj ) = P(yi yj = −1) = , π 1 − yi yj 2 · P(yi = yj ) θij E wij = wij = wij . 2 2 π i<j i<j i<j 1 − vi · vj 1 − cos θij ZVP = wij = wij . 2 2 i<j i<j E[R(S , T )] E[R(S , T )] ≥ R(S ∗ , T ∗ ) ZVP θij i<j π wij = 1−cos θij i<j 2 wij 2θ ≥ min ≥ 0.878. 0≤θ≤π π(1 − cos θ) 24 / 28
  • 26. min ≥ 0.878. 0<θ≤π π(1 − cos θ) < load(quot;newtonquot;); < y:2*x/%pi/(1-cos(x)); < x0:newton(diff(y,x),3); > 2.331122370414422B0 < y(x0),numer; > 0.87856720578485 26 / 28