• Nenhum resultado encontrado

Использование Общероссийского математического портала Math-Net.Ru под- разумевает, что вы прочитали и согласны с пользовательским соглашением http://www.mathnet.ru/rus/agreement

N/A
N/A
Protected

Academic year: 2023

Share "Использование Общероссийского математического портала Math-Net.Ru под- разумевает, что вы прочитали и согласны с пользовательским соглашением http://www.mathnet.ru/rus/agreement"

Copied!
7
0
0

Texto

(1)

Math-Net.Ru

Общероссийский математический портал

В. А. Бондаренко, Неполиномиальная нижняя оценка сложности задачи коммивояжера в одном классе алго- ритмов, Автомат. и телемех. , 1983, выпуск 9, 45–50

Использование Общероссийского математического портала Math-Net.Ru под- разумевает, что вы прочитали и согласны с пользовательским соглашением http://www.mathnet.ru/rus/agreement

Параметры загрузки:

IP: 118.70.116.132

6 ноября 2022 г., 06:25:35

(2)

У Д К 519.6

НЕПОЛИНОМИАЛЬНАЯ НИЖНЯЯ ОЦЕНКА СЛОЖНОСТИ З А Д А Ч И КОММИВОЯЖЕРА В О Д Н О М КЛАССЕ АЛГОРИТМОВ

БОНДАРЕНКО В. А.

(Ярославль)

Предлагаются эффективные нижние оценки трудоемкости д л я широ­

к и х классов алгоритмов решения дискретных задач оптимизации типа задачи коммивояжера.

1. Введение

При управлении дискретными объектами часто возникают задачи оптимизации комбинаторного типа. Для одних задач дискретной оптими­

зации получены эффективные алгоритмы решения, для других же, к числу которых относится и задача коммивояжера, все известные алгоритмы х а ­ рактеризуются значительной трудоемкостью их реализации. Так, например, время реализации алгоритма Беллмана [1] для задачи коммивояжера

растет экспоненциально по числу городов. Можно считать установленным, что возможность построения эффективного алгоритма для той или иной задачи дискретной оптимизации зависит от свойств многогранника, опре­

деляемого задачей (см., например, [2, 3 ] ) .

В статье определяется класс прямых линейных алгоритмов решения дискретных экстремальных задач, представителями которого являются симплекс-метод, варианты метода динамического программирования, раз­

нообразные реализации метода ветвей и границ, «жадный» алгоритм, алго­

ритмы сортировки, целочисленного программирования и другие. У с т а н а в ­ ливается зависимость трудоемкости алгоритма этого класса от плотности

графа многогранника задачи. Показывается, что трудоемкость любого пря­

мого алгоритма решения несимметричной задачи коммивояжера оцени­

вается снизу величиной k2°>

5l/n

, где п — количество городов, / c ^ c o n s t X ) .

2. Линейные алгоритмы

Широкий класс задач дискретной оптимизации допускает следующую общую постановку. '

В пространстве R

m

задан конечный набор векторов X. Требуется для произвольного вектора c^R

m

исходных данных найти х*^Х\ для которого

линейная форма (х, с) принимает минимальное значение.

Подчеркнем, что для вектора* c^R

m

не предполагается никаких дополни­

тельных ограничений. Рассматривая всевозможные векторы c^R

m, полу­

чим набор однотипных задач, имеющих общее множество X допустимых векторов. Совокупность всех таких частных задач вполне определяется множеством X. Всю эту совокупность будем называть задачей X. Частную же задачу с вектором с исходных данных обозначим [X, с].

К описанному виду сводятся задача выбора из т чисел наименьшего;

задача сортировки; задача о назначениях; задача о кратчайшей связываю­

щей сети; задача коммивояжера; задача линейного программирования с ограниченным множеством планов; задача целочисленного программиро­

вания с конечным множеством планов. В различных случаях характер задания множества X оказывается в разной степени явным. В задаче о на­

значениях роль множества X играет множество всех матриц перестановок

(3)

одного порядка, в задаче линейного программирования — множество вер­

шин многогранника планов и т. д.

«Линейный» характер сформулированной задачи, а также простой ана­

