28
Вероятностное округление для «MAX-CUT» Н.Н. Кузюрин С.А. Фомин 10 октября 2008 г. Задачи полуопределенного и векторного программирования. Вероятностное округление для задачи о максимальном разрезе в графе (MAX-CUT). 1 / 28

Max Cut Semidefinite

Embed Size (px)

Citation preview

Page 1: Max Cut Semidefinite

Вероятностное округление для «MAX-CUT»

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

10 октября 2008 г.

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

1 / 28

Page 2: Max Cut Semidefinite

Определение

Пусть есть граф 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

Определение

Для графа 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

Определение

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

1 ≥ EmA(I )

m0(I )≥ C > 0,

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

4 / 28

Page 5: Max Cut Semidefinite

Для простого, невзвешенного графа можно применить простуюстратегию: каждую вершину равновероятно (p = 1/2) приписатьк множеству T или S .

УпражнениеДокажите, что этот вероятностный алгоритм является0.5-приближенным.

5 / 28

Page 6: Max Cut Semidefinite

Задача

«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

Задача

«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

Линейная релаксация «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

Линейная релаксация «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

Линейная релаксация «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

Определение

Матрица 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

Задача

«Полуопределенное программирование»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

Задача

«Векторное программирование»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

Задача

«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

Линейная релаксация «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

Линейная релаксация «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

Линейная релаксация «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

«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

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

vi vj

r

θij

19 / 28

Page 20: Max Cut Semidefinite

ТеоремаПусть (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

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≤θ≤π

π(1− cos θ)≥ 0.878.

21 / 28

Page 22: Max Cut Semidefinite

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≤θ≤π

π(1− cos θ)≥ 0.878.

22 / 28

Page 23: Max Cut Semidefinite

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≤θ≤π

π(1− cos θ)≥ 0.878.

23 / 28

Page 24: Max Cut Semidefinite

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≤θ≤π

π(1− cos θ)≥ 0.878.

24 / 28

Page 25: Max Cut Semidefinite

25 / 28

Page 26: Max Cut Semidefinite

min0<θ≤π

π(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

�Карта памяти� лекции

27 / 28

Page 28: Max Cut Semidefinite

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

http://discopal.ispras.ru/

Вопросы?

28 / 28