18

Click here to load reader

Christofides

Embed Size (px)

Citation preview

Page 1: Christofides

Алгоритм Кристофидеса

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

10 октября 2008 г.

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

1 / 18

Page 2: Christofides

ОпределениеЭйлеровым путем в графе называется произвольный путь,проходящий через каждое ребро графа в точности один раз.

Определение

Замкнутый эйлеров путь называется эйлеровым обходом илиэйлеровым циклом.

Определение

Эйлеров граф — граф, в котором существует эйлеров обход.

2 / 18

Page 3: Christofides

Теорема

Эйлеров цикл существует ⇔ граф связный и все его вершины четнойстепени.

Доказательство.Достаточность ← алгоритм нахождения эйлерова пути.

Необходимость: если некоторая вершина v появляется в эйлеровомобходе k раз, то это означает, что степень этой вершины в графесоставляет 2k .

3 / 18

Page 4: Christofides

Алгоритм нахождения Эйлерова цикла

[0] + 0 : < 1 2 3 4 0 > -> [0, 1, 2, 3, 4, 0][0, 1, 2, 3, 4, 0] + 1 : < 4 1 > -> [0, 1, 4, 1, 2, 3, 4, 0][0, 1, 4, 1, 2, 3, 4, 0]

0

11

4

2

24

7

3

35

6

4 / 18

Page 5: Christofides

Задача

«Коммивояжер», «TSPa». Заданы неориентированный граф из nвершин-городов, и dij ≡ d(vi , vj) — положительные целые расстояниямежду городами.Чему равна наименьшая возможная длина кольцевого маршрута,проходящего по одному разу через все города? Т.е. нужно найтиминимально возможное значение суммы

min

p∈

1 2 . . . n. . . .

n−1∑i=1

dpi ,pi+1 + dpn,p1 , (1)

где минимум берется по всем перестановкам p чисел 1, . . . , n.aВ англоязычной литературе — Traveling Salesman Problem.

5 / 18

Page 6: Christofides

Определение

Задача коммивояжера (задача «TSP») называется метрической,если для матрицы расстояний выполнено неравенство треугольника:

∀i , j , k dik ≤ dij + djk .

В метрической TSP — граф должен быть полным!

ЛеммаМетрическая задача коммивояжера NP-полна.

Доказательство.1 �Гамильтонов цикл� (единичные веса) — NP-полна.2 Дополним до полного графа ребрами с весом 2.3 Граф с весами 1 и 2 — метрический.4 Если оптимум не включает в себя ребра с весом 2 — то это

гамильтонов цикл для исходного графа.

6 / 18

Page 7: Christofides

Определение

Задача коммивояжера (задача «TSP») называется метрической,если для матрицы расстояний выполнено неравенство треугольника:

∀i , j , k dik ≤ dij + djk .

В метрической TSP — граф должен быть полным!

ЛеммаМетрическая задача коммивояжера NP-полна.

Доказательство.1 �Гамильтонов цикл� (единичные веса) — NP-полна.2 Дополним до полного графа ребрами с весом 2.3 Граф с весами 1 и 2 — метрический.4 Если оптимум не включает в себя ребра с весом 2 — то это

гамильтонов цикл для исходного графа.

7 / 18

Page 8: Christofides

Определение

Задача коммивояжера (задача «TSP») называется метрической,если для матрицы расстояний выполнено неравенство треугольника:

∀i , j , k dik ≤ dij + djk .

В метрической TSP — граф должен быть полным!

ЛеммаМетрическая задача коммивояжера NP-полна.

Доказательство.1 �Гамильтонов цикл� (единичные веса) — NP-полна.2 Дополним до полного графа ребрами с весом 2.3 Граф с весами 1 и 2 — метрический.4 Если оптимум не включает в себя ребра с весом 2 — то это

гамильтонов цикл для исходного графа.

8 / 18

Page 9: Christofides

Определение

Задача коммивояжера (задача «TSP») называется метрической,если для матрицы расстояний выполнено неравенство треугольника:

∀i , j , k dik ≤ dij + djk .

В метрической TSP — граф должен быть полным!

ЛеммаМетрическая задача коммивояжера NP-полна.

Доказательство.1 �Гамильтонов цикл� (единичные веса) — NP-полна.2 Дополним до полного графа ребрами с весом 2.3 Граф с весами 1 и 2 — метрический.4 Если оптимум не включает в себя ребра с весом 2 — то это

гамильтонов цикл для исходного графа.

9 / 18

Page 10: Christofides

Задача