лиз известных алгоритмов для конкретных задач позволяют дать описание достаточно общей процедуры, направленной на решение задачи. Сначала приведем «грубое» описанце этой процедуры.

Пусть [ X , с] — некоторая частная задача. На первом шаге выбирается некоторый линейный функционал (вектор) f^R

m

и вычисляется знак формы (Д, с). На втором шаге выбирается новый функционал /

2

(выбор, вообще говоря, зависит от исхода первого шага), вычисляется sgn ( /

2

, с ) и т. д. Выбор функционала f

k

на &-м шаге зависит от исходов предыдущих шагов. Процесс заканчивается, если по полученной информации о знаках

значений форм удается указать минимизирующий вектор

Формализация описанной грубой схемы приводит к следующему опре­

делению класса алгоритмов, которые назовем линейными (см. также [ 4 ] ) . Определение 1. Линейным алгоритмом (решения) задачи X называется направленное дерево, обладающее следующими свойствами:

а) полустепень захода каждой вершины (за исключением одной — кор­

ня) равна единице, полустепень захода корня равна нулю;

б) полустепень исхода каждой вершины равна либо двум (в этом слу­

чае вершина называется внутренней), либо нулю (для концевой вер­

шины) ;

v

в) каждой внутренней вершине соответствует некоторый линейный функционал в R

m

;

г) каждой концевой вершине соответствует некоторый вектор из мно­

жества X;

д) для каждой внутренней вершины одна из исходящих дуг помечена символом 1 (sgn d = l ) , другая символом—1 ( s g n d = — 1 ) ;

е) для каждого пути Д й

4

. . . fid

t

x, начинающегося в корне и оканчи­

вающегося в концевой вершине, для любого c^R

m

из неравенств (Д, c)sgnd

h

>0 ( U = 1 , . . . , Z )

следуют неравенства

(х-у, с)<0 (у^Х).

Линейный алгоритм задачи X служит для решения любой частной за­

дачи [ X , с ] , при этом каждому вектору исходных данных соответствует некоторый путь, ведущий из корня в концевую вершину. Работа линей­

ного алгоритма заключается в последовательном прохождении этого пути вплоть до искомого вектора х^Х. Переход в новую вершину происходит по дуге, помеченной 1, если значение последней вычисленной формы по­

ложительно, и по дуге, помеченной — 1 , если это значение отрицательно.

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

Естественно рассчитывать, что методы решения задачи X должны быть связаны с характером взаимного расположения точек множества X.

Обозначим через Р(Х) выпуклую оболочку множества X:

Р(Х)=соХ.

Множество X вершин (крайних точек) многогранника Р(Х) является подмножеством множества X. При любом c^R

m

хотя бы одно решение частной задачи [ X , с] принадлежит X, Поэтому в дальнейшем предпола­

гается, что Ж=Х. Последнее равенство выполняется, например, если все векторы множества X имеют одинаковые нормы.

Определение 2. Две точки х, у^Х назовем соседними, если соединяю­

щий их отрезок является ребром (одномерной гранью) многогранника Р ( Х ) , т . е.

со{я, у}Г\со(Х\{х, z/}) = ф.

Пусть А — линейный алгоритм, а / — линейный функционал. Б у д е м

(4)

писать f^A, если соответствующий некоторой внутренней вершине алго­

ритма А функционал g удовлетворяет равенству f=kg при к¥=0.

Теорема 1. Пусть х

±

и х

2

~ соседние точки множества X. Тогда для лю­

бого линейного алгоритма А задачи X справедливо включение

(1) (xt-x

2

)e=A

(здесь функционал отождествляется с порождающим его вектором).

Доказательство теоремы дано в приложении.

3. Прямые алгоритмы

Определенный выше класс линейных алгоритмов широк по сравнению с множеством реальных (т. е. используемых на практике) алгоритмов, осуществляющих линейные сравнения. Действительно, обеспечение в ы ­ полнения условия е) в определении 1 может быть связано с принципиаль­

ными вычислительными трудностями и трудоемкость реализации алгорит­

