Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Граф.docx
Скачиваний:
15
Добавлен:
25.09.2019
Размер:
232.33 Кб
Скачать
  1. Каковы различия между задачей китайского почтальона и задачей коммивояжера?

Представьте себе остров с дорожной сетью, соединяющей несколько городов. Вы хотите побывать в каждом городе и вернуться в точку старта. Поиск лучшего решения этой задачи и есть задача коммивояжера. (Lmatrix: Точнее сказать поиск кратчайшего пути с возвратом в точку старта из всех возможных путей.)

Теперь представьте, что вы хотите проехать по каждой дороге этой сети самым оптимальным образом. Это и есть задача китайского почтальона. По существу для задачи коммивояжера вы должны посетить все вершины. Для задачи почтальона -  каждое ребро.

Эйлеровы пути и циклы

Для того, чтобы граф имел эйлеров цикл, он, безусловно, должны быть связным. Пусть мы имеем связный граф G = (V, E), следующие утверждения эквивалентны: 1. Все вершины G должны быть четной степени. 2. G состоит из ребер из непересекающихся объединения некоторых циклов, а вершины из этих циклов 

3. G имеет эйлеров цикл. Из 1 =>  2, что может быть показано индукцией по числу циклов. Из 2 => 3 также может быть показано индукцией по числу циклов, и Из 3 => 1 должна быть непосредственно. Эйлеров путь (путешествие по графу, которое не является замкнутым, но использует все ребра G только один раз) существует тогда и только тогда, когда G связан и ровно две вершины имеют нечетные степени.

 

T-соединения

Пусть Т будет подмножеством множества вершин графа. Множество ребер с нечетными степенями в вершинах в Т называются Т-соединениями. (В связном графе, T-соединения существуют тогда, и только тогда, когда |T| является четным). Задача T-соединений состоит в нахождении наименьшего Т-соединения. Наименьшее T-соединение приводит к решению проблемы почтальона. Наименьшее T-соединение обязательно состоит из |T|-путей, два их которых не имеют общего ребра, и которые соединяют вершины T в пары. Пути будет такими, чтобы общая сумма их длин была как можно меньше. Минимальное Т-соединение может быть получено путем взвешенного алгоритма, который использует O (N3) вычислительных шагов.  

Решение

Если граф имеет эйлерову-цепь (или эйлеров-путь), то в этом случае, эйлерова-цепь (или путь) проходит по каждому ребру, и таким образом, решением будет являться выбор любой эйлеровой-цепи (или пути).

Если граф не является эйлеровым, он должен содержать вершины нечетной степени. По лемме рукопожатия, количество этих вершин должно быть четное. Для решения задачи почтальона сначала найдем наименьшее T-соединение. Мы создаем эйлеров граф путем удвоения Т-соединения. Решение задачи почтальона в исходном графе получается нахождением эйлеровой-цепи для нового графа.