Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 07 31 марта / Л7_1 Прибл Коммвжра с МОД.ppt
Скачиваний:
18
Добавлен:
09.02.2015
Размер:
397.82 Кб
Скачать

Построение и анализ алгоритмов

Лекция 7.1 Раздел: Алгоритмы на графах

Тема лекции:

Часть 1.

Минимальное остовное дерево (МОД), как приближение в задаче коммивояжера ё

31.03.2014

МОД в задаче коммивояжера

1

МОД, как приближение в задаче

коммивояжера

На лекции 2 рассматривались приближенные алгоритмы решения задачи коммивояжера (ЗК):

АБС – алгоритм ближайшего соседа

АВБГ – алгоритм включения ближайшего города

Если рассматривается евклидов (частный) случай ЗК, то существуют оценки отклонения стоимости приближенного решения от стоимости точного решения.

Евклидова ЗК: Матрица стоимостей {Cij}:

(а) симметрична (б) удовлетворяет неравенству треугольника

Cij Cik + Ckj , i, j, k

31.03.2014

МОД в задаче коммивояжера

2

Более точная терминология

Лучше (более точно) называть это задачей коммивояжера с неравенством треугольника (ЗКНТ)

На плоскости при использовании евклидова расстояния неравенство треугольника выполняется (но есть и другие случаи с НТ)

vi pi (xi , yi )

 

 

 

 

 

 

 

 

 

C (x x

)2

( y y

)2

 

ij

i j

 

i j

 

 

Если стоимости вычисляются как евклидово расстояние, то это и есть евклидова задача коммивояжера (ЕЗК).

Т.о. оценки верны в случае ЗКНТ, и в т.ч. в евклидовом случае.

31.03.2014

МОД в задаче коммивояжера

3

Оценка степени приближения

алгоритмов АБС и АВБГ в евклидовом

случае

Nn – маршрут АБС, Nn – его длина (стоимость). In – маршрут АВБГ, In – его длина (стоимость).

On – оптимальный маршрут, On – его длина (стоимость).

 

 

Nn

 

 

 

1

( log2 n 1).

 

 

 

 

 

In

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

On

 

 

 

2

 

 

 

On

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Было ранее без доказательства!

31.03.2014

МОД в задаче коммивояжера

4

Новое:

Приближенный алгоритм двойного обхода МОД при решении ЗК

1)Для заданного графа ЗКНТ построить МОД

2)Начиная с любой вершины обойти по ребрам МОД все вершины, «спрямляя пути» при возвратах к уже посещенным вершинам, и вернуться в стартовую вершину

Другие формулировки п.2:

2’) Сделать двойной обход МОД. В списке пройденных вершин вычеркнуть повторения (оставить первые вхождения).

2”) Обойти МОД в прямом порядке, фиксируя первые посещения вершин.

31.03.2014

МОД в задаче коммивояжера

5

 

 

 

Граф

 

Пример

 

Граф и МОД

 

 

1

 

4

2

 

 

1

 

4

2

 

 

 

 

 

 

 

 

 

10

5

6

 

8

12

10

5

6

 

8

12

 

 

2

10

 

 

 

2

 

10

 

 

 

 

 

 

16

 

6

 

16

 

3

6

 

 

 

3

 

 

6

18

18

 

 

 

6

18

 

18

16

 

 

 

4

16

 

 

 

4

 

 

 

 

 

 

 

 

 

5

 

14

4

 

 

5

 

14

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МОД

 

 

 

 

 

 

 

 

 

4

2

6

6

4

4

3

 

 

 

 

 

1

6

 

 

 

 

 

 

 

5

 

 

18

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

= 4 + 6 + 6 + 4 + 18 + 5 = 43

 

 

 

 

 

 

31.03.2014

МОД в задаче коммивояжера

6

 

 

= 4 + 6 + 6 + 4 + 18 + 5 = 43

 

1

 

4

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12

 

4

 

6

 

 

 

 

10

5

6

 

8

1

2

6

6

4

4

3

 

2

 

10

 

 

2

 

 

 

 

 

6

 

16

 

 

3

 

5

 

 

 

18

 

 

 

 

18

 

18

 

5

 

 

 

 

 

 

6

 

 

 

 

 

 

 

16

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

= 2 + 4 + 10 + 6 + 4 + 18 = 44

 

 

 

 

 

 

 

 

1

4

2

 

6

6

4

4

3

 

 

2

 

 

 

 

 

 

 

 

5

 

 

10

 

 

 

 

 

 

 

 

 

 

 

1

 

2

6

6

6

4

4

3

 

5

2

 

 

 

 

 

 

 

5

= 2 + 6 + 6 + 4 + 10 + 5 = 33

 

 

 

31.03.2014

 

 

МОД в задаче коммивояжера

 

5

 

14

4

 

 

 

 

 

 

 

1

 

4

2

 

 

 

 

 

10

5

6

 

8

12

 

 

2

 

10

 

 

16

 

6

 

 

 

3

 

 

6

18

 

18

16

 

 

 

4

 

 

 

 

 

5

 

14

4

 

 

 

 

 

7

 

 

 

 

 

Оценка приближения алгоритма двойного обхода МОД (АДО МОД)

Пусть

On(стоимость);– оптимальный маршрут, On – его длина

n – остовное дерево, n – его длина (стоимость);

МOДn – минимальное остовное дерево, МOДn – его стоимость;

Мn – маршрут АДО МОД, Мn – его стоимость.

Mn 2

On

31.03.2014

МОД в задаче коммивояжера

8

Доказательство оценки

Пусть есть оптимальный маршрут (цикл) On . Удалим одно из ребер этого цикла – получим ОДn . При этом On n МOДn .

В силу неравенства треугольника и смысла АДО МОД имеем 2 МOДn Мn .

Из неравенств 2 On 2 МOДn и 2 МOДn Мn следует, что 2 On Мn , т.е.

Mn 2

On

31.03.2014

МОД в задаче коммивояжера

9

Другие примеры АДО МОД

1 4

5

2

6

7

3

8

Граф

(вершины)

1 4

5

2

6

7

3

8

МОД графа

31.03.2014

МОД в задаче коммивояжера

10