ма из-за этого окажется неприемлемо высокой. Анализ известных алго­

ритмов, применяющихся для решения дискретных задач оптимизации, позволяет указать условие, которому удовлетворяют реальные линейные

алгоритмы, и выделить соответствующий класс прямых алгоритмов.

Определение 3. Прямым алгоритмом задачи X назовем такой линей­

ный алгоритм, у которого условие е) заменено более жестким:

e i ) для любого пути Д й

4

- . . . /Дж, начинающегося в корне и оканчиваю­

щегося в концевой вершине, и для любого соседнего с х, найдется такой функционал Д (Kk^l), для которого условия (Д, с) sgnd

k

>0 и (у—z, с ) < 0 (z^X) несовместны.

Условие €i) означает, что допустимый вектор у^Х исключается из числа претендентов в результате одного из проведенных в ходе работы алгоритма сравнений. Алгоритмы, перечисленные во введении, являются прямыми.

4..Нижние оценки сложности задачи в классе прямых алгоритмов

Пусть X — некоторая задача, А — линейный алгоритм этой задачи.

Естественной мерой сложности алгоритма А служит величина S(A)

i

рав­

ная длине наибольшего пути в алгоритме, где под длиной пути понимается число содержащихся в нем дуг, т. е. число сравнений, используемых на этом пути. Сложность задачи S„(X) в классе прямых алгоритмов опреде­

лим равенством

S

a

(X)=mmS(A),

где минимум берется по всем прямым алгоритмам задачи X.

Рассмотрим множества К{х), где х^Х, определенные равенством K(x)={ce=R": (

х

-у,с)<0, уе-Х}. '

Каждое множество К(х) является многогранным конусом и представ­

ляет собой совокупность таких исходных данных с, для которых данный х является решением частной задачи [ X , с ] . (Подробное изложение теории конусов можно найти в монографии [ 5 ] . )

Следующая теорема устанавливает оценку снизу величины S

n

(X).

Теорема 2. Пусть подмножество Y попарно соседних точек множест­

ва X удовлетворяет условию: для некоторого y^Y конус

(2) * Ы П ( П со {K(y)UK(z}})

у> е У 1

телесен, т. е. содержит внутреннюю точку. Тогда (3) S4X)>\Y\-1,

где | Г | — число элементов множества Г .

47

(5)

Доказательство теоремы дано в приложении.

Обратимся к задаче коммивояжера. Приведем формальную постановку задачи, т. е. определим множество Х=Х

Щ

где п — число городов. Для этого рассмотрим полный ориентированный граф g

n

с вершинами (городами) 1, 2 , . . . , п. Для каждого гамильтонова цикла в этом графе определим век­

тор х^11

п{п

-

1)

