26. Задача коммивояжера с неравенством треугольника. Алгоритм Кристофидеса
Задано множество городов V и для каждой пары городов u и v – стоимость проезда из u в v. Коммивояжер должен объехать все города, затратив на это минимально возможную сумму денег.
Метрическая задача коммивояжера
с(x,y)£c(x,z)+c(z,y)
Алгоритм Кристофидеса
Идея: дополним граф до эйлерова графа, добавив новые кратные ребра таким образом, чтобы степени всех вершин стали четными. Найдем в полученном графе эйлеров цикл H. Если в H каждая вершина встречается ровно 1 раз, то это гамильтонов цикл. Пусть вершина x встречается 2 раза …-u-x-v-… - второе вхождение x. Заменим в H ребра ux и xv на ребро uv, получив
новый цикл H’ .c(u,x)+c(x,v)£ c(uv), следовательно, с(H’) £c(H) Проделав это со всеми кратными вхождениями вершин, в конце концов получим гамильтонов цикл H’ такой, что с(H’)£c(H) Проделав это со всеми вершинами , в конце концов мы получим гамильтонов цикл H’,т.что с(H’)£c(H)
Какие ребра надо было добавлять вначале, чтоб когда добавляли нашелся эйлеров цикл?
//не знаю что это но не удаляла
(1. Находим минимальное остовное дерево T графа G
2. Пусть U – множество вершин T, имеющих нечетную степень, G[U] – подграф графа G, порожденный U. Найдем в G[U] совершенное паросочетание минимального веса
3. Добавим к дереву T все ребра M, если какое-то ребро из M там уже есть, то добавим кратное ему. Получим эйлеров граф, содержащий все вершины графа G. Найдем в нем эйлеров цикл H и “сожмем” его до гамильтонова цикла H’)
- 1.Трудоемкость алгоритмов
- 2.Алгоритмы сортировки
- 3.Сортировка слиянием
- 4.Бинарные поисковые деревья
- 5.2-3-4 Деревья
- 6.Хеширование
- 7. Поиск подстроки. Алгоритм Кнута-Морриса- Пратта.
- 8. Графы. Структуры данных для представления графов
- 9. Алгоритм нахождения Эйлерова цикла
- 10 .Поиск в ширину(волновой алгоритм)
- 11.Поиск в глубину
- 12.Жадные алгоритмы и матроиды
- 13.Задача об остовном дереве. Алгоритмы Прима и Краскала, их реализация
- 14. Алгоритм Дийкстры
- 15. Алгоритм Флойда
- 16. Паросочетания в двудольных графах
- 17. Потоки и разрезы в сетях. Алгоритм Форда-Фалкерсона
- 18. Задача о рюкзаке
- 21. Классы p и np. Полиномиальное сведение.
- 22. Np- полные задачи. Теорема Кука-Карпа-Левина. Np-полнота задачи о клике
- 23. Алгоритмы с гарантированной оценкой точности. Задача упаковки
- 24.Метод локального поиска и поиска с запретами. Задача о максимальном разрезе.
- 25.Метод ветвей и границ. Задача коммивояжера.
- 26. Задача коммивояжера с неравенством треугольника. Алгоритм Кристофидеса
- 27.Задача о независимом множестве, точные и эвристические алгоритмы ее решения
- 28.Задача о раскраске графа, точные и эвристические алгоритмы ее решения.
- 31.Задача о раскраске хордальных графов
- 32.Генетические алгоритмы
- 33. Page Rank
- 34 Криптосистема с открытым ключом. Криптосистема rsa
- 35.Задача разделения секрета.
- 36. Алгоритмы сжатия информации