Max Cut Semidefinite
-
Upload
stas-fomin -
Category
Documents
-
view
490 -
download
0
Transcript of Max Cut Semidefinite
![Page 1: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/1.jpg)
Вероятностное округление для «MAX-CUT»
Н.Н. Кузюрин С.А. Фомин
10 октября 2008 г.
Задачи полуопределенного и векторногопрограммирования. Вероятностное округление длязадачи о максимальном разрезе в графе (�MAX-CUT�).
1 / 28
![Page 2: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/2.jpg)
Определение
Пусть есть граф 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
![Page 3: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/3.jpg)
Определение
Для графа G = (V ,E ) размером разреза (S ,T ) считается числоребер, пересекающих этот разрез.Если граф — взвешенный, т.е. каждому ребру e ∈ E соответствуетнекоторый вес we , то размером разреза (S ,T ) считается сумма весовребер пересекающих этот разрез:
R(S ,T ) =∑
e=(v ,t)∈E : v∈S,t∈T
we .
Задача
«Максимальный разрез/MAX-CUT».Для взвешенного графа G = (V ,E ) с весами we найти разрез (S ,T )с максимальным весом R(S ,T ).
3 / 28
![Page 4: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/4.jpg)
Определение
Вероятностный приближенный алгоритм A гарантирует точность C ,если для всех входов I
1 ≥ EmA(I )
m0(I )≥ C > 0,
где m0(I ) — оптимум, mA(I ) — значение, найденное алгоритмом, ирешается задача максимизации.
4 / 28
![Page 5: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/5.jpg)
Для простого, невзвешенного графа можно применить простуюстратегию: каждую вершину равновероятно (p = 1/2) приписатьк множеству T или S .
УпражнениеДокажите, что этот вероятностный алгоритм является0.5-приближенным.
5 / 28
![Page 6: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/6.jpg)
Задача
«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 )⇔ yiyj = −1.
R(S ,T ) — Вес разреза (S ,T ). R(S ,T ) =∑
i<j1−yiyj
2 wij .
Задача целочисленного квадратичного программирования:
ZЦП =∑i<j
1− yiyj
2wij → max
∀i yi ∈ {−1, 1}.
6 / 28
![Page 7: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/7.jpg)
Задача
«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 )⇔ yiyj = −1.
R(S ,T ) — Вес разреза (S ,T ). R(S ,T ) =∑
i<j1−yiyj
2 wij .
Задача целочисленного квадратичного программирования:
ZЦП =∑i<j
1− yiyj
2wij → max
∀i yi ∈ {−1, 1}.
7 / 28
![Page 8: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/8.jpg)
Линейная релаксация «MAX-CUT(ЦП)»
Задача
«MAX-CUT(VP)»
ZVP =∑i<j
1− v i · v j
2wij → max
∀i v i · v i = 1,
∀i v i ∈ Rn.
«VP» ⇒ можем решать эффективно.
Z ∗ЦП ≤ Z ∗VP .
8 / 28
![Page 9: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/9.jpg)
Линейная релаксация «MAX-CUT(ЦП)»
Задача
«MAX-CUT(VP)»
ZVP =∑i<j
1− v i · v j
2wij → max
∀i v i · v i = 1,
∀i v i ∈ Rn.
«VP» ⇒ можем решать эффективно.
Z ∗ЦП ≤ Z ∗VP .
9 / 28
![Page 10: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/10.jpg)
Линейная релаксация «MAX-CUT(ЦП)»
Задача
«MAX-CUT(VP)»
ZVP =∑i<j
1− v i · v j
2wij → max
∀i v i · v i = 1,
∀i v i ∈ Rn.
«VP» ⇒ можем решать эффективно.
Z ∗ЦП ≤ Z ∗VP .
10 / 28
![Page 11: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/11.jpg)
Определение
Матрица X ∈ Rn×n является положительно полуопределенной если
∀a ∈ Rn, aTXa ≥ 0.
Обозначение: X < 0.
Для симметрической X ∈ Rn×n, следующее эквивалентно:X < 0;X имеет неотрицательные собственные значения;X = V TV , для некоторого V ∈ Rm×n, где m ≤ n.
11 / 28
![Page 12: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/12.jpg)
Задача
«Полуопределенное программирование»a.
∑i ,j
cijxij → max(min)
∀k∑i ,j
aijkxij = bk ,
X = (xij) < 0,
∀i , j xij = xji .
aВ англоязычной литературе SDP, semidefinite programming.
Для задачи есть существуют эффективные полиномиальныеалгоритмы, находящие приближенное решение с некоторойаддитивной ошибкой ε, и временем, ограниченным полиномом подлине входа и O(log(1
ε )).
12 / 28
![Page 13: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/13.jpg)
Задача
«Векторное программирование»a.∑i ,j
cij(v i · v j) → max(min)
∀k∑i ,j
aijk(v i · v j) = bk ,
∀i v i ∈ Rn.
aВ англоязычной литературе VP, vector programming.
Эквивалентность задач «SDP» и «VP», следует из факторизацииположительно полуопределенной матрицы X в виде
X = V TV , (xij = v i · v j).
13 / 28
![Page 14: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/14.jpg)
Задача
«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 )⇔ yiyj = −1.
R(S ,T ) — Вес разреза (S ,T ). R(S ,T ) =∑
i<j1−yiyj
2 wij .
Задача целочисленного квадратичного программирования:
ZЦП =∑i<j
1− yiyj
2wij → max
∀i yi ∈ {−1, 1}.
14 / 28
![Page 15: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/15.jpg)
Линейная релаксация «MAX-CUT(ЦП)»
Задача
«MAX-CUT(VP)»
ZVP =∑i<j
1− v i · v j
2wij → max
∀i v i · v i = 1,
∀i v i ∈ Rn.
«VP» ⇒ можем решать эффективно.
Z ∗ЦП ≤ Z ∗VP .
15 / 28
![Page 16: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/16.jpg)
Линейная релаксация «MAX-CUT(ЦП)»
Задача
«MAX-CUT(VP)»
ZVP =∑i<j
1− v i · v j
2wij → max
∀i v i · v i = 1,
∀i v i ∈ Rn.
«VP» ⇒ можем решать эффективно.
Z ∗ЦП ≤ Z ∗VP .
16 / 28
![Page 17: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/17.jpg)
Линейная релаксация «MAX-CUT(ЦП)»
Задача
«MAX-CUT(VP)»
ZVP =∑i<j
1− v i · v j
2wij → max
∀i v i · v i = 1,
∀i v i ∈ Rn.
«VP» ⇒ можем решать эффективно.
Z ∗ЦП ≤ Z ∗VP .
17 / 28
![Page 18: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/18.jpg)
«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 thenS ← S ∪ {i}
elseT ← T ∪ {i}
end ifend for
Выход: (S,T) — приближенное решение (1).
18 / 28
![Page 19: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/19.jpg)
«зона» S «зона» T
vi vj
r
θij
19 / 28
![Page 20: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/20.jpg)
ТеоремаПусть (S∗,T ∗) — оптимальный разрез для задачи «MAX-CUT», тогдадля математического ожидания величины разреза (S ′,T ′),полученного вероятностным алгоритмом «SDP-округлениеMAX-CUT» выполняется:
E[R(S ′,T ′)] ≥ 0.878 · R(S∗,T ∗).
20 / 28
![Page 21: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/21.jpg)
P(yi 6= yj) = P(yiyj = −1) =θijπ,
E∑i<j
1− yiyj
2wij =
∑i<j
2 · P(yi 6= yj)
2wij =
∑i<j
θijπ
wij .
ZVP =∑i<j
1− v i · v j
2wij =
∑i<j
1− cos θij2
wij .
E[R(S ′,T ′)]
R(S∗,T ∗)≥ E[R(S ′,T ′)]
ZVP
=
∑i<j
θijπ wij∑
i<j1−cos θij
2 wij
≥ min0≤θ≤π
2θ
π(1− cos θ)≥ 0.878.
21 / 28
![Page 22: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/22.jpg)
P(yi 6= yj) = P(yiyj = −1) =θijπ,
E∑i<j
1− yiyj
2wij =
∑i<j
2 · P(yi 6= yj)
2wij =
∑i<j
θijπ
wij .
ZVP =∑i<j
1− v i · v j
2wij =
∑i<j
1− cos θij2
wij .
E[R(S ′,T ′)]
R(S∗,T ∗)≥ E[R(S ′,T ′)]
ZVP
=
∑i<j
θijπ wij∑
i<j1−cos θij
2 wij
≥ min0≤θ≤π
2θ
π(1− cos θ)≥ 0.878.
22 / 28
![Page 23: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/23.jpg)
P(yi 6= yj) = P(yiyj = −1) =θijπ,
E∑i<j
1− yiyj
2wij =
∑i<j
2 · P(yi 6= yj)
2wij =
∑i<j
θijπ
wij .
ZVP =∑i<j
1− v i · v j
2wij =
∑i<j
1− cos θij2
wij .
E[R(S ′,T ′)]
R(S∗,T ∗)≥ E[R(S ′,T ′)]
ZVP
=
∑i<j
θijπ wij∑
i<j1−cos θij
2 wij
≥ min0≤θ≤π
2θ
π(1− cos θ)≥ 0.878.
23 / 28
![Page 24: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/24.jpg)
P(yi 6= yj) = P(yiyj = −1) =θijπ,
E∑i<j
1− yiyj
2wij =
∑i<j
2 · P(yi 6= yj)
2wij =
∑i<j
θijπ
wij .
ZVP =∑i<j
1− v i · v j
2wij =
∑i<j
1− cos θij2
wij .
E[R(S ′,T ′)]
R(S∗,T ∗)≥ E[R(S ′,T ′)]
ZVP
=
∑i<j
θijπ wij∑
i<j1−cos θij
2 wij
≥ min0≤θ≤π
2θ
π(1− cos θ)≥ 0.878.
24 / 28
![Page 25: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/25.jpg)
25 / 28
![Page 26: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/26.jpg)
min0<θ≤π
2θ
π(1− cos θ)≥ 0.878.
< load("newton");< y:2*x/%pi/(1-cos(x));< x0:newton(diff(y,x),3);> 2.331122370414422B0< y(x0),numer;> 0.87856720578485
26 / 28
![Page 27: Max Cut Semidefinite](https://reader033.fdocuments.net/reader033/viewer/2022060119/558de7261a28ab220c8b457b/html5/thumbnails/27.jpg)
�Карта памяти� лекции
27 / 28