(x=(xij); i, 7 = 1 , . . . , гг; положив # « = 1 , если дуга {£, / } , входит в этот цикл, и хъ=0 в противном случае. Сам цикл также обозначим через х. Множество Х

п

представляет собой совокупность

(п— 1 ) ! векторов х, заданных описанным способом для всевозможных га- мильтоновых циклов графа g

n

. Нормы всех этих векторов равны: ||а:|| =Утг, поэтому Х

п

совпадает с множеством вершин многогранника Р(Х

п

).

Теорема 3. Множество Х

п

содержит подмножество Г , удовлетворяющее условиям теоремы 2, для которого

( 4 ) | У | > 2 ° '

5 ( /

« -

9 )

.

Доказательство теоремы 3 дано в приложении.

Теорема 4. Сложность несимметричной задачи коммивояжера для тг городов в классе прямых алгоритмов удовлетворяет неравенству

& ( Х

я

) > 2 ! '

в ( Л

-

в

> . .

Эта теорема непосредственно следует из теорем 2 и 3.

ПРИЛОЖЕНИЕ

Доказательство теоремы 1. Т а к как точки х± и х2 соседние, то найдется такой вектор c0^Rm, для которого при любом х^Х, отличном от xt и х2,

(П.1) (#1, Со) = (х2, с0) < ( я , с0) .

Предполагая, что для некоторого! линейного алгоритма А включение (1) не в ы ­ полнено, можно считать (/, с0)=^0 при любом f^A. П у с т ь W=fidif2d2... - п у т ь в Аг

определяемый вектором с0. Тогда с,0 лежит в открытом конусе (*] {c'(fhc)sgiidi > 0 } .

По условию (П.1) каждое из пересечений Ki(]K(xi) и Kif]K(x2) непусто, что противоречит определению линейного алгоритма.

Доказательство теоремы 2. П у с т ь А - прямой алгоритм задачи X. Обозначим че­

рез с0 внутреннюю точку конуса ( 2 ) , д л я которой (/, с0) ^ 0 при любом f^A; через W обозначим п у т ь в А, определяемый вектором с0. Очевидно, концевая вершина п у т и W помечена вектором у0. Покажем, что длина W не меныпе,'чем | Г | — 1.

П у с т ь y^Y, у^уо и пусть / - ф у н к ц и о н а л , соответствующий внутренней вер­

шине п у т и И7, д л я которого условия (/, c ) s g n d > 0 и с^К(у) несовместны. Это озна­

чает, что / разделяет с0 и К (у); существование такого функционала следует из опре­

деления 3. Из формулы, определяющей конус ( 2 ) , и из того, что с0 принадлежит этому конусу, вытекает, что функционал с0 не разделяет с0 и K(z), где z — любой вектор из У, отличный от у и у0. Т а к и м образом, указанное соответствие функциона­

лов f^W векторам ye=Y инъективно и, следовательно, S(A)>\Y\—l. Отсюда в с и л у произвольности выбора прямого алгоритма А вытекает оценка ( 3 ) .

Теорема доказана.

Доказательство теоремы 3. Приведем сначала достаточное условие соседства век­

торов х, у^Хп.

К а к следует из определения 3, векторы ж, уп не я в л я ю т с я соседними в том и только том случае, когда возможно равенство

(П.2) a s + f c^ y1 l(z)z,

где а , (3, %(z)X), a+$=2X(z)=l и суммирование проводится по всем z^Xn, отлич­

ным от х ж у.

П у с т ь выполнено равенство (П.2) и пусть X(z)>0 д л я некоторого z^Xn. Тогда цикл z содержит лишь те дуги, которые входят х о т я бы в один из циклов х либо у;

последнее условие будем обозначать так: z^x\]y. Е с л и дополнительно потребовать, чтобы циклы х ж у имели общую д у г у {&,'/}? т° о на входит и в цикл z; соответствую­

щее обозначение: z=>xfly. Е с л и же цикл х имеет д у г у •.{&,./}'• а цикл у — обратную д у г у { / , i } , то одна и только одна из этих дуг входит в цикл z; обозначение: z^x{]y.

Т а к и м образом, справедливо следующее утверждение.

П у с т ь х, уп. Е с л и д л я любого z^Xn, отличного от х и г/, нарушается х о т я бы одно из включений

48

(6)

(П.З)

(П.4) z=>x(]y,

(П.5) z=*nfc

то x и у - соседние.

Перейдем теперь к построению множества У, считая вначале, что ra=2(2s+.l)s;, где 5 нечетно.

Вершины графа gn разобьем на четыре группы: {£7ij} ( £ = 0 , 1 , , s ) , {г;^}, (г=1, . . . , s ) ; / может принимать любые целые значения, будем считать прш этом, что Uij(Uij, vn, Vij) совпадает с uit (соответственно с Uu, vit или Vu), если

( m o d s ) .

Введем несколько определений.

Определение 4. Прямым витком Q назовем п у т ь вида ttojo^Ojo^lZi^lZltflji^lji • • • VslsVslsU>83sU8js, где \jr~i—lr I = | / r- * M =1' (г=1, 2 , 5 ) ; обозначение:

&== ( / о , / i , . . . , / « ; J i , . . . , £ « ) •

Определение 5. Обратным витком Q назовем путь, полученный из некоторого*

прямого витка Q заменой всех д у г на обратные; обозначение: Q = - Q .

Определение 6. Виток Q (прямой или обратный) назовем простым, если /o=/i— . . • . . . =/«; обозначение: Q = ± ( /0; Z i , . . . , ls) (знак определяется ориентацией в и т к а ) .

Определение 7. Два витка

'Q=±(/o, / 1 , . . . , / * ; ^ , . . . , Ze) , (fo, fu.. м J * ; ^» • • •»

(знаки перед скобками выбираются независимо) назовем параллельными, если J-j=fi-ji= . . . =fs-js=li-h= ... =ls-ls=q;

обозначение: Q=Qq, если оба витка прямые или оба обратные, и Q=-Qqi если один виток прямой, а другой обратный.

Определение 8. Две последовательности (длины s) | = ( £ o, | i ,. . . , | s- i ) и r j =

= (т]о, T ] i ,. . . , HS- i ) , членами которых служат 1 и —1, назовем существенно различными,, если

2

:, Is,.-.., 1.-1,-6о, 10

и (Ч 2, т}з,. • . , ч * - ь Щ,

чО^б-

Нетрудно показать, что существует множество М попарно существенно различ­

ных последовательностей указанного вида, д л я которого \М\>28~1.

Д л я каждой последовательности определим сначала прямой простой виток Q0= O = ( 0 ; go, . . . , | s- i ) . Рассмотрим далее последовательность витков ioQo,.

61Q1,...,

|s_ i Qs_ i . Замыкая эту последовательность витков, добавив дуги вида {выход витка 6г-, вход витка g2-+ 1Q i+- i } , получим некоторый гамильтонов цикл. Совокуп­

ность циклов, определенных таким образом д л я всевозможных |еМ , обозначим через;;

У, Y<=Xn. Докажем, что циклы (векторы) множества У являются взаимно соседними.

Пусть х, y^Y и пусть х определяется последовательностью | , а у- последова­

тельностью т]. П у с т ь д л я некоторого г е !п выполняются условия ( П . З ) - ( П . 5 ) . Пока­