«Минимальное остовное дерево» (Minimum Spanning Tree)Задан связный неориентированный граф G = (V , E ), гдеV—множество вершин, |V | = n, E—множество ребер между ними,и весовая функция w : E → Z+. Иными словами, есть n вершинv1, . . . , vn и положительные целые веса дуг wij ≡ w(vi , vj)

aмежду ними.Требуется найти наименьший возможный вес остовного дерева, т.е.

min∑

(i ,j)∈T

w(vi , vj), (2)

где минимум берется по всем остовным деревьям на n вершинах (повсем множествам T из (n − 1) дуг, связывающим все n вершинв единую сеть).

aМожно вводить веса на ребрах, как we , e ∈ E .

10 / 18

Page 11: Christofides

Приближенный алгоритм-1 для метрической «TSP»

1 Найти минимальное остовное дерево T с матрицей весов [dij ].2 Построить эйлеров граф G и эйлеров обход в G , продублировав

все ребра дерева T .3 Из эйлерова маршрута (обхода) гамильтонов цикл строится путем

последовательного вычеркивания вершин, встретившихся ранее.

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

11 / 18

Page 12: Christofides

Алгоритм-1 2-приближенный

Доказательство.1 Кратчайший гамильтонов цикл не меньше MST.2 Длина эйлерова маршрута в G равна двум MST.3 Неравенство треугольника ⇒ полученный гамильтонов цикл не

длиннее эйлерова обхода ⇒ не длиннее двух MST ⇒ ...

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

12 / 18

Page 13: Christofides

Определение

Паросочетаниеa — подмножество ребер графа, такое, что никакиедва ребра из этого подмножества не инцидентны какой-либо однойвершине.

aMatching в англоязычной литературе.

Определение

Совершенное паросочетаниеa — паросочетание, покрывающее всевершины графа.

aPerfect matching в англоязычной литературе.

13 / 18

Page 14: Christofides

Алгоритм Кристофидеса для метрической «TSP»1 Найти MST T .2 N(T ) — вершины нечетной степени в T

3 M — кратчайшее совершенное паросочетание с множествомвершин N(T ).

4 Построить эйлеров граф GE с множеством вершин {v1, . . . , vn}и множеством ребер T ∪M.

5 Найти эйлеров обход PE в GE .6 Построить гамильтонов цикл PH из PE последовательным

вычеркиванием посещенных вершин.

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

14 / 18

Page 15: Christofides

Алгоритм Кристофидеса — 32-приближенный

GE — эйлеров и связен. PH — результат. P∗H — оптимум.

c(PH) ≤ c(PE ) = c(GE ) = c(T ) + c(M).

c(T ) ≤ c(P∗H) ≤ c(PH).

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

15 / 18

Page 16: Christofides

Алгоритм Кристофидеса — 32-приближенный

i1, i2, . . . , i2m — вершины нечетной степени в T (в порядке P∗H).Рассмотрим паросочетания:

M1 = {i1, i2}, {i3, i4}, . . . , {i2m−1, i2m},M2 = {i2, i3}, {i4, i5}, . . . , {i2m, i1}.

Из неравенства треугольника ⇒ c(P∗H) ≥ c(M1) + c(M2).M — кратчайшее ⇒ c(M1) ≥ c(M), c(M2) ≥ c(M).

c(P∗H) ≥ 2c(M) ⇒ c(M) ≤ 1

2c(P∗H).

c(PH) ≤ c(T ) + c(M) ≤ c(P∗H) +1

2c(P∗H) =

3

2c(P∗H).

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

16 / 18

Page 17: Christofides

Алгоритм Кристофидеса — 32-приближенный

i1, i2, . . . , i2m — вершины нечетной степени в T (в порядке P∗H).Рассмотрим паросочетания:

M1 = {i1, i2}, {i3, i4}, . . . , {i2m−1, i2m},M2 = {i2, i3}, {i4, i5}, . . . , {i2m, i1}.

Из неравенства треугольника ⇒ c(P∗H) ≥ c(M1) + c(M2).M — кратчайшее ⇒ c(M1) ≥ c(M), c(M2) ≥ c(M).

c(P∗H) ≥ 2c(M) ⇒ c(M) ≤ 1

2c(P∗H).

c(PH) ≤ c(T ) + c(M) ≤ c(P∗H) +1

2c(P∗H) =

3

2c(P∗H).

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

v0 v1 v2 v3

v4 v5 v6 v7

v8 v9 v10 v11

v12 v13 v14 v15

17 / 18

Page 18: Christofides

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

http://discopal.ispras.ru/

Вопросы?

18 / 18