Вершинно-рёберное преобразование в гамильтоновой задаче о сельском почтальоне
В статье формулируется гамильтонова задача о сельском почтальоне, являющаяся обобщением задачи коммивояжера. Предлагается процедура вершинно-рёберного преобразования, которая выполняется непосредственно перед решением задачи. У статті формулюється гамільтонова задача про сільського листоношу, яка...
Gespeichert in:
| Datum: | 2009 |
|---|---|
| Hauptverfasser: | , |
| Format: | Artikel |
| Sprache: | Russian |
| Veröffentlicht: |
Інститут проблем штучного інтелекту МОН України та НАН України
2009
|
| Schlagworte: | |
| Online Zugang: | https://nasplib.isofts.kiev.ua/handle/123456789/8170 |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| Zitieren: | Вершинно-рёберное преобразование в гамильтоновой задаче о сельском почтальоне / А.В. Морозов, А.В. Панишев // Штучний інтелект. — 2009. — № 4. — С. 138-143. — Бібліогр.: 4 назв. — рос. |
Institution
Digital Library of Periodicals of National Academy of Sciences of Ukraine| id |
nasplib_isofts_kiev_ua-123456789-8170 |
|---|---|
| record_format |
dspace |
| spelling |
Морозов, А.В. Панишев, А.В. 2010-05-14T08:34:24Z 2010-05-14T08:34:24Z 2009 Вершинно-рёберное преобразование в гамильтоновой задаче о сельском почтальоне / А.В. Морозов, А.В. Панишев // Штучний інтелект. — 2009. — № 4. — С. 138-143. — Бібліогр.: 4 назв. — рос. 1561-5359 https://nasplib.isofts.kiev.ua/handle/123456789/8170 51:330.115 В статье формулируется гамильтонова задача о сельском почтальоне, являющаяся обобщением задачи коммивояжера. Предлагается процедура вершинно-рёберного преобразования, которая выполняется непосредственно перед решением задачи. У статті формулюється гамільтонова задача про сільського листоношу, яка є узагальненням задачі комівояжера. Пропонується процедура вершинно-реберного перетворення, яка виконується безпосередньо перед розв’язанням задачі. The Hamiltonian Rural Postman Problem which is generalisation of the Travelling Salesman Problem is formulated in this article. Procedure of vertex-edge transformation which is applied before a problem solving is offered. ru Інститут проблем штучного інтелекту МОН України та НАН України Системы принятия решений, планирования и моделирования Вершинно-рёберное преобразование в гамильтоновой задаче о сельском почтальоне Вершинно-реберні перетворення у гамільтоновій задачі про сільського листоношу Vertex-edge Transformation in the Hamiltonian Rural Postman Problem Article published earlier |
| institution |
Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| collection |
DSpace DC |
| title |
Вершинно-рёберное преобразование в гамильтоновой задаче о сельском почтальоне |
| spellingShingle |
Вершинно-рёберное преобразование в гамильтоновой задаче о сельском почтальоне Морозов, А.В. Панишев, А.В. Системы принятия решений, планирования и моделирования |
| title_short |
Вершинно-рёберное преобразование в гамильтоновой задаче о сельском почтальоне |
| title_full |
Вершинно-рёберное преобразование в гамильтоновой задаче о сельском почтальоне |
| title_fullStr |
Вершинно-рёберное преобразование в гамильтоновой задаче о сельском почтальоне |
| title_full_unstemmed |
Вершинно-рёберное преобразование в гамильтоновой задаче о сельском почтальоне |
| title_sort |
вершинно-рёберное преобразование в гамильтоновой задаче о сельском почтальоне |
| author |
Морозов, А.В. Панишев, А.В. |
| author_facet |
Морозов, А.В. Панишев, А.В. |
| topic |
Системы принятия решений, планирования и моделирования |
| topic_facet |
Системы принятия решений, планирования и моделирования |
| publishDate |
2009 |
| language |
Russian |
| publisher |
Інститут проблем штучного інтелекту МОН України та НАН України |
| format |
Article |
| title_alt |
Вершинно-реберні перетворення у гамільтоновій задачі про сільського листоношу Vertex-edge Transformation in the Hamiltonian Rural Postman Problem |
| description |
В статье формулируется гамильтонова задача о сельском почтальоне, являющаяся обобщением задачи
коммивояжера. Предлагается процедура вершинно-рёберного преобразования, которая выполняется
непосредственно перед решением задачи.
У статті формулюється гамільтонова задача про сільського листоношу, яка є узагальненням задачі
комівояжера. Пропонується процедура вершинно-реберного перетворення, яка виконується безпосередньо
перед розв’язанням задачі.
The Hamiltonian Rural Postman Problem which is generalisation of the Travelling Salesman Problem is formulated
in this article. Procedure of vertex-edge transformation which is applied before a problem solving is offered.
|
| issn |
1561-5359 |
| url |
https://nasplib.isofts.kiev.ua/handle/123456789/8170 |
| citation_txt |
Вершинно-рёберное преобразование в гамильтоновой задаче о сельском почтальоне / А.В. Морозов, А.В. Панишев // Штучний інтелект. — 2009. — № 4. — С. 138-143. — Бібліогр.: 4 назв. — рос. |
| work_keys_str_mv |
AT morozovav veršinnorebernoepreobrazovanievgamilʹtonovoizadačeoselʹskompočtalʹone AT paniševav veršinnorebernoepreobrazovanievgamilʹtonovoizadačeoselʹskompočtalʹone AT morozovav veršinnoreberníperetvorennâugamílʹtonovíizadačíprosílʹsʹkogolistonošu AT paniševav veršinnoreberníperetvorennâugamílʹtonovíizadačíprosílʹsʹkogolistonošu AT morozovav vertexedgetransformationinthehamiltonianruralpostmanproblem AT paniševav vertexedgetransformationinthehamiltonianruralpostmanproblem |
| first_indexed |
2025-11-27T06:45:11Z |
| last_indexed |
2025-11-27T06:45:11Z |
| _version_ |
1850802235277049856 |
| fulltext |
«Искусственный интеллект» 4’2009 138
3М
УДК 51:330.115
А.В. Морозов, А.В. Панишев
Житомирский государственный технологический университет, Украина
morozov.andriy@gmail.com
Вершинно-рёберное преобразование
в гамильтоновой задаче
о сельском почтальоне
В статье формулируется гамильтонова задача о сельском почтальоне, являющаяся обобщением задачи
коммивояжера. Предлагается процедура вершинно-рёберного преобразования, которая выполняется
непосредственно перед решением задачи.
Введение
Многочисленные результаты, накопленные в изучении проблемы коммивояже-
ра, непрерывно развиваются, охватывая актуальные вопросы разработки и совер-
шенствования методов комбинаторной оптимизации и их применения. Далеко не для
каждой прикладной задачи типа коммивояжера известны алгоритмы поиска решения
с показателями эффективности, пригодными в реальных ситуациях. Одной из таких
задач является задача о сельском почтальоне, формулируемая следующим образом [1].
Задан связный взвешенный граф H = (V, U) с множеством вершин V, V n , и
множеством рёбер U. Каждому ребру i, j U приписан вес 0ijd Z , i j , 1i, j ,n ,
0Z – множество неотрицательных целых чисел. Граф H полностью определяется сим-
метричной матрицей стоимости ij n
d , где 0ijd Z , если i, j U , и ijd , иначе,
i j , 1i, j ,n , iid , 1i, j ,n . На множестве U задано непустое подмножество рё-
бер R. Требуется найти в графе H цикл, включающий каждое ребро из R и имеющий
минимальную сумму весов всех рёбер.
Обозначим z(R) гамильтонов цикл графа H, проходящий по всем рёбрам мно-
жества R. Назовём гамильтоновой задачей о сельском почтальоне (ГЗСП) задачу, кото-
рая состоит в нахождении гамильтонова цикла *z R , минимизирующего функционал:
kl
k ,l z R
C z R d
.
Заинтересованность в решении ГЗСП проявляется в том случае, когда требуется
определить кольцевой маршрут на транспортной сети графа или района, моделируе-
мой графом H = (V, U). Каждому пункту отправления (прибытия) сети соответствует
вершина i V , V n , а каждому ребру i, j U отвечает отрезок дорожного полотна
между парой соседних пунктов i и j. Ребро i, j характеризуется весом (стоимостью)
ijd , равным затратам на перемещение транспортного средства из i в j или из j в i.
Вершинно-рёберное преобразование в гамильтоновой задаче о сельском почтальоне
«Штучний інтелект» 4’2009 139
3М
Основной результат
ГЗСП NP-полна, поскольку, в случае R , она является NP-полной гамильтоно-
вой задачей коммивояжера (ГЗК) [1]. В [2] предложен алгоритм, который корректно
находит решение ГЗК, если граф H гамильтонов, и устанавливает её неразрешимость
в противном случае. В основе предложенного алгоритма лежит схема ветвей и границ,
выполняемая после проверки достаточных условий неразрешимости ГЗСП. Ясно, что
трудоёмкость такой проверки должна быть ограничена полиномом от размера задачи.
Непосредственное применение алгоритма ветвей и границ из [2] не позволяет
решить ГЗСП. Включение в искомый гамильтонов цикл заданного подмножества рё-
бер R оказывается настолько сильным ограничением, что требует иного подхода
к организации ветвления и вычисления нижних оценок для *C z R . В данной рабо-
те предлагается модификация классического метода ветвей и границ (метода Литтла),
обеспечивающая нахождение решения как в ГЗСП, так и в ГЗК.
Очевидно, и ГЗК, и ГЗСП не имеют решений, если граф H содержит концевые (ви-
сячие) вершины. Висячие вершины в графе H находятся тривиально за время O V .
Задачи неразрешимы, когда граф H имеет точку сочленения [2], [3]. Чтобы определить, со-
держит ли граф H точку сочленения, требуется O V U элементарных операций [3].
Нетрудно увидеть, что ГЗСП неразрешима, если в графе Н: а) подмножество рё-
бер множества R образует негамильтонов цикл; б) существует вершина, инцидентная
трём или более рёбрам из R. Следовательно, граф Н, в котором множество рёбер R не
образует совокупности вершинно-непересекающихся цепей, не содержит цикла z(R).
На проверку условий а) и б) достаточно времени, ограниченного величиной O V U .
Пусть граф H = (V, U) не имеет висячих вершин и точек сочленения, а множест-
во его рёбер R U в ГЗСП представлено вершинно-непересекающимися цепями.
Выполним вершиннно-рёберное преобразование (ВРП) графа Н, в результате которого
устанавливаются достаточные условия неразрешимости ГЗСП, дополняющие пере-
численные условия.
S0. H = (V, U) – граф, не содержащий висячих вершин и точек сочленения; непустое множество
рёбер R U образует совокупность Z вершинно-непересекающихся цепей.
S1. Если число цепей совокупности Z равно R , то положить R R , перейти к шагу S5.
S2. Для каждой цепи a,b,...,c,d Z удалить все рёбра из U R , которые: а) соединяют
её любые две вершины, б) инцидентные одной вершине из b,...,c – и определить степени
всех вершин множества V. Если хотя бы одна вершина в полученном остовном подграфе графа
Н является изолированной или висячей, то ГЗСП не имеет решения.
S3. Заменить каждую цепь a,b,...,c,d на ребро a,d , присвоив ему вес, равный сумме
весов рёбер цепи.
S4. H V ,U – граф, построенный после выполнения шага S3, R– множество всех рёбер,
полученных из R в результате построения H .
S5. Положить 0R .
S6. Если граф не содержит вершин степени 2, то конец.
S7. Если множество 0R R не образует паросочетания, то конец: ГЗСП неразрешима.
S8. Каждую цепь p,q,...,t ,w со степенями вершин 2p w, , 2q t... заменить на
ребро p,w с весом, равным сумме весов её рёбер; удалить из R и 0R все рёбра цепи, принад-
Морозов А.В., Панишев А.В.
«Искусственный интеллект» 4’2009 140
3М
лежащие R и 0R ; положить 0 0R R p,w ; если существует еще одно ребро 0p,w R R ,
удалить его.
S9. Если множество 0R R не образует совокупности вершинно-пересекающихся цепей,
то конец: ГЗСП неразрешима.
S10. Если степени всех вершин построенного графа равны 2, то конец: ГЗСП имеет решение, иначе
положить 0R ; для каждой цепи p,w,...,r ,v , все рёбра которой содержатся в 0R R ,
исключить рёбра, инцидентные вершинам w,...,r ; исключить из R рёбра цепи, принадлежащие
R ; заменить цепь на ребро p,v . Если существует еще одно ребро, соединяющее p и v, удалить
его; установить 0 0R R p,v , pv pw rvd d ... d ; перейти к шагу S6.
Каждая цепь рёбер множества R является простой цепью, т.е. такой, у которой
все вершины (а значит, и рёбра) различны. В противном случае она образует негамиль-
тонов цикл, и, следовательно, ГЗСП не имеет решения. В гамильтонов цикл z R долж-
ны входить все рёбра, образующие простую цепь x,a,b,...,c,d , y . В него не могут
входить рёбра, соединяющие пары вершин a,b,...,c,d , и рёбра, инцидентные одной,
вершине в b,...,c . Поэтому их следует удалить, рассматривая ГЗСП на остовном
подграфе графа H, в котором могут содержаться изолированные и висячие верши-
ны. Отсюда следует корректность действий, выполняемых на шаге S2.
Пусть остовный граф не содержит изолированных и висячих вершин, тогда вер-
шины a,b,...,c,d имеют степени 2 2 2a b c d, ... , . Гамильтонов цикл z R
должен проходить все рёбра цепи a,b,...,c,d , которую можно заменить на ребро a,d
весом, равным сумме весов её рёбер.
Множество R, содержащееся в цикле z R , если он существует, представлено
совокупностью Z вершинно-непересекающихся цепей. Поэтому каждую цепь из Z с
двумя и более рёбрами следует рассматривать после выполнения шага S3 как одно
ребро в цепи z R . На шаге S3 находится граф H V ,U , V V ,U U и мно-
жество рёбер R , R Z , которое включено в гамильтонов цикл z R , соответст-
вующий z R . Процесс ВРП прекращается на шаге S6, если степени всех вершин
графа H больше 2. В этом случае либо оказываются выполненными достаточные ус-
ловия того, что ГЗСП не имеет решения, либо следует перейти к построению z R
по схеме метода ветвей и границ.
Если в графе H содержатся вершины степени 2, то на шаге S5 формируется
множество рёбер 0R . Каждое ребро 0p,w R , полученное на шаге S8, заменяет цепь
p,q,...,t ,w , 2p w, , 2q t... , рассматриваемую как часть гамильтонова цик-
ла z R . Поэтому из R и 0R можно удалить все её рёбра, которые содержатся в R
или 0R . Очевидно, ГЗСП разрешима, если в графе, построенном на шаге S8, сущест-
вует гамильтонов цикл, проходящий по всем рёбрам множества 0R R . Если после
выполнения шага S8 множество 0R R представлено одним ребром, то ГЗСП имеет
единственное решение. Она не имеет решения, если найдется пара цепей, состоящих
из рёбер 0R R и имеющих общую вершину.
Перед выполнением шага S10 множество рёбер 0R R образует совокупность
вершинно-непересекающихся цепей p,w,...,r ,v . В графе, построенном на шаге S8,
Вершинно-рёберное преобразование в гамильтоновой задаче о сельском почтальоне
«Штучний інтелект» 4’2009 141
3М
для каждой цепи p,w,...,r ,v удаляются рёбра, инцидентные вершинам из множест-
ва w,...,r , поскольку они не могут входить в решение ГЗСП. На шаге S10 вновь
формируется множество 0R , в которое добавляется каждое ребро p,w , заменяю-
щее цепь p,w,...,r ,v , а из R исключаются все рёбра, содержащиеся в R .
Шаги S6 – S10 повторяются, пока не будет построен граф со степенями вершин,
не равными 2. Тогда, рассматривая каждое ребро в 0R R построенного графа как
однозвенную цепь, получим достаточное условие того, что граф Н не содержит
гамильтонова цикла z R . Таким образом, получен следующий результат.
Утверждение. Если результатом ВРП графа Н является граф, в котором мно-
жество рёбер 0R R не образует паросочетания, то ГЗСП не имеет решения.
Следовательно, ГЗСП сводится к этой же задаче на графе H V ,U , в
котором: а) степени всех вершин больше 2, б) множество рёбер R, содержащееся в
искомом гамильтоновом цикле, образует паросочетание R. Очевидно,
2
nR ,n V
,
2
nR ,n V
.
Заметим, что величина R ограничивает пространство решений настолько, что оно мо-
жет оказаться пустым.
Пример
Выполним алгоритм ВРП для графа Н, изображенного на рис. 1.
11 15 15 14 8 5 5 3 4 12 1 2R , , , , , , , , , , , ,
11 15 14 1 2 3 5 8 4 12Z , , , , , , , , , .
Предполагается, что все рёбра имеют единичный вес. Заметим, что граф содер-
жит гамильтонов цикл
1 2 6 7 4 12 3 5 8 9 10 11 15 14 13 1z R , , , , , , , , , , , , , , , .
Остовный подграф графа Н, полученный на шаге S2 представлен на рис. 2.
Рисунок 1 Рисунок 2
После выполнения шага S3 получим граф H (рис. 3), где 11 14 3 8 1 2 4 12R , , , , , , ,
1114 3 8 1 2 4 12R , , , , , , , . Положим 0R . Построенный граф имеет вершины степени 2, а мно-
жество 0R R образует паросочетание.
На шаге S8 каждая из цепей 11 14 13, , , 8 9 10 11, , , , 2 6 7, , сворачивается в реб-
ро (рис. 4), 0 8 11 11 13 2 7R , , , , , , 3 8 1 2 4 12R , , , , , .
1
2
6
7 8 9
10
11
12
13
14
15
3
4
5
1
2
6
7 8 9
10
11
12
13
14
15
3
4
5
Морозов А.В., Панишев А.В.
«Искусственный интеллект» 4’2009 142
3М
Рисунок 3
Рисунок 4
На шаге S10 0R , цепи 3 8 11 13, , , и 1 2 7, , преобразуются в рёбра {3, 13} и
{1, 7}. Результат преобразования изображен на рис. 5; 4 12R , , 0 3 13 1 7R , , , .
Построенный граф не является гамильтоновым циклом, содержит вершины степени
2, а множество 0R R образует парасочетание. Для построенного графа (рис. 5)
повторяется шаг S8.
На шаге S8 рассматриваются цепи 1 13 3, , и 1 7 4 12 3, , , , , каждая из которых за-
меняется на ребро 1 3, ; R , 0 1 3R , . Степени всех вершин построенного гра-
фа равны 2 (рис. 6), ГЗСП имеет решение.
Рисунок 5
Рисунок 6
Поскольку множество 0R R представлено единственным кратным ребром
1 3, , ГЗСП имеет единственное решение. Выполним восстановление гамильтонова
цикла. Для этого будем разворачивать рёбра полученного графа в порядке, обратном
порядку сворачивания рёбер (рис. 7).
Рисунок 7
Рисунок 8
Последней осуществлялась замена ребра 1 3, на цепь 1 7 4 12 3, , , , . Поэтому за-
меняем ребро {1, 3} набором рёбер {1, 7}, {7, 4}, {4, 12}, {12, 3}, образующих цепь
1 7 4 12 3, , , , . Получаем граф, изображенный на рис. 8.
1
7
12
13
3
4
7
12
3
4
1
1
3
1
7
12
13
3
4
1
2
7 8
11
12
13
3
4
1
2
6
7 8 9
10
11
12
13
14
3
4
Вершинно-рёберное преобразование в гамильтоновой задаче о сельском почтальоне
«Штучний інтелект» 4’2009 143
3М
Далее выполняем разворачивание ребра {1, 3}, заменяя его на рёбра {1, 13} и
{13, 3}, поскольку оно было свернуто в цепь 1 13 3, , . Результат изображен на рис. 9.
Далее осуществляется разворачивание ребра 1 7, , которое было заменено на
цепь 1 2 7, , .
Продолжая процесс, выполняем замены: 3 13 3 8 11 13 2 7 2 6 7, , , , , , , , ,
8 11 8 9 10 11 11 3 11 14 13, , , , , , , , , 3 8 3 5 8 11 14 11 15 14, , , , , , , .
В результате выполнения последовательности замен, получаем гамильтонов цикл
1 2 6 7 4 12 3 5 8 9 10 11 15 14 13 1, , , , , , , , , , , , , , , на рис. 10.
Рисунок 9
Рисунок 10
Заключение
Предложенная процедура вершинно-рёберного преобразования может быть ис-
пользована непосредственно перед решением задачи [4]. В результате выполнения
преобразования возможны следующие варианты:
1) найдено оптимальное решение гамильтоновой задачи о сельском почтальоне;
2) обнаружено, что задача не имеет решения;
3) получена задача меньшей размерности, требуется поиск решения задачи.
Литература
1. Гэри М. Вычислительные машины и труднорешаемые задачи / М. Гэри, Д. Джонсон. – М. : Мир, 1982.
2. I. Garashchenko. Method of Finding Hamilton Routes in Transport Network / I. Garashchenko, A. Panishev //
Artificial Intelligence and Decision Making. – ITHEA, Sofia. – 2008. – № 7. – Р. 43-48.
3. Теория расписаний и вычислительные машины / под. ред. Э.Г. Коффмана. – М. : Наука, 1984.
4. Garashchenko I. Method of Finding Hamilton Routesin Transport Network / Irina Garashchenko, Ana-
toliy Panishev // Artificial Intelligence and Decision Making. – ITHEA, Sofia. – 2008. – № 7. – P. 43-48.
А.В. Морозов, А.В. Панишев
Вершинно-реберні перетворення у гамільтоновій задачі про сільського листоношу
У статті формулюється гамільтонова задача про сільського листоношу, яка є узагальненням задачі
комівояжера. Пропонується процедура вершинно-реберного перетворення, яка виконується безпосередньо
перед розв’язанням задачі.
A.V. Morozov, A. V. Panishev
Vertex-edge Transformation in the Hamiltonian Rural Postman Problem
The Hamiltonian Rural Postman Problem which is generalisation of the Travelling Salesman Problem is formu-
lated in this article. Procedure of vertex-edge transformation which is applied before a problem solving is offered.
Статья поступила в редакцию 01.06.2009.
1
2
6
7 8 9
10
11
12
13
14
15 3
4
5
1
7
12
13
2
4
3
|