жем, что z в таком случае совпадает либо с х, либо с у.

Рассуждения проведем в несколько этапов.

а. Докажем, что цикл z составлен из s параллельных витков. Начнем с вершины

&oo. В силу условий (П.4) и (П.5) д у г а цикла ъ соединяет и00 с Uoo. Вершина U00

соединяется с одной из вершин vi-i или 1?ц, и т. д. Переходя по дугам цикла zr. получим таким образом путь, соединяющий вершину и00 с некоторой вершиной USjs..

Из построения видно, что полученный путь я в л я е т с я витком - прямым или обрат­

ным; этот виток обозначим (О, / Ч , . . . , /в; h,..., 18) (знаки витков сейчас несуществен­

ны, и их опускаем).

Проведем аналогичное построение, начав теперь с вершины и02. В результате получим новый виток вида (2, /4, . . . , /s; f i , ...ДО- Разность q=h—li равна, как нетрудно проверить, двум. Действительно, q является четным числом, удовлетворяю­

щим неравенствам 0 < # < 4 . Но значения 0 и 4 невозможны, так как в первом случае степень вершины vih в цикле z равнялась бы трем, а во втором случае вершина v 2 имела бы степень, равную единице.

Рассуждая по индукции, получим равенства

/ i= • • • •— js— js==ti~li=,.. =Г8—Zs=2, которые означают, что построенные два витка параллельны.

Проводя далее рассуждения, начиная с вершин и04 , Ще и т. д., и используя нечет­

ность 5 , получим, что цикл z составлен из s параллельных витков.

б. Докажем, что витки, составляющие цикл z, являются простыми. Рассмотрим виток, проходящий через вершину и0о'. (О, / i , . . . , /в; h,..., 18). Предположим против­

ное, т. е. предположим, что этот виток не простой. Это означает, что х о т я бы одно из значений /4, . . . , /в отлично от н у л я . П у с т ь /V^O, но ;r_ i = 0 . Возможными значения­

ми для jr являются, очевидно, 2 и - 2 . П у с т ь д л я определенности /г= 2 (второй слу- 49

(7)

чай рассматривается аналогично). Тогда цикл z содержит либо д у г и {Ur-i,o] vr-i,i}

