и получим (8,7,8,2,3,6,5,4,5,6,3,2,8). Теперь подставим это вместо ЭЙЛЕР(H,8) в выражение для и получим эйлеров цикл
= (1, 8, 7, 8, 2, 3, 6, 5, 4, 5, 6, 3, 2, 8, 1).
После удаления повторений в этой последовательности получим цикл =
(1, 8, 7, 2, 3, 6, 5, 4, 1) (на рисунке 70 изображен пунктирной линией). Это и есть результат работы алгоритма — гамильтонов цикл.
Степень близости веса полученного в алгоритме дерева гамильтонова цикла к оптимальному описывает следующая теорема.
Определение 87.5 . Пусть ( , ) — оптимальный цикл в задаче коммивояжера для графа и функции весов , а ( , ) — маршрут полученный с помощью некоторого алгоритма .
Тогда алгоритм называют -приближенным, если
( ( , )) − ( ( , )) ≤ .
( ( , ))
Утверждение 87.6 . Алгоритм дерева — 1-приближенный алгоритм.
Доказательство. Пусть ( , ) — оптимальный цикл в задаче коммивояжера для графа и функции весов , а ( , ) — маршрут полученный с помощью алгоритма дерева. Так же предполагаем, что функция удовлетворяет
неравенству треугольника (39), поскольку в прочих случаях алгоритм дерева мы не рассматриваем.
При удалении любого ребра из ( , ) мы получим некоторое остовное дерево графа . Вес этого дерева не может быть меньше веса минимального остовного дерева графа . Следовательно,
( ( , )) > ( ( , ) − ) ≥ ( ).
Сдругой стороны ( , ) построен из с удвоенными ребрами (и весом 2 ( )) заменой последовательностей ребер ( 1 , 2 ), ( 2 , 3 ), ..., ( −1 , ) на одиночные ребра ( 1 , ). Из неравенства треугольника следует, что
(( 1 , 2 )) + (( 2 , 3 )) + · · · + (( −1 , )) ≥ (( 1 , )).
Таким образом, ( ( , )) ≤ 2 · ( ) и следовательно ( ( , )) ≤ 2 ·
( ( , )).
Осталось записать формулу для -приближенности.
|
( ( , )) − ( ( , )) |
≤ |
2 ( ( , )) − ( ( , )) |
= 1. |
|
( ( , )) |
( ( , )) |
|
|