max cut semidefinite
TRANSCRIPT
Вероятностное округление для «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 ) =∑
e=(v ,t)∈E : v∈S,t∈T
we .
Задача
«Максимальный разрез/MAX-CUT».Для взвешенного графа G = (V ,E ) с весами we найти разрез (S ,T )с максимальным весом R(S ,T ).
3 / 28
Определение
Вероятностный приближенный алгоритм A гарантирует точность C ,если для всех входов I
1 ≥ EmA(I )
m0(I )≥ C > 0,
где 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 )⇔ 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
Задача
«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
Линейная релаксация «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
Линейная релаксация «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
Линейная релаксация «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
Определение
Матрица 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
Задача
«Полуопределенное программирование»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
Задача
«Векторное программирование»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
Задача
«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
Линейная релаксация «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
Линейная релаксация «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
Линейная релаксация «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
«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
«зона» S «зона» T
vi vj
r
θij
19 / 28
ТеоремаПусть (S∗,T ∗) — оптимальный разрез для задачи «MAX-CUT», тогдадля математического ожидания величины разреза (S ′,T ′),полученного вероятностным алгоритмом «SDP-округлениеMAX-CUT» выполняется:
E[R(S ′,T ′)] ≥ 0.878 · R(S∗,T ∗).
20 / 28
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
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
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
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
25 / 28
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
�Карта памяти� лекции
27 / 28