и {Vr-u иг2), либо обратные к ним. Из1 условия (П.З) и из построения циклов х и у вытекает, что в каждом из этих двух случаев одна д у г а входит в цикл х, а другая -- в у. Пусть, например, {Ur-iXr * > r - i , i }e* и {Vr-i,t; игг}^у. Тогда2. В силу того, что циклы х, у и z составлены из параллельных витков, выполняются равенства

§ 1 = м з , 62=44, • • • , ё 8-1=Л о»-1=Л1» которые означают, что последовательности | и ц не являются существенно различными. Полученное противоречие означает, что витки цикла z простые.

в. Докажем, что витки, образующие цикл z, являются витками только одного из циклов х или у. Рассмотрим /, д л я которого 1^Ц]. В и т к и циклов х и у, проходящие через вершину B0J , имеют противоположные ориентации - один из них прямой, дру­

гой обратный. Поэтому виток цикла z, проходящий через э т у вершину, содержит д у г и лишь одного из указанных витков. По доказанному в этаце «а» отсюда следует сде­

ланное утверждение.

г. Д л я завершения доказательства остается заметить, что дуги, соединяющие витки цикла я, связывают соседние витки и, следовательно, однозначно определя­

ются ориентацией витков. Таким образом, цикл z совпадает либо с циклом х, либо с у.

Докажем теперь, что д л я произвольного у о е Y конус (2) телесен. Д л я этого рас­

смотрим подграф | графа gn, включив в него все д у г и вида {щ-3, и), {иц, 7г 7} . {Uij, i>i+i,j±i}, {Vij, Ui,j±i} и обратные к ним. Обозначим через с характеристический вектор графа g. Легко установить, что д л я любых у, z e 7 имеем с^К(у) и c=y+z, где у и z — внутренние точки соответственно К(у) и K(z). Отсюда следует справед­

ливость утверждения.

Итак, при 7 2= 2 ( 2 s + l ) s , где s нечетно, существует множество Y<=Xn, удовлетво­

ряющее условиям теоремы 2, д л я которого | 7 | ^ 2S~1. П у с т ь теперь п — произвольное натуральное число. Рассмотрим максимальное нечетное s, д л я которого 2(2sH-l)s<rc.

«Склеив» т г — 2 ( 2 s + l ) s + l вершину графа • gn, получим граф с 2 ( 2 5 + 1) 5 вершинами, д л я которого проведем описанные выше построения. Полученную конструкцию пере­

несем н а исходный граф gn и таким образом установим оценку ( 4 ) . Теорема 3 доказана.

Л И Т Е Р А Т У Р А

1. Беллман Р. Применение динамического программирования к задаче о коммивоя­

ж е р е . - В кн.: Кибернетический сб. В ы п . 9 (старая серия). М.: Мир, 1964, с. 219-222.

2. Леонтьев В. К. Дискретные экстремальные з а д а ч и . - В кн.: Теория вероятностей.

Математическая статистика. Теоретическая кибернетика (Итоги н а у к и ) . М.:

В И Н И Т И , 1979, с. 39-101.

3. Емеличев В. А., Ковалев М. М., Кравцев М. К. Многогранники, графы, оптимиза­

ция. М.: Н а у к а , 1981.

4. Mordvek J. On the complexity of discrete programming problems.—Aplikace Mat., 1969, v. 14, № 6, p. 442-474.

5. Красносельский M: А. Положительные решения операторных уравнений. М.: Физ- матгиз, 1962.

Поступила в редакцию- 14.VI.1982

N O N P O L Y N O M I A L L O W E R B O U N D O F T H E T R A V E L I N G S A L E S M A N P R O B L E M C O M P L E X I T Y I N O N E C L A S S O F A L G O R I T H M S

B O N D A R E N K O V . A .

Effective lowerbounds are proposed of labor consumption for wide r a n es of algo­

rithms whereby digital optimization problems of the traveling salesman type are solved.

.50

Referências

Documentos relacionados

4 Сократилось время реагирования, так как на базе оперативного от- дела создан единый диспетчерский центр оказания скорой медицинской по- мощи, привлекающий для решения задач и средства