dln001
.pdfразличных пар. Найдем кратчайшую цепь для каждой пары. С этой целью составим матрицу весов графа и, используя алгоритм Флойда, получим матрицу D(9) длин кратчайших пу- тей (цепей) между всеми вершинами19. Выделим из не подматрицу D(9)1;3;7;9; образованную строками и столбцами с номерами 1, 3, 7 и 9. Это матрица длин всех кратчайших цепей, связывающих только вершины нечетной степени в рассматриваемом графе. Обе матрицы D(9) è D(9)1;3;7;9 приведены ниже:
|
|
|
v1 v2 v3 v4 v5 v6 v7 v8 v9 |
3 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
v1 |
|
0 |
5 12 |
6 |
4 |
9 10 |
7 |
8 |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
v2 |
|
5 |
0 |
7 |
3 |
1 |
6 |
7 |
4 |
5 |
|
|
|
|
|
|
|
|
|
|
|
|||
|
v3 |
212 |
7 |
0 10 |
8 3 9 5 8 |
1;3;7;9 |
v7 |
v1 v3 v7 v9 |
|
||||||||||||||||
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
7 |
210 9 0 7 |
3 |
|
||||||||
|
v4 |
6 |
6 |
3 10 |
0 |
2 |
7 |
8 |
5 |
6 |
7; |
|
|
v1 |
0 12 10 |
8 |
|
|
|||||||
|
D(9) |
= v3 |
12 |
0 |
9 |
8 |
7 |
|
|||||||||||||||||
D(9)= v5 |
4 |
1 |
8 |
2 |
0 |
5 |
6 |
3 |
4 |
: |
|||||||||||||||
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
v9 |
6 8 |
8 |
7 |
0 |
|
|||
|
v6 |
6 |
9 |
6 |
3 |
7 |
5 |
0 |
6 |
2 |
5 |
7 |
|
|
|
|
|
|
|
|
|
|
|
||
|
6 |
7 |
|
|
|
|
4 |
|
|
|
|
5 |
|
||||||||||||
|
v7 |
610 |
7 |
9 |
8 |
6 |
6 |
0 |
4 |
7 |
7 |
|
|
|
|
|
|
|
|
|
|||||
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
v8 |
6 |
7 |
4 |
5 |
5 |
3 |
2 |
4 |
0 |
3 |
7 |
|
|
|
|
|
|
|
|
|
|
|
||
|
v9 |
6 |
8 |
5 |
8 |
6 |
4 |
5 |
7 |
3 |
0 |
7 |
|
|
|
|
|
|
|
|
|
|
|
||
Теперь, используя матрицу |
D1(9);3;7;9 , следует выбрать па- |
||||||||||||||||||||||||
ру цепей, отвечающих приведенным ранее условиям. Имеется |
|||||||||||||||||||||||||
всего три варианта образования таких пар цепей, представ- |
|||||||||||||||||||||||||
ленные в табл. 5.3. Поэтому задача решается путем простого |
|||||||||||||||||||||||||
перебора. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 5.3 |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
Ïàðà |
|
Öåïü |
|
|
Длина |
|
|
Öåïü |
|
Длина |
|
Общая |
|
|
|
|
||||||||
|
цепей |
|
|
|
|
|
|
|
длина |
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
1 |
|
|
v1 ¡ v3 |
|
|
12 |
|
v7 ¡ v9 |
|
7 |
|
12+7=19 |
|
|
|
|
|||||||
|
|
2 |
|
|
v1 ¡ v7 |
|
|
10 |
|
v3 ¡ v9 |
|
8 |
|
10+8=18 |
|
|
|
|
|||||||
|
|
3 |
|
|
v1 ¡ v9 |
|
|
|
8 |
|
v3 ¡ v7 |
|
9 |
|
|
8+9=17 |
|
|
|
|
Как следует из таблицы, наилучшим является вариант 3. Cледовательно, дублированию подлежат ребра, образующие кратчайшие цепи из v1 â v9 è èç v3 â v7: Непосредственно по рис. 5.12 легко установить, что это цепи (v1; v5; v9) è
19В общем случае, кроме D(n); необходимо вычислять и матрицу вершин-предшественниц P(n) (ñì. ðàçä. 4).
111
(v3; v6; v8; v7): После дублирования пяти входящих в них ребер получаем эйлеров мультиграф G0; изображенный на рис. 5.12. Используя, алгоритм Фл0 ери, находим следующий вариант эй-
лерова цикла в графе G : (v1; v2; v3; v6; v3; v5; v2; v4; v1; v5; v4; v7; v8; v7; v5; v6; v9; v8; v6; v8; v5; v9; v5; v1); который одновременно яв-
ляется и кратчайшим замкнутым маршрутом почтальона в графе G при условии, что ребра fv1;v5g;fv5;v9g;fv3;v6g;fv6;v8g; fv7; v8g обходятся дважды.
В рассмотренном примере граф содержал только четыре вершины нечетной степени. Поэтому поиск оптимума потребовал анализа всего трех вариантов решения. При большем числе вершин количество вариантов быстро возрастает. Так, если k=6; то существует C62=15 различных кратчайших цепей, связывающих пары вершин нечетной степени. При этом число возможных комбинаций по три цепи с различными концевыми вершинами равно 15. Если k=8; то число возможных комбинаций составляет 105, причем каждая включает в себя по четыре цепи. В общем же случае количество комбинаций, которые придется анализировать, определяется как 3¢5¢7: : :(k¡1); ãäå k число вершин нечетной степени. Таким образом, фактически приходится решать самостоятельную задачу, эквивалентную задаче отыскания наибольшего паросоче- тания20 минимального веса в полном графе с четным числом вершин.
5.3. Гамильтоновы циклы
5.3.1. Определение и условия существования
Гамильтоновым называют простой цикл, включающий все вершины связного неориентированного графа. Аналогич- но определяется гамильтонов контур для орграфа. Граф (орграф), в котором есть гамильтонов цикл (контур), носит на- зывание гамильтонова.
20Паросочетанием называется множество ребер графа, выбранных так, что никакие два из них не являются смежными.
112
Слово "гамильтонов" в этих определениях является произ- |
||||||||||||||||
водным от имени У. Гамильтона , предложившего следующую |
||||||||||||||||
игру под названием "Кругосветное путешествие". Каждой из |
||||||||||||||||
двадцати вершин додекаэдра приписано название одного из |
||||||||||||||||
городов мира. Требуется, переходя по ребрам додекаэдра от |
||||||||||||||||
одного города к другому и посетив каждый из них только |
||||||||||||||||
один раз, оказаться в исходной точке. Очевидно, что зада- |
||||||||||||||||
ча сводится к отысканию в графе додекаэдра (граф |
G1 íà |
|||||||||||||||
рис. 5.13) простого цикла, проходящего через все вершины. |
||||||||||||||||
|
|
|
|
r |
|
|
|
|
|
Jr |
|
|
|
|
|
|
r |
r |
r |
r |
r |
r |
r |
r |
r |
|
r |
JJ |
r |
|
|
r |
|
|
J |
|
J |
|
|
|||||||||||
|
|
r |
|
|
r |
|
r |
r r |
|
@ |
|
|||||
|
r |
r |
r |
r |
|
JJ JJ |
r |
r@ |
|
|||||||
|
r |
|
r |
|
r |
r |
|
r |
Gr2 |
r |
|
|
r |
|||
|
r |
|
G1 |
|
|
G3 |
|
Ðèñ. 5.13
В графе G2; изображенном на рис. 5.13, гамильтонов цикл отсутствует, но имеется простая цепь, включающая все вершины. Такую цепь называют гамильтоновой цепью, а содержащий е граф полугамильтоновым. Наконец, в графе G3 íà том же рисунке не существует ни гамильтоновой цепи, ни тем более, гамильтонова цикла. В таком случае говорят, что граф негамильтонов.
Рассмотрим следующую задачу планирования, характерную для химической промышленности. Имеется единственный комплекс аппаратуры или реактор, на котором можно производить n различных видов продукции vi; причем в любой момент времени производится только один вид. При переходе к производству другого вида в зависимости от конкретного сочетания предшествующего и последующего видов либо требуется подготовка аппаратуры (настройка, очистка, охлаждение и т. п.), либо не требуется. Продукты производятся в непрерывном цикле, так что после производства в заданных количествах всех n видов процесс повторяется. Естественно возникает вопрос о том, существует ли циклическая последовательность производства n продуктов, вообще не требующая остановок для подготовки аппаратуры.
113