УДК 519.6
ОДНА ПАРАЛЛЕЛЬНАЯ ПРОЦЕДУРА ПОСТРОЕНИЯ ФУНКЦИИ БЕЛЛМАНА В ОБОБЩЕННОЙ ЗАДАЧЕ КУРЬЕРА С ВНУТРЕННИМИ РАБОТАМИ
А.Г. Ченцов
Рассматривается одна конструкция параллельной реализации метода динамического программирования для решения задачи последовательного обхода множеств (мегаполисов) с ограничениями в виде условий предшествования, именуемая обобщенной задачей курьера; предполагается, что на множествах должны выполняться работы, сопровождаемые затратами. Исследуется вычислительная процедура, предусматривающая частичное построение массива значений функции Беллмана и реализуемая на системе слоев пространства позиций. В основе конструкции находится модель дискретной динамической системы, для которой конструируются области достижимости, реализуемые по рекуррентной схеме.
Ключевые слова: маршрут, мегаполис, динамическое программирование.
Введение
Статья продолжает исследования [1, 2, 3, 4, 5, 6] и посвящена разработке одной гипотетической параллельной процедуры построения функции Беллмана с распределением памяти между процессорами. В [1, 2, 3, 4, 5] детально изложена одна нетрадиционная версия метода динамического программирования (МДП) для решения обобщенной задачи курьера с внутренними работами и аддитивной функцией агрегирования затрат (имеется в виду задача последовательного обхода множеств, осложненная условиями предшествования и необходимостью выполнения работ на этих множествах). Принципиальной особенностью версии является то, что здесь не предусматривается построение всего массива значений функции Беллмана, что существенно с точки зрения вычислений. Тем не менее построение даже «:усеченной> функции Беллмана представляет серьезную проблему. Поэтому естественны попытки построения параллельных алгоритмов для насчитывания массива значений упомянутой функции с последующей их реализацией на многопроцессорных вычислительных системах (МВС). Представляется полезным обеспечение независимой работы процессоров вплоть до последнего этапа, когда вычислитель, получив данные от процессоров, задействованных в построении функции Беллмана, реализует финальное вычисление значения задачи (глобального экстремума); тем самым удалось бы реализовать некоторый аналог персептро-на. В настоящей статье рассматривается одна гипотетическая конструкция такого рода. В основе процедуры находится схема, использующая вспомогательные дискретные динамические системы. Фазовым пространством упомянутых систем является множество списков заданий, обладающих свойством, связанным с условиями предшествования. Для таких динамических систем естественным образом возникают области достижимости, которые только и являются существенными для реализации параллельной процедуры; для построения упомянутых областей применяется рекуррентная процедура, определяемая фактически в терминах полугруппового свойства вышеупомянутых систем.
Отметим, что прототипом рассматриваемой ниже задачи маршрутизации является известная задача коммивояжера (ЗК) [7, 8, 9], традиционно считающаяся труднорешаемой (см. [10]). В связи с построением МДП для решения ЗК отметим оригинальные работы [11, 12].
Заметим, что в [7, 8, 9] обсуждаются различные задачи, включающие элементы маршрутизации, но отличающиеся от ЗК наличием тех или иных дополнительных условий, связанных с приложениями. Так, в частности, в различных инженерных задачах возникают уже упоминавшиеся условия предшествования. Как показано в [1, 2, 3, 4, 5, 6], эти условия удается использовать для целей снижения вычислительной сложности, т.е. данные ограничения могут в рамках соответствующей конструкции не затруднять, а, напротив, облегчать решение задачи. Это обстоятельство используется в настоящей работе (в частности, это проявляется в конструкции распараллеливания, излагаемой далее).
Говоря о возможных приложениях, отметим задачи атомной энергетики, для которых в последнее время удалось применить разрабатываемые в [1, 2, 3, 4, 5, 6] теоретические методы. Речь идет о снижении облучаемости персонала АЭС при выполнении комплекса работ в условиях повышенной радиации. В этой связи отметим работы [13, 14].
1. Обозначения и определения общего характера
Рассмотрим краткую сводку используемых понятий, согласующихся в основном с [1, 2, 3, 4, 5]. Используем кванторы и пропозициональные связки для сокращения словесных высказываний; в дальнейшем ёе£ заменяет фразу «по определению>, = — равенство по определению, 0 — пустое множество. Семейством называем множество, все элементы которого — множества (используемые ниже множества, как правило, конечны).
Для произвольных объектов х и у через {х; у} обозначаем (неупорядоченную) пару [15] этих объектов, т.е. множество, содержащее х, у и не содержащее никаких других элементов.
Если г — объект, то {г} = {г; г} есть одноэлементное множество, содержащее г. Следуя [15],
полагаем для любых двух объектов а и в, что (а, в) = {{а}; {а; в}}, получая упорядоченную пару с первым элементом а и вторым элементом в- Если Н — какая-либо упорядоченная пара, то через р^(Н) и р^(Н) обозначаем соответственно первый и второй элементы упорядоченной пары Н, однозначно определяемые условием Н = (рг^Н), р^(Н)).
Если Н — множество, то через Р(Н) обозначаем семейство всех подмножеств (п/м) Н,
тогда Р '(Н) = Р (Н)\{0} — семейство всех непустых п/м Н. Через М обозначаем вещественную прямую с неотрицательной полуосью [0, го[= {£ € М | 0 < £}, N = {1; 2;...} € Р'(М) —
натуральный ряд и N0 = {0} и N = {0; 1; 2;...}; М = {г € N0 | (к < г)&(г < I)} Ук € N0 VI € N0 (при к € N и I € N непременно к,1 С
Если 5 — множество, то через Еш(£) обозначаем семейство всех непустых конечных п/м 5; если К € Рт(£), то через |К| обозначаем мощность (количество элементов) К, |К| € N
полагаем также, что |0| 0.
Перестановкой непустого множества Т называем [16, с. 87] всякую биекцию [16, с. 86] Т на себя; если а — перестановка Т, то а-1 есть ёе£ перестановка, обратная к а : а-1 — перестановка Т, а(а-1(£)) = а-1(а(£)) = £ € Т. Если К — непустое конечное множество, то через (Ы)[К] обозначаем (непустое) множество всех биекций множества 1, |К| на К.
Для каждого непустого множества Т через ^+[Т] условимся обозначать множество всех неотрицательных вещественнозначных функций на Т, т.е. ^+[Т] = {Т —► [0, если при
этом Т = А х В, где А и В — непустые множества, то /(а,Ъ) = /((а,Ъ)) V/ € ^+[Т] Уа € А УЪ € В (обычное правило экономии скобок).
В дальнейшем широко используется индексная форма записи функций, принятая в [17]: если X и У — непустые множества и каждому и € X сопоставлен (единственный) элемент уи € У, то (ух)хеХ понимается как функция / : X —► У, для которой /(х) = ух Ух € X.
Данную форму записи используем, в частности, при X = 1,т, где т € N. Кортежи
ЫгеХт : 1,т —► У (1)
являются, строго говоря, функциями, действующими из 1,т в У; обозначая кортеж (1) одной буквой у, получаем функцию (из 1, т в У), для которой у(?) = yj У? € 1, т. Соглашение, подобное этому, используется также при X = 0, т, где т € N.
2. Постановка задачи
Всюду в дальнейшем фиксируем N € N такое, что 2 < N (существенная часть изложения будет касаться, однако, случая 3 < N); N определяет число (целевых) множеств — мегаполисов, подлежащих посещению. Через Р обозначаем множество всех перестановок множества 1,N : Р = (Ы)[1,^. Элементы Р называем (полными) маршрутами. Выбор маршрута из множества Р может быть стеснен условиями предшествования, определяемыми заданным множеством К € Р(1, N х 1, N) (случай К = 0 не исключается и отвечает отсутствию условий предшествования) адресных пар, первые элементы которых именуем отправителями, а вторые — получателями. Тогда А = {а € Р | а-1(рг1(^)) < а-1(рг2(г)) Уг € К} есть (см.[4], [6, §4.9]) множество всех маршрутов, допустимых по предшествованию, т.е. реализующих для каждой адресной пары посещение ее отправителя ранее, чем посещение получателя. Всюду в дальнейшем полагаем выполненным
Условие 21. Для всякого множества Ко € Р'(К) существует такая адресная пара г € Ко, что рг1(г) = рг2(г) У г € К0.
Подробное обсуждение данного естественного условия см. в [6, разделы 2.2,2.5]. Мы, как уже отмечалось, принимаем это условие. Тогда [6, раздел 2.2] А = 0.
Фиксируем непустое множество X, точку х° € X и кортеж (М^у-^ : 1, N —► Еш(Х) множеств (мегаполисов), относительно которых предполагается, что (х° / Mj У? € 1, N) & ( М^ П М,2 = 0 Уп € 1, N Уг2 € 1, N \ {п}). Точка х° исполняет роль базы (начального пункта), а множества Му, ...Мм должны посещаться в той или иной очередности. Каждое такое посещение характеризуется пунктом прибытия и пунктом отправления, а вся система перемещений по множествам в очередности а € Р имеет вид
х
о
(¿1 € Ма(1) х Ма(1)) ... (гм € М„(„) х М«(М)) (2)
(при к € 1,N рг^^к) € Ма(к) есть пункт прибытия на Ма(к), а рг2(г к) € Ма(к) — пункт отправления; возможное несовпадение этих пунктов связано с выполнением работ на Ма(к)). Условия предшествования обязывают к тому, чтобы в (2) а € А.
Через X условимся обозначать множество всех кортежей (гг)гео~м : 0, N —► X х X. Ориентируясь на (2), полагаем, что
= — - ■ ' ' „о ™°
3[а] = € X | (го = (х°, х°)) & (^ € Ма{Г> х Ма{Г> У? € 1, N)} Уа € Р. (3)
Тем самым маршруту сопоставляется непустое конечное множество всех согласующихся с ним в смысле (2) трасс посещения мегаполисов М1,..., Мм. Полагаем, что при осуществлении (2) могут выбираться любой маршрут а € А и любая трасса из множества (3). Последствия данного выбора оцениваются с помощью аддитивного критерия.
Полагаем заданными функции с € х X] и £ € R+[X], а также кортеж функций
(с)геТУ : 1,N —► R+[X х X]. Посредством с будут оцениваться затраты на (внешние)
перемещения между множествами, посредством — работы на множествах, а по-
средством £ — финальное состояние (в случае (2) посредством £ оценивается р^г^));
△ N-1 N
Са^г)^= Е С(РГ2рГ1(2^+1)) + Е С«(г) (¿г) + £(р^М))
г=0 г=1
Уа € А € 3[а].
(4)
В качестве основной рассматриваем далее следующую задачу:
Са[(^г)г€^] -► т!п, а € А, ^да € 3[а]- (5)
Через V обозначаем далее значение (экстремум) задачи (5), т.е.
V = т!п т!п СаК^еО^ € [0, (6)
аеА О^геоЖе3[а] '
Если а° € А и (^г0)ге^ € 3[а°] реализуют равенство Са0 К^ОгеОм] = V, то (а0 (2гО)г€0М) есть оптимальное решение задачи (5), т.е. решение, доставляющее экстремум (6).
3. Метод динамического программирования: слои функции Беллмана
В настоящем разделе кратко излагается усеченная версия МДП (подробнее см. в [1, 2, 3, 4]). Прежде всего напомним, что построение нужного варианта МДП для решения задачи (5) было связано (в [1, 2, 3, 4]) с предварительным преобразованием системы ограничений, в результате чего допустимость по предшествованию была заменена допустимостью по вычеркиванию. Опуская данное рассуждение [1, 2, 3, 4], введем нужные для дальнейшего конструкции, связанные с вычеркиванием заданий из списков; списками именуем непустые п/м Итак, N = Р'(1,^) есть множество всевозможных списков, каждый из которых
есть конечное множество, а потому определена соответствующая мощность, принимающая
значение в 1, N. Пусть N5 = {К € N | в = |К|} У в € 1, N; в виде N5, в € 1,^ получаем разбиение N в систему непустых семейств непустых п/м 1, N. Следуя [1, 2, 3, 4, 5, 6], полагаем, что
Е[К] = { € К | (рг1(1) € К) & (рг2(1) € К)} УК € N. (7)
В (7) введены множества адресных пар, «:полностью> укладывающихся в тот или иной список. Правило вычеркивания определяем [1, 2, 3, 4, 6] посредством отображения I, действующего в N (т.е. I : N —► N и такого, что
1(К) = К \ { рг2(1) : 1 € Е[К]} УК € N. (8)
На основе I (8) в [1, 2, 3, 4, 6] определяется допустимость маршрутов по вычеркиванию.
Если К € N то полагаем, что (Ы)[К] есть ёе£ множество всех биекций «:отрезка> 1, |К| на множество К; (Ы)[К] = 0. Такие биекции рассматриваем как частичные (вообще говоря) маршруты. Имеем равенство Р = (bi)[1,N]. Далее, следуя [6, часть 2], введем укороченные аналоги маршрутов из А, полагая при К € N что
Д
(I - Ы)[К] = {а € (Ы)[К] | а(в) € 1({а(^) : ; € в, |К|}) Ув € 1, |К|}.
Тогда [6, часть 2] (I - Ы)[К] = 0 УК € N кроме того, А = (I - Ы)[1, Итак, при К € N мы в виде а € (I — Ы) [К] имеем аналоги допустимых маршрутов из множества А; правда,
в этой аналогии понятие допустимости связывается с правилом вычеркивания на основе I. Наряду с «частичными> маршрутами потребуются также «частичные> трассы.
Условимся о соглашении: если K € N, то через Xk обозначаем множество всех кортежей (Zi)ig0 |k| : 0, |K| —> X x X. Определяем теперь частичные трассы в виде упомянутых кортежей со специальными свойствами: если x € X, K € N и а € (bi)[K], то в виде
3(x, K, а) = {(zi)ie^K| € Xk | (zo = (x,x)) & (zj € M«(j) x Ma(j) Vj € 1, |K|)} имеем требуемое непустое конечное множество «частичных> трасс, стартующих из x и согласованных с а; для дальнейшего важен случай а € (I — bi)[K]. Полагаем теперь, что
(а) = |K|-1 |K|
CK ((zi)ie0^K|) = =0 c(Pr2(zi), Pr1(zi+1)) + = ca(i)(zi) + f(Pr2(z|K|)) VK°€ N Vа € (bi)[K] V(zi€ X|k|.
С учетом данного определения получаем теперь, что
v(x,K) = min min ^((zi) € [0, Vx € X VK € N.
v ' ae(i-bi)[K](zi).60;TKTe3(x)K)a) K vv ^e0,|KK L L
Тогда V = 1>(ж0,1, Ж). Напомним подход [1, 2, 3, 4, 5, 6]: полагаем, что
д = {К € N IV* € К (рг^г) / К) V (рг2(г) € К)}. (9)
Множества из д называем существенными списками; ранжируем их по мощности:
=
Gs = G П Ns Vs € 1, N. (10)
Из (9), (10) легко извлекается представление Gl в терминах Ki = { pri(z) : z € K} :
Gl = {{t} : t € 1, N \ Ki}. (11)
С другой стороны (см. [1, 2, 3, 4, 5, 6]), имеет место свойство
К \ {к} € дв_1 Vs € 2, N VK € дв ^ € 1(К), (12)
связывающее систему (10) с операцией вычеркивания. Далее мы дополним свойство (11), (12), но сейчас, имея в виду логику МДП, напомним конструкцию слоев пространства позиций; позициями мы именуем пары (ж, К), ж € X, К € N где (здесь и ниже)
N = N и {0} = Р(1,Ж) — семейство всех п/м 1,Ж. Введем М = У М^, получая непустое [6, § 4.9] конечное п/м X, а также слой
^о = {(ж, 0) : х € М} = М х {0}. (13)
Кроме того (см. [1, 2, 3, 4, 6]), 1,Х € д^ и
^ = {(ж0,1,Ж)}. Итак, определены крайние слои ^о и ^^. В целях построения промежуточных слоев введем сначала множества
Д
Л(К) = {; € 1, N \ К | Ш и К € д^} V* € 1, N - 1 VK € дв. (14)
В терминах этих множеств конструируем специальные п/м X, полагая что
Мв[К] = и М, Vs € 1,Ж - 1 VK € дв. (15)
В свою очередь, на основе (15) определяются следующие клетки пространства позиций:
[К] = {(ж, К) : х € М5[К]} Уз € 1, N - 1 УК € (16)
Каждая клетка (16) определяется соответствующим существенным списком и получается навешиванием «:слева> на сам список точек множеств (15). Пусть
Д3 = У ЩК] Ув € 1, N - 1. (17)
к&дв
Множества Д1, ..., Дм-1 — промежуточные слои. При этом (см. [6, предложение 4.9.3])
Д3 € Р'(X х N Уз € 0, N. (18)
В (17), (18) имеем систему слоев, на которых следует [1, 2, 3, 4] насчитывать значения функции Беллмана. Каждый из слоев — непустое множество в пространстве позиций. Теперь мы рекурсивно определяем функции Уо € ^+[До], VI € ^+[Д1],..., Ум € ]• Полагаем
при этом, что функция Уо такова, что
Уо(ж, 0) = ((ж) Уж € М. (19)
В связи с преобразованием У— —► У, при в € 1,N напомним следующее свойство [6, предложение 4.9.4]: У (ж, К) € Да Уй € 1(К) У у € Мк
(y,K \{k}) € Ds-i. (20)
Свойство (20) позволяет в условиях, его определяющих, использовать значения функции Vs-i. С учетом этого полагаем (при s € 1,N), что Vs-i преобразуется в Vs по правилу:
Vs(x,K) △ min min [с(ж, pri(z)) + Cj(z) + Vs-i(pr2(z), K \ {j})] У(ж,К) € Ds. (21)
jei (K) zeMj xMj
Посредством (19) и (21) определена рекурсивная процедура. В [1, 2, 3, 4] показано, что Vo, Vi,..., Vn являются сужениями «:единой> функции Беллмана, соответствующей расширению задачи (5). В этой связи напомним, что ранее были определены значения v(x, K) € [0, при ж € X и K € N. С учетом этого введем функцию V : X х N —> [0, посредством следующих правил: (V(x, K) △ v(x, K) Уж € X УК € N) & (V(x, 0) △ f(ж) Уж € X). Тогда, как легко видеть, Vs = (V(z))zeDs ys € 0, N. Существенно, что
V = Vn (ж0,17W). (22)
В дальнейшем исследуются вопросы качественного характера, связанные с построением вычислительных процедур для нахождения Vi,..., Vn и значения (22). Эти вопросы касаются распределения существенных списков между гипотетическими процессорами.
4. Существенные списки заданий: общие свойства
Из (17) и (21) вытекает, что при распределении памяти можно ориентироваться всякий раз на списки соответствующей мощности, формирующие клетки; эти клетки образуют разбиение слоев пространства позиций. Таким образом, в конструкциях, связанных с распараллеливанием, можно использовать распределение (существенных) списков, имея в виду то, что каждый такой список однозначно определяет клетку пространства позиций (см. (16)).
В этой связи имеет смысл отметить ряд свойств существенных списков с целью последовательного их использования при построении параллельного алгоритма формирования слоев функции Беллмана (эти слои определяем в виде Уо, VI,..., Ум)•
Предложение 1. УК € Р'(К) 3с € К : рг^С) = рг2(с) УС € К.
Доказательство. Утверждение очевидно при К = 0, т.к. в этом случае Р'(К) = 0. Пусть
К = 0, п = |К| и Ш3 = { К € Р'(К) | 8 = |К|} У в € 1,п. Объединение всех семейств 8 € 1, п, совпадает с Р'(К). Из условия 2.1 вытекает, что
УК € М1 3с € 1С : рг:(С) = рг2(с) УС € К (23)
(следствие одноэлементности множеств из М1 )• Пусть т € 1,п — 1 таково, что УК! € Мт 3с € 1С : рг1(С) = рг2(с) УС € 1С. Пусть К € Мт+1. С учетом условия 2.1 подберем с* € К так, что
рг1 (с*) = рг2(С) УС € К. (24)
Поскольку ф = К \ {г*} € Мт, то для некоторого г* € Q справедливо свойство
р^(С) = р^с*) УС € ф. (25)
С учетом (24) имеем, однако, что рг^с*) = р^г*), а тогда, используя (25), получаем, что рг^С) = рг2(г*) УС € К. Поскольку выбор К был произвольным, установлено, что
УК € Мт+1 3с € К : рг1 (С) = рг2(с) Ус € 1С. (26)
Поскольку выбор т был произвольным, установлено свойство: У в € 1,п — 1
(УК € М 3с € 1С : рг1(С) = рг2(с) УС € 1С) (УК € М5+1 3с € 1С :
рг^С) =р^(с) УС € К);
с учетом (23) получаем требуемое свойство. □
Предложение 2. Уз € 1, N — 1 УК € Я3 3;' € Л(К) : j € !({;'} и К).
Доказательство. Фиксируем в € 1, N — 1 и К € Тогда 1, N \ К € N.
1) Пусть сначала Е[1, N \ К] = 0. Используя непустоту множества 1, N \ К, выберем и зафиксируем р € 1, N \ К. Тогда {р} и К € N3+1. Выберем произвольно с* € К. Допустим, что рг^с*) € {р} и К. По свойствам К имеем (см. (9),(10)), что
(рг^с*) € К) (рг2(с*) € К). (27)
По выбору р имеем в случае рг^с*) = р импликацию (р^с*) € 1, N \ К) (с* € Е[1, N \ К]), а потому в рассматриваемом сейчас случае пустого множества Е[1, N \ К] непременно рг2(с*) € К. Следовательно, (рг1(с*) = р) (рг2(с*) € К). С учетом (27) получаем во всех возможных (при условии рг^с*) € {р} и К) случаях, что р^с*) € К. Тем самым установлена, в частности, импликация (рг^с*) € {р}иК) (р^с*) € {р}иК). Поскольку выбор с* был произвольным, имеем из (9), (10) включение {р} и К € £з+1, что означает по выбору р справедливость свойства р € ^(К); см. (14). Осталось установить, что р € 1({р} и К). Для этого заметим, что согласно (8)
( р = рг2(1) У € Н[{р} и К]) ( р € 1({р} и К)). (28)
Покажем, что посылка импликации (28) истинна. В самом деле, допустим противное: р = рг2(г0) для некоторого г0 € Н[{р}и К]. Тогда г0 € К, рг1(г0) € {р}и К и рг2(г0) € {р} и К. При этом, поскольку Е[1,Ж \ К] = 0, то согласно (7) ( рг1(г0) / 1,Ж \ К) V ( рг2(г0) / 1,Ж \ К). Однако по выбору р имеем включение р^^) € 1,^ \ К. Поэтому рг1 (20) € К. В этом случае имеем по выбору К включение р^^) € К, а тогда р € К, что невозможно. Полученное противоречие доказывает истинность посылки импликации (28), а тогда р € 1({р} и К). С учетом ранее установленного свойства р € ^¡(К) получаем в случае 1), что 3?€ Л (К) : 3 €1Ш} и К). Итак,
(Н[1,Ж \ К] = 0)=^ (3?€Л(К): 3 €!(Ши К)). (29)
2) Пусть Е[1, N \ К] = 0. Тогда Е[1, N \ К] € Р'(К), а потому согласно предложению 1 для некоторой упорядоченной пары р € Е[1, N \ К] имеем свойство
рг1(г) = рг2(р) Уг€ 3[1^ \ К]. (30)
Рассмотрим множество К = {рг2(р)} и К € N+1 (учитываем (7)). Покажем, что К € Действительно, пусть Л € К. Допустим, что р^(Л) € К. Если р^(Л) = р^(р), то в случае рг2(Л) € 1, N \ К имеем по выбору р, что Л € E[1,N \ К] и, как следствие (см. (30)), противоречие. Стало быть, при р^(А) = р^(р) непременно р^(А) € К. В частности,
(рг1(Л) = рг2(р)) (рг2(Л) € К). (31)
Пусть теперь р^(Л) € К. Тогда по выбору К имеем из (9), (10) что р^(Л) € К. Итак,
(рг1(Л) €К)=^ (рг2(Л) € К). (32)
Из (31), (32) имеем во всех возможных при условии р^(Л) € К случаях включение рг2(Л) € К. Следовательно, (р^(Л) € К) (рг2(Л) € К). Поскольку выбор Л был произвольным, установлено (см. (9)), что К € При этом (см. (30)) р^(р) = р^(р) и по выбору р рг1(р) / К. В итоге р^(р) / К и, в частности, р / Е[К] (см. (7)). При этом рг2(р) = рг2(1) VI € Е[К]. Действительно, допустим противное: рг2(р) = р^(1*) для некоторой упорядоченной пары 1* € Е[К]. В силу условия 2.1 р^(1*) = рг2(1*), откуда следует, что рг1 (1*) € К \ {рг2(р)}, т.е. рг1 (1*) € К и (по выбору К) имеем включение р^(1*) € К и, как следствие, р^(р) € К, что противоречит (см. (7)) выбору р. Противоречие доказывает требуемое свойство, а тогда (см. (8)) р^(р) € 1(К). Поскольку К € £8+1, то (см. определение К) рг2(р) € -13(К) : рг2(р) € 1({рг2(р)} и К). Итак, и в случае 2) непременно З3 € Js(K) : 3 € 1({з}иК). Следовательно, (Н[1^\К] = 0) (З? € Л(К) : 3 € 1({?}иК)). С учетом (29), имеем требуемое утверждение во всех возможных случаях. □
Предложение 3. &-1 = {К € Жв-1 | € Я3 € 1(К) : К = К \ {3 }} Уз € 2, N.
=
Доказательство. Пусть ¿€ 2, N и К = {К € | 3К € Я3 З3 € !(К) : К = К \ }}.
Из (12) следует, что К С £8-ь Пусть Т € £8-ь Тогда в силу предложения 2 имеем для некоторого V € 75-1(Т) свойство V € !({^} и Т), где согласно (14) {V} и Т € При этом Т = ({V} и Т) \ {V}, т.к. V / Т. Следовательно, Т € К. Итак, £8-1 С К. □
Из предложения 3 и (9),(10) вытекает, что
= {1, N}) & ( &-1 = {К \ {3} : К € 3 € 1(К)} Уз € 2, N). (33)
Предложение 4. Если з€ 1, N — 1, К € и п € 78(К), то п € 1({п} и К).
Доказательство. По выбору п получаем из (14), что п € 1, N \ К, причем {п} и К € д8+1. Это означает, что (см. (9),(10)) У г € К ( рг1(г) / {п} и К) V ( рг2(г) € {п} и К). Аналогичным свойством обладает и множество К, т.е. У г € К
(рг1(г)/К) V (рг2(г) € К). (34)
При этом п {п} и К, а тогда непременно справедливо следующее свойство:
п = рг2(1) У1 €Н[{п}и К]. (35)
В самом деле, допустим противное: п = рг2(Л), где Л € ^[{п} и К]. Согласно условию 2.1 рг^А) = п. По выбору Л имеем, что рг^Л) € К ив силу (34) п = р^(Л) € К, что невозможно по выбору п. Противоречие доказывает (35), а тогда п € 1({п} и К). □
В качестве очевидного следствия предложения 2 отметим здесь же тот факт, что
Л(К) = 0 Ув € 1, N - 1 УК € д8. (36)
Из (15) и (36) получаем, в частности, следующее свойство
М,[К] € Р'(Х) Ув € 1, N - 1 УК € д,. (37)
Разумеется, каждая клетка (16) является в силу (37) непустым множеством в пространстве позиций. С (37) можно связать сужения слоев функции Беллмана, учитывая, что согласно(16) (ж, К) € В8[К] Ув € - 1 УК € д8 Уж € М8[К]. Согласно (17)
(ж, К) € Д, Ув € 1, N - 1 УК € д, Уж € М,[К]. (38)
С учетом (38) и определений раздела 4 полагаем, что при в€ 1, N - 1 и К €д8 функция
У,[К] [М8[К]] (39)
определяется условием: У8[К](ж) = У8(ж,К) Уж € М8[К]; (39) рассматриваем в качестве клеток функции Беллмана.
В заключении раздела рассмотрим этап, связанный с определением V (22) и являющийся по смыслу заключительным при построении слоев функции Беллмана; значение (22) определяется в терминах Ум-1 € ^+[Дм-1] :
V = ш]^ ш1п [с(ж0, рг1(г))+ с,(г) + Ум-1^2(2) 1,N \ {;})]. (40)
,е1(1,м) ¿ем хм^
Напомним, что Дм-1 есть объединение всех клеток Вм-1[К], К € дм-1. При этом
Вм-1[К] = {(ж, К) : ж € Мм-1[К]} УК € дм-1. (41)
Если К € дм-1, то Мм-1[К] € Р'(X) есть объединение всех множеств М^, г € -1(К), а функция-клетка Ум-1[К] такова, что Ум-1[К](ж) = Ум-1(ж, К) Уж € Мм-1[К]. Учитывая (41), получаем, что система Ум^[К], К € дм-1, исчерпывающим образом определяет слой Ум-1 и (см. (40)) позволяет вычислять V. Согласно предложению 3 и (33)
дм-1 = {1, N \Ш : з € 1(1, N)}. (42)
Поэтому вышеупомянутая система клеток сводится (см. (42)) к набору
Ум-1[1, N \{з}],з € 1(1, N). (43)
В связи с (42), (43) уместно вернуться к представлению множеств Мм-1[К], К € дм-1-Предложение 5. Если п € 1(1, то Мм\ {п}] = Мп.
Доказательство. Напомним, что 1,N \ {п} € Ям-1 (см. (42)). Поскольку согласно (8) п € т;^, то \(И^\{п}) = {п} и ^-1^\{п}) = {; € {п} | Ши(^\{п}) € Ям} = {п}, поскольку {п}и(1, N\{n}) = 1, N € Ям (см. (33)). Но тогда согласно (15) получаем требуемое равенство -1[1, N \ {п}] = Шп. □
Из (41), (42) и предложения 5 вытекает, что Вм\ {;}] = {(х, 1, N \ {;}) : х € Ш, } У; € Щ N). При этом -1[17Ж \ {;}] € ] У; € I(l,N). Упомянутые функции-
клетки реализуют весь набор (43) и позволяют вычислять V (40), поскольку согласно (42) -1 есть объединение всех множеств Вм-l[1,N \ {;}], ; € I(1,N).
5. Схема параллельных вычислений с элементами
«дискретной динамики»: предваряющие конструкции
Конструкция, связанная с (40) и изложенная в заключении предыдущего раздела, доставляет следующую схему построения усеченного массива значений функции Беллмана.
Имея в виду «:умеренную> величину N и эффект применения оператора I, можно предполагать возможность использования для вычислений 11(1, N)| процессоров, каждый из которых будет ответственным за список 1, N \ {;} для соответствующего номера ; € Щ а также за решение задач, приводящих к реализации нужной клетки пространства позиций и отвечающей ей клетки значений функции Беллмана. Ниже предлагается процедура реализации независимых вычислений упомянутых функций-клеток, приводящая к построению слоя Ум-1, после чего следует осуществить вычисление V в соответствии с (40). Итак (см. (42)), предполагается распределить между процессорами все (существенные) списки К € Ям-1, выделяя каждому процессору ровно один такой список. Тогда оказывается возможным реализовать последующую работу процессоров без какого-либо взаимодействия друг с другом вплоть до финального вычисления V (40). Для этого потребуются некоторые вспомогательные построения, приводимые ниже; в частности, возникает необходимость в рассмотрении динамических систем с дискретным временем.
Всюду в дальнейшем полагаем, что 3 < N. Если г € 2,N — 1 и К € Ям-г+1, то через % [К] обозначаем далее множество всех кортежей
(Кг)ге^ : 0, N - г —► Я, (44)
для каждого из которых справедливы следующие свойства
(К° = К) & (У; € 1, N - г Зв € ЦК-О : К, = К,— \ {в}). (45)
Мы интерпретируем кортежи (44), (45) как траектории некоторого процесса формирования существенных списков; для наших целей особенно важен случай, когда в (44), (45) г = 2, поскольку в этом случае мы имеем траектории, стартующие из начальных состояний К € Ям-1 (см. (42)), что отвечает вышеупомянутой идее распараллеливания.
Предложение 6. Если г € 2, N - 1, К € Ям-г+1, (Кг)ге° м-г € % [К] и ; € 0, N - г, то
К, € -(г+,)+1.
Доказательство сводится (см. (45)) к применению математической индукции. Предложение 7. %. [К] = 0 Уг € 2^ - 1 УК € -г+1.
Доказательство. Пусть г € 2, N - 1 и К € Ям-г+1. Полагаем, что = * _
М = {(Кг)гео1 € П Ям-(г+г)+1 | (К° = К) & (У; € М Зв € ЦК,-^) :
г=0 _
К, = К,-1 \ {в})} У* € 0, N - г.
(46)
Поскольку 1, 0 = 0, из (46) вытекает, что М° = 0. Кроме того, из (44)-(46) и предложения 6 следует, что Мм_г = Т[К]. Покажем, что
М = 0 V* € 0, N - г. (47)
В самом деле, допустим противное, т.е. € 0, N — г : = 0. Это означает, что Т =
{* € 0, N — г | = 0} есть непустое п/м 0, N — г; при этом т = т^Т) € 0, N — г есть наименьший элемент Т, т € Т \ {0}. Тогда т — 1 € 0, N — (г + 1) \ Т; Мт-1 = 0. С учетом этого выберем и зафиксируем (К*)^е° т-1 € Мт-1. Тогда (К*)^е° т-1 : 0,т — 1 —► О;
К* €Ом_(г+?)+1 У? € 0, т — 1, (48)
К° = К. Из (48) следует, в частности, что К;_1 € NN_(г+т)+2, где 2 < N — (г + т) + 2 и, следовательно, 2 < |К;_1|. При этом 1(К;_1) = 0 по свойствам I. С учетом этого выберем в € 1(К;_1), получая множество
К;_1 \ {в} € Ом_(г+т)+1 (49)
(см. (33), (48)). С учетом этого полагаем (см. (48), (49)), что кортеж (К*)^еот : 0,т —► О
определяется условиями (К* = К; У? € 0,т — 1) & (К; = К;_1 \ {в}). Легко видеть, что (см. (46), (48), (49)) (К*)^еот € Мт, что невозможно, т.к. т € Т. Полученное противоречие доказывает (47), а тогда, в частности, Т [К] = 0. □
Если г € 2,N — 1, * € г, N — 1 и К € Ом-4+1, то * € 2,N — 1 и определено множество Т^К"], состоящее из отображений «промежутка> 0, N — * в О. В качестве К можно, в частности, использовать значение траектории (см. (44),(45)). Точнее, имеем при г € 2, N — 1, К € Ом_г+1, (К),ео-м_■ € Тг [К] и ? € 0, N — г, что N — (г+?) + 1 € 1, N — г +1 и при этом (см. предложение 6) К? € Ом_(г+?)+1. Если же г € 2, N — 1 и ? € 0, N — (г +1), то г + ? € 2, N — 1, а тогда определены множества [К при К € Ом_(г+?)+1. Следовательно, с учетом предложения 6 имеем, что при г € 2, N — 1, К € Ом_г+1, (К^)^е° м_г € ТГ [К] и ? € 0, N — (г +1) определено множество [К?] и, вместе с тем,
? + 8 € N — г Уз € 0, N — (г + ?); (50)
поэтому имеем К?+4 € О при * € 0, N — (г + ?). Отметим аналог полугруппового свойства.
Предложение 8. При г € 2, N — 1, К € Ом_г+1, (К^ео-м_ € Т[К] и ? € 0, N — (г + 1)
€ТГ+? [К? ]. (51)
Доказательство. Учитывая (50), конструируем кортеж в левой части (51):
(К?+^)5ео-м^ : ^ ■^ — (г + ?) — О.
При этом для р € 1, N — (г + ?) имеем ? + р € ? + 1, N — г, а индекс р — 1 € 0, N — (г + ?) — 1 реализует включение ? + (р — 1) € N — (г +1); согласно (45) для некоторого I € 1(К?+(р_1)) имеем равенство К?+р = К?+(р_1) \ {I}. Таким образом, Уз € 1, N — (г + ?) € 1(К?+(5_1)) : К?+5 = К?+(з_1) \ {V}. Свойство (51) установлено (см. (44),(45)). □
Предложение 9. Пусть г € 2, N — 1, К € Ом_г+1, (К^ео-м_ € Т[К], ? € 0, N — (г + 1), (К*)г€о,м_(г+?) € [К?], а кортеж
(К)гео-м_ : 0, N — г —► О (52)
определяется следующими условиями:
(К = К V* € 03) & (К = V* € 3 + 1,Ж - г). (53)
Тогда кортеж (52) обладает следующим свойством: (К^)^ м_г € Т [К].
Доказательство. Из определений следует, что Ко = Ко = К. Выберем произвольно Ь € 1, N — г. Тогда для Ь — 1 € 0, N — (г + 1) имеем, что
(Ь - 1 < 3) V (з < Ь - 1). (54)
Оба случая в (54) рассмотрим отдельно. Пусть сначала имеет место случай
1) Ь - 1 < 3. Тогда Ь - 1 € 0,3 и согласно (53) К^_1 = К^_1 € д; так как Ь € 1,3 + 1, то
(Ь € 13) V (Ь = 3 + 1). (55)
Случаи, отмеченные в (55), также рассмотрим отдельно. Пусть сначала
а) Ь € 1,3. Тогда согласно (53) К = К и по выбору (Кг)^ео м_г получаем, поскольку Ь - 1 € 0, N - (г + 1), что К = К4 = К4_1 \ для некоторого з' € 1(К4_1) (см. (45)); здесь учтено, что = . Рассмотрение случая а) завершено; получили импликацию
(Ь € 13) (35 € Т(К4_1) : К = \ {в}). (56)
Ь) Пусть Ь = 3 + 1. Тогда Ь € 3 + 1,N - г и К = КС 1 согласно (53). По выбору (Кг)^ео N_(г+^) имеем из (45), что для некоторого 5'' € 1(К,) К = К, \ {5''}. Однако в
рассматриваемом случае К^_1 = К, согласно (53); в итоге К = К^_1 \ {5''}, где 5'' € 1(К^_1). Рассмотрение случая Ь) завершено; установлена импликация
(Ь = 3 + 1) (35 € 1(К4_1) : К = К4_1 \ {5}). (57)
Из (56) и (57) получаем, что в случае 1) непременно 35 € 1(К^_1) : К = К^_1 \ {5}. Итак, (Ь - 1 < 3) (35 € 1(К4_1) : К = К4_1 \ {5}). ^
2) Пусть 3 < Ь - 1. Тогда К^_1 = К4_(,+1) и, кроме того, К = . По выбору (Кг)гео>м_(г+-) имеем, что К = К4_, = К4_(.,-+1) \ ^о} = К4_1 \ ^о} для некоторого
5о € 1(К4_1). Итак, (3 < Ь - 1) (38 € 1(К4_1) : К = \ {5}). _
Поскольку выбор Ь был произвольным, имеем (см. (54)), что Vг € 1, N - г 35 € 1(Кг_1) : Кг = Кг_1 \ {5}. Итак (см. (44), (45), (52)), (Кг)гео^ € % [К]. □
Предложение 10. Если г € 2^ - 1, К € дм_г+1 и в € 1(К), то 3(Кг)гео м_г € Т[К] : К \{5} = К1.
(58)
Доказательство. Фиксируем г € 2, N - 1, К € дм_г+1 и 5 € 1(К). Пусть = к
М = {(Кг)геот € П дм_(г+г)+1 I (Ко = К) & (К1 = К \ М) &
_^ г=о _
& (У3 € 1, к 35 € 1(К,_1) : К, = К,_1 \ {5})} М € 1, N - г.
Тогда (см. (10), (44), (45), (58)) имеем очевидное вложение
Мм_г СТГ [К]. (59)
Покажем, что Мк = 0 Ук € 1, N — г. В самом деле, допустим противное: пусть 3к €
1, N — г : Мк = 0. Тогда Т = {к € — г | Мк = 0} € Р7); при этом т = т^Т) € Т. Легко видеть, что М1 = 0 (действительно, для
1
(К^од € П£м-(г+г)+1, КО = К, К = К \ {в},
*=о
имеем: (К*)*еог € М1), а тогда 1 / Т. Поэтому т = 1 и, следовательно, т € 2,N — г, а
потому т — 1 € 1, N — (г + 1) \ Т. Тогда Мт-1 = 0. С учетом этого выберем произвольно
т-1
и зафиксируем кортеж (К^^отт"! € Мт-1. Тогда € П Ям-(г+*)+ъ при этом
*=о
Ко = К, К1 = К \ {в} и, наконец, справедливы свойства
У; € 1,т — 1 3С € 1(К-1) : Кз = К-1 \ {С}. (60)
Заметим, что N — (г + т )+2 € 2, N — г и Кт-1 € Ям-(г+т)+2. Согласно (12) имеем, что
Кт-1 \ {к} € Ям-(г+т)+1 Ук € 1(ККт-1). (61)
Заметим, что Кт-1 € N, а потому 1(Кт-1) € N в частности, 1(Кт-1) = 0. Выберем произвольно и зафиксируем V € 1(Кт-1), получая согласно (61) Кт-1 \ {V} € Ям-(г+т)+1. С учетом этого определяем кортеж (К**)*ео~т : 0, т —► Я посредством следующих условий:
(К* = Ку У; € 0,т — 1) & (К* = Кт-1 \ {V}). Легко видеть, что (К**)*еот € Мт (см. (58)). Последнее невозможно, т.к. т € Т. Противоречие показывает, что Мк = 0 Ук € 1, N — г. В частности, Мм-г = 0, а тогда (см. (58),(59)) 3(К*)*е0тм^ € % [К] : К \ {в} = Кь □
Условимся о следующем обозначении: если г € 2, N — 1, К € Ям-г+1 и £ € 0, N — г, то
Тг[К;£ = { К : (К*)*еотм-Г € Т[К]}. (62)
По смыслу множество (62) соответствует области достижимости (ОД) в теории управления [17, 18, 19]; в самом деле, речь идет о множестве состояний достижимых на траекториях «системы > в момент £ из начального состояния К. При г € 2, N — 1 и К € Ям-г+1
(Т г [К; 0] = {К}) & (Тг [К; N — г] С Я1). (63)
Предложение 11. Если г € 2, N — 1, К € Ям-г+1 и £ € 0, N — г, то
Тг [К; £ С Ям-(г+*)+1. (64)
Доказательство. В силу (63) свойство (64) имеет место при £ = 0. Далее, из предложения 6 имеем в общем случае £ € 0, N — г свойство К € Ям-(г+4)+1 У(К*)*ео м-г € Т[К]. Из (62) получаем требуемое вложение (64). □
Следующее положение характеризует естественное свойство исчерпывания множеств (10) областями достижимости (62) при всех отличных от N значениях параметра, характеризующего мощность списков.
Предложение 12. Если г € 2, N — 1 и t € 0, N — г, то справедливо равенство
Ям-(г+1)+1 = и Тг [К; (65)
кеб^-г+1
Доказательство. С учетом (63) и предложения 7 имеем очевидное равенство
дм-г+1 = и Тг [К ;0]. (66)
кед^ — г + 1
Покажем, что (65) верно при всех 1 € 0, N - г. В самом деле, допустим противное, т.е.
з 0, N - г : дм-(г+,)+1 = и Т[К;з]. (67)
кед^—г+1
Это означает, что справедливо следующее свойство:
Я = {з € о, N - г |дм-(г+,)+1 = и Т[К; з]} € р'(сл-7). (68)
кед^ —г+1
Из (67), (68) следует, что 0 / Я и г = т^Я) € Я. Тогда г € 1, N - г и
дм -(г+*)+1 = и Т [К; г]. (69)
кед^ —г+1
Тогда г - 1 € 0, N - (г + 1) \ Я, а потому имеем следующее равенство:
дм-(г+^)+2 = и Тг [К; г - 1]. (70)
кед^ —г+1
Далее, с учетом предложения 11 имеем очевидное вложение
У Тг [К; г] С дм-(г+*)+1. (71)
к ед^ —г+1
Используя комбинацию (69) и (71), выберем и зафиксируем произвольное множество
М € дм-(г+*)+1 \ ( и Тг[К; г]). (72)
кед^—г+1
Напомним, что N - (г + г) + 2 € 2, N - г + 1. Тогда, в частности, N - (г + г) + 2 € 2, N - 1, а потому из (33) и (72) следует, что ЗК € дм-(г+г)+2 Зз € 1(К) : М = К \ {3}. Пусть В € дм-(г+^)+2 и 0 € 1(В) реализуют равенство
М = В \{0}. (73)
По свойствам г имеем включение р = (г + г) - 1 € 2,N - 1; поэтому В € дм-Р+1, а тогда из (73) и предложения 10 вытекает, что для некоторой траектории (К^)^о м-Р € Тр[В] справедливо равенство М = К. Отметим, что N - р = N - (г + г) + 1; поэтому
(К*)гео,м_(г+*)+1 € Тр[В] : М = к1. (74)
При этом (Кг)гео,м-(г+г)+1 : 0, N - (г + г) + 1 д; Ко = В и Уз € 1, N - (г + г) + 1 Зв € 1(К,-1) : К, = К,-1 \{в}. С учетом (70) имеем по выбору В, что для некоторого С € дм-г+1 непременно В € Тг [С; г - 1]. Согласно (62)
В = (75)
для некоторой траектории (С*)^ео м-г € Т [С]. Осуществим склеивание траекторий, используя предложение 9 при условиях, когда (в этом предложении) К = С, (Кг)^ео м-г =
^¿еом-, з = г - 1, (ККг)гео,м-(г+,) = (К)гео,м-(г+*)+1 (Учитываем, что согласно 66 Вестник ЮУрГУ, №18 (277), 2012
(74), (75) (Ki)
ig0,N-(r+z)+1 € ^+(¿-1) [G*-1]). Определяем (следуя предложению 9) кортеж (Лг)^е0 n-r • 0, N — r —► G (см. (44),(45)) посредством условий
(Л* = У* € 0, г - 1) & (Л* = К4-(г-1) У* € г, N - г); (76)
согласно предложению 9 имеем следующее положение
(Лг)г€0^ € % [С]. (77)
Поскольку в силу (62) Тг[С; г] = {К : (К^е0 м-г € %[С]}, имеем из (77), что Лг € Тг[С; г]. Согласно (76) Лг = К и с учетом (74) получаем равенство Лг = Ш, а тогда Ш € Тг [С; г] и, тем более,
Ш € У Тг[К; г],
к ед^ — г+1
что невозможно (см. (72)). Противоречие показывает, что (67) невозможно, Ям-(г+*)+1 = У Тг [К; *] У* € 0, N - г. В частности, справедливо равенство (65). □
— г + 1
Предложение 13. Если г € 2^ - 1, К € Ям-г+1, * € 0, N - (г + 1), Ш € Тг[К; *] и в € ЦШ), то
Ш \{в}€ Тг[К; * +1]. (78)
Доказательство. Заметим прежде всего, что г + * € 2,N - 1. С учетом (62) можно указать траекторию (К^)^ м-г € % [К], для которой реализуется следующее равенство: Ш = К*. Согласно предложению 6 имеем, следовательно, включение Ш € Ям-(г+*)+1. Тогда из предложения 10 следует, что для некоторой траектории м-(г+*) € %Г+*[Ш] справедливо равенство Ш \ {в} = К1. Теперь воспользуемся предложением 9, имея в виду, что г € 2, N - 1, К € Ям-г+1, (К )г€0^ € % [К], * € 0, N - (г + 1) и (К-(г+*) € %г+*[Ш]. Тогда кортеж (К^)^ м-г : 0, N - г —► Я, определяемый условиями
(К, = К, У; € 0, *) & (К, = К,- У; € * + 1, N - г), (79)
сам является траекторией (см. предложение 9): (К^)^ м-г € % [К]. При этом * + 1 € * + 1, N - г, а потому К*+1 = К и по выбору ((К^г)^€0 м-(г+*) имеем равенство
К+1 = Ш \{в}. (80)
С другой стороны, из (62) следует, что Тг[К; * + 1] = {К*+1 : -г € %[К]}. Поэтому,
в частности, К*+1 € Тг[К; * + 1] и (см. (80)) справедливо (78). □
Из предложения 13 следует, что УК € -1 У* € 0, N - 3 УМ € Т2[К; *] Ув € Ц
М \{в}€ ТТ2[К; * + 1]. (81)
Свойство (81) существенно в связи с (21) (преобразование слоев функции Беллмана):
Vs(x, M) = min min [c(x, pr1(z)) + c,-(z) + Vs-i(pr2(z), M \ {j})] Vs € 1,N V(x, M) € Ds.
jei(M) zeMj xMj
(82)
Для нас сейчас существенно следующее обстоятельство, связанное с (81), (82): если K € -1, s € 2, N — 1 и (ж, M) € Ds, причем M € T2[K; N — (s + 1)], то
M \ {j} € T2 [K; N — s] Vj € I(M). (83)
С учетом (83) вычисления на основе (82) можно проводить в пределах ОД, отвечающих одному и тому же начальному множеству К (см. следующий раздел).
Предложение 14. Если г € 2, N — 1, К € Ям-г+1 и £ € 0, N — г, то
Тг[К; £ €Р'(Ям-(г+*)+1).
Доказательство. Согласно предложению 7 Тг [К] = 0, причем
Т[К; £ С Ям-(г+*)+1. (84)
Пусть € Гг[К]. Согласно (62) К* € Тг[К;£]. Теперь учтем (84). □
Отметим в качестве очевидного следствия, что, в частности,
Т2[К; £ € Р'(Ям-(т)) УК € Ям-1 € 0, N — 2. (85)
6. Построение потоков значений функции Беллмана
Рассмотрим построение частичных массивов значений функции Беллмана, имея в виду последующее применение предложения 12. В данном разделе речь пойдет об одной ветви процедуры, которая имеет смысл своеобразного потока с фиксированным начальным состоянием. Мы рассматриваем систему множеств (62), т.е. систему ОД «процесса> с заданным начальным условием: фиксируем в пределах настоящего раздела множество
К € Ям-1. (86)
Далее в этом разделе работаем с множествами (62) при фиксации К (86). Приведем конкретизации общих положений, соответствующие случаю (86). Из предложения 6 имеем
К, € Ям-(,-+1) У(Кг)ге0м-2 € Т2[К] Уз € 0, N — 2. (87)
Согласно предложению 7 Т2[К] = 0. Из предложения 10 вытекает, в частности, что Уз € 1(К) 3(Кг)ге0м-2 € 72 [К] : К1 = К \ {з}. Кроме того (см. (62), (86)),
Т2[К; £ = {К : (Кг)ге^ € Т2[К]} € 0, N — 2. (88)
Из (88) следует, конечно, что при всяком выборе траектории (К)^ м-2 € Т2[К] и «момента> £ € 0, N — 2 непременно
К4€ Т2 [К; £]. (89)
Семейства вида (88) «составлены> из множеств (89). Здесь же отметим очевидные конкретизации (81) и (85), учитывающие (86):
(М \{з} € Т2[К; £ + 1] У € 0, N — 3 УМ € Т2[К; £ Уз € 1(М)) &
& (Т2[К; £ € Р'(Ям-(*+!)) € 0, N — 2). ( )
Отметим, наконец, что из (63) и (86) вытекают свойства
(Т2[К; 0] = {К}) & (Т2[К; N — 2] С Я1). (91)
Из (89) и (91) получаем, следовательно, включения Км-2 € Я1 У(К^)^€0 м-2 € Т2[К]. Из (90) и (91) получаем, в частности, что Т2[К; N — 2] € Р'(Я1).
Согласно (15)—(17) и (37) имеем, однако, следующее положение:
ЩК] € Р'(Д^) Уз € 1, N — 1 УК € Я*. (92)
68 Вестник ЮУрГУ, №18 (277), 2012
Возвращаясь к (90), заметим, что (см. (92))
Вм_(;+1)[К] € Р'(^м_(4+1)) V* € 0, N - 2 VK € Т2[К; Ь]. (93)
Как следствие из (90) и (93) следует, что
У Вм_(*+1)[Р] € Р'(^м_(4+1)) V« € 0, N - 2. (94)
Р еТЫК;*]
Посредством (94) определены К-слои пространства позиций, т.е. слои, выделяемые процессору, за которым «закреплен> список (86). Отметим, что из (94) следует свойство
и В1[Р] €Р'(А). (95)
Р еФ2[К;м _2]
Заметим теперь, что справедлива следующая система включений N - ^ + 1) € 0, N - 2 Vs € 1,N - 1. Это свойство позволяет рассматривать (см. (90)) множества
Т2[К; N - (5 + 1)] € Р'(дв) Vs € ТУ^-Г. (96)
С учетом (17) и (96) мы, в частности, получаем, что
Д,[К ]= и В*[Р] € Р '№) Vs € 1, N - 1. (97)
Р е1Г2 [к ;м _(«+1)] В частности (см. (95)), из (96) и (97) получаем, что
Т2[К; N - 2] € Р'(д1) : ^[К] = [] В^Р] € Р'(А). (98)
Р еТ 2[к ;м _2]
Предложение 15. Если Ь € 1,N - 2, (ж,К) € Р4+1[К], 5 € 1(К) и у € М8, то
(у, К \{5}) €^[К]. (99)
Доказательство. Поскольку N - (Ь +1) € 1, N - 2, имеем с учетом (97)
А[К] = У В4[Р] € Р'(А). (100)
Р еТ2[К;м _(*+!)]
Согласно (96) Т2[К; N - (Ь + 1)] € Р'(д4). При этом Ь + 1 € 2, N - 1 и, кроме того, N - ((Ь + 1) + 1) = N - (Ь + 2) € 0, N - 3. . Согласно (97)
А+1[К] = у В ¿+1[Р] €Р'(А+0. (101)
Р еТ 2 [к ;м _(4+2)]
Из (20) вытекает, что справедливо включение (у, К \ {5}) € А (поскольку согласно (101) имеем по выбору (ж, К) включение (ж, К) € ^+1). Кроме того, из (90) следует, что
М \ € Т2[К; N - (Ь + 1)] VM € Т2К; N - (Ь + 2)] М € 1(М). (102)
При этом по выбору (ж, К) имеем из (101), что для некоторого множества
Я € Т2[К; N - (Ь + 2)] (103)
справедливо следующее очевидное включение (см. (17))
(ж, К) € Вт[Я]. (104)
Кроме того, имеем согласно (90), что непременно
Т2[К; N — (* + 2)] €Р'(От), (105)
а потому из (103) и (105) вытекает включение
Я € О*+1. (106)
Как следствие из (16) и (106) получаем равенство
©¿+1 [Я] = {(Х,Я) : х € М4+1[Я]}, (107)
где согласно (15) М4+1[Я] = У М?. Из (104) и (107) следует равенство К = Я. Тогда
из (103) вытекает очевидное включение
К € Т2[К; N — (* + 2)] (108)
(из (106) имеем также, что К € О4+1). С учетом (101) и (108) имеем, что ©¿+1[К] С Р4+1[К]. Из (102) и (108) имеем по выбору з следующее включение
К \{з}€ Т2[К; N — (* + 1)]. (109)
Тогда из (100) и (109) получаем, что ©¿[К \ {з}] С Р4[К]. Напомним, что К € О4+1 и з € К, а потому (см. (12))
К \{з}€О4 (110)
(напомним, что * +1 € 2, N — 1). Поэтому согласно (15) имеем равенство
М[К \{з}]= и М? (111)
(учитываем то, что * € 1, N — 2). Кроме того, отметим, что
\ {з}) = {? € 1, N \ (К \ {з}) | {?} и (К \ {з}) € От}. (112)
Согласно (8) имеем по выбору з, что з € К. Далее, (з / К \ {з}, а тогда з € 1, N \ (К \ {з}). Поскольку К = {з} и (К \ {з}) и К € О4+1, то {з} и (К \ {з}) € О4+1 и, как следствие, з € ^(К \ {з}). Тогда (см. (111)) М5 С \ {з}]. В итоге по выбору у имеем включение
у € \ {з}]. При этом согласно (16) и (110) имеем следующее равенство
В4[К \{з}] = {(Х, К \{з}): Х € \{з}]}. (113)
Из (113) вытекает, в частности, очевидное включение (у, К \ {з}) € ©¿[К \ {з}]. Однако из (100) и (109) имеем вложение [К \ {з}] С Р4[К], а потому справедливо (99). □
С учетом (97) и (98) введем (см. раздел 3) следующие функции:
^[К] = (Ув(х, Р))(х,р)е^[к] € Р+[Рв[К]] Уз € 1, N — 1. (114)
Рассматриваем совокупность множеств (97) как поток позиций, выделенных процессору, «закрепленному> за списком К; аналогичным образом, совокупность функций (114) рассматриваем как поток значений функции Беллмана, реализуемых упомянутым процессором. Построение этих функций осуществляем в виде последовательной процедуры: Н1[К] —► ... —► ^м_1[К]. Простейший вариант соответствует построению функции
Н1[К] : ^1[К] —► [0, оо[, где Р1[К] — непустое п/м , определенное в (98). В этом построении следует учитывать (95). Согласно (11)
УР € Т2[К; N — 2] 3£ € Т^ \ К1 : Р = {£}. (115)
Итак, все списки из семейства Т2[К; N — 2] одноэлементны. Далее, из (114) следует, что
^1[К](х,Р) = У1(ж,Р) У(ж, Р) €©1[К]. (116)
В связи с (115), (116) отметим тот факт, что (см. (20),(98))
(у,Р \ {к}) € У(х,Р) € £>1 [К] Ук € 1(Р) Уу € Мк. (117)
Как следствие имеем согласно (13) и (117) при (ж, Р) € ^[К], к € 1(Р) и у € Мк, что у € М и Р \ {к} = 0, а потому (см. (19)) определено значение £ (у) = Уо(у, 0) € [0, о[. Тогда согласно (21) и (97) получаем (см. (116)), что
^1[К](ж,Р) = У1(ж,Р)= шш ш1п [с(ж,рг1(с)) + с,-(с) + £(рг2(с))] У(ж,Р) €^[К]
уе1(Р) ¿ем^ хм^
(118)
(см. также (117)). Тем самым (см. (114),(118)) определена функция [К]. Заметим, что внешняя операция минимума в (118) фиктивна, поскольку, как уже отмечалось речь идет об обработке посредством I одноэлементных списков (1-образ каждого одноэлементного списка есть тот же самый список; см. условие 2.1, (7) и (8)).
Пусть процессор, ответственный за список (86), уже располагает функцией Нг[К], где I € 1,N — 2. Тогда построение (с использованием только данного процессора) функции Нг+1 [К] осуществляется по приводимой ниже схеме.
Прежде всего заметим, что N — (/ + 1) € 1, N — 2. Далее, из (97) вытекает, что
Р[К] = У [Р] €Р'(Д), (119)
Р еТ2[К;м-(1+1)] где согласно (96) имеем по выбору I свойство
Т2[К; N — (/ + 1)] € Р'(Яг). (120)
Функция Нг[К] (нам известная) такова, что (см. (114)) Нг[К] = (УгР))(х,р)ерг[к] € [К]]. Иными словами, Нг[К] : р[К] —► [0, о[ и при этом
Нг[К](Ж,Р)= Уг(я,Р) У(я,Р) € Р[К]. (121)
В связи с построением Нг+1[К] отметим, что I + 1 € 2, N — 1 и при этом
N — (/ + 2) = N — ((/ + 1) + 1) € 0, N — 3. (122)
В этом случае согласно (90) определено семейство
Т2[К; N — (/ + 2)] €Р'(Яг+1) (123)
и, как следствие (см. (97)), определено также следующее множество
Р+1[К]= У Вг+1[Р] €Р'(А+1). (124)
Р еТ2 [к ;м-(г+2)]
Заметим теперь, что согласно (20) и (124) реализуется система включений
(у, Р \ {в}) € Д У(ж, Р) € Рг+1 [К] Ув € 1(Р) Уу € М8. (125)
Вместе с тем из (90) и (122) вытекает, что
Р \ {в} € Т2[К; N - (1 + 1)] УР € Т2[К; N - (1 + 2)] Ув € 1(Р). (126)
Но в этом случае из (17), (97), (124)-(126) получаем, что
(у, Р \ {в}) € Р [К] У(ж, Р) € А+1[К] Ув € 1(Р) Уу € М8. (127)
Замечание 1. Проверим (127), фиксируя (ж, Р) € Рг+1[К], в € 1(Р) и у € М8 (напомним, что 1 € 1, N - 2). Из (124) имеем для некоторого К € Т2[К; N - (1 + 2)]
(ж,Р) €Вг+1[К]. (128)
Из (16) получаем, что Р = К и при этом ж € Мг+1[К], т.е. ж € Мг+1[Р]. Из (126) следует, что для множества Р = К € Т2[К; N - (1 + 2)] реализуется включение
Р \{в} €22 [К; N - (1 + 1)]. (129)
Напомним здесь же, что согласно (15) справедливо равенство
Мг [Р \{в}]= У М, (130)
,е^(Р\{8})
(учитываем, что согласно (120) и (129) Р \ {в} € дг), где
Л(Р \ {в}) = {з € 1, N \ (Р \ {в}) | Ш и (Р \ {в}) € дг+1}. (131)
По выбору в имеем (см. (8)), что в € Р, причем {в} и (Р \ {в}) = Р € дг+1 (см. в этой связи (123)), где в € 1, N \ (Р \ {в}), т.к. в / Р \ {в}. В итоге согласно (131) в € 7г(Р \ {в}), а тогда согласно (130)
М8 С Мг[Р \{в}]. (132)
Из (16) вытекает (поскольку Р \ {в} € дг), что справедливо равенство
Вг[Р \{в}] = {(и,Р \{в}): и € Мг[Р \{в}]}. (133)
Из (132) имеем по выбору у, что у € Мг[Р\ {в}]; тогда из (133) получаем, что (у,Р\ {в}) € Вг[Р \{в}], где (см. (119), (129)) Вг [Р \ {в}] С Р [К]. Итак, (у,Р \ {в}) € Р [К]. □
Из (121),(127) следует, что при (ж, Р) € Рг+1[К], в € 1(Р) и у € М8
Ж[К](у, Р \ {в}) = Уг(у, Р \ {в}) € [0, (134)
Поэтому при (ж, Р) € Рг+1[К] определена (см. (121),(134)) величина
ш1т [c(ж, рг1(г)) + с8(г) + ^г[К](рг2(г),Р \{в})] =
8е1(Р) гем,хм8
= [c(ж, рг1(г)) + С8(г) + Жр^^ Р \ {в})] € [0, ^
8е1(Р) гем8хм8
а из (21) получаем, следовательно, очевидное равенство
Уг+1(ж, Р) = шт [с(ж, рг1 (г)) + С8(г) + ^[ККр^), Р \ {в})]. (135)
8е1(Р) гемвхм8
Вместе с тем согласно (114) Wz+i[K](x, P) = Vz+i(x, P) V(x, P) € Di+i[K]. В итоге из (135) имеем следующее представление функции W1+i[K] :
Wi+i[K](x,p)= min min [с(ж, pri(z))+ Cj(z)+
jei(P) zeMj xMj (136)
[K](pr2(z),P\{j})] V(x,P) €Di+i[K].
Итак, получено правило преобразования Н [К] —► Н^+^К], где I € 1,N - 2 — произвольный индекс. Располагая (см. (118)) функцией Н1[К] и используя данное правило (см. (136)), мы рекурсивно определяем затем Н2[К],..., Нм_1[К]. Таким образом, правило (136), применяемое при всевозможных I € 1, N - 2, позволяет построить все функции
Н1[К] : £>1[К] —► [0, то[,..., Нм[К] : _1[К] —► [0, (137)
Предложение 16. Если Ь € 0, N - 3, то Т2[К; Ь + 1] = {М \ {Н} : М € Т2[К; Ь], Н € 1(М)}.
Доказательство. Пусть Н = {М\ {Н} : М € Т2[К; Ь], Н € 1(М)}. Тогда согласно (90) имеем вложение Н С Т2 [К; Ь +1]. Осталось установить противоположное вложение.
Выберем произвольно Л € Т2 [К; Ь + 1]. Тогда согласно (88) для некоторой траектории м_2 € Т2[К] имеем равенство Л = Ь^+ь С учетом (45) можно указать в € для
которого Ь^+1 = ^ \ {в}. Иными словами, Л = ^ \ {в}. Заметим, что Ь € 0, N - 2. Поэтому согласно (89) ^ € Т2[К; Ь]. Таким образом, ^ € Т2[К; Ь] : в € По определению Н
имеем, что ^ \ {в} € Н. Поэтому Л € Н. Итак, установлено вложение Т2[К; Ь +1] С Н. □
7. Построение слоев функции Беллмана
Заметим, что в предыдущем разделе множество (86) выбиралось произвольно. Поэтому конструкция на основе (136) реализуется при любом К € Ям_1; в этой связи используем ниже обозначения (97), (114) применительно к любому множеству (86). Построение V! ..., Ум осуществляется путем склеивания функций вида (114).
Предложение 17. Если 5 € 1,N - 1, то справедливо следующее равенство:
Б3 = У РЛК]. (138)
кед^-1
Доказательство. Из (97) вытекает очевидное вложение
и РЛК] С А. (139)
кед^-1
Пусть (ж*, К,) € А (см. (18)). Согласно (17) имеем для некоторого множества
в € Я (140)
следующее включение:
(ж*, К,) € Вв[в]. (141)
=
Согласно (10) в € Я и в € N5, причем т = N - ^ + 1) € 0, N - 2; имеем равенство N - (т + 1) = Воспользуемся предложением 12 при условии, что в его формулировке г = 2 и t = т. Тогда (см. (65)) N - (2 + т) + 1 = 5 и
Я = и Т2 [К; т ]. (142)
кед^-1
Из (140) и (142) вытекает, что для некоторого множества (списка)
Я € Ом_1 (143)
В € Т2[Я; т]. Напомним, что з € 1,N — 1, а тогда согласно (97) следует совпадение Д5[Я] и объединения всех множеств В8[Р], Р € Т2[Я;т]. Поэтому В8[В] С Рв[Я]. Из (141) вытекает следующее включение: (х;,К;) € Д8[Я]. С учетом (143) получаем, что (х;,К;) € У Д8[К]. Итак, ^ С У Д8[К]. Используя (139) получаем равенство
(138). □
При з € 1,N — 1 V полностью определяется (см. предложение 17, (114)) функциями Н8[К], К € Ом_1 : если (х°,К°) € то для любого множества К° € Ом_1 со свойством (х°, К°) € Д5[К°] (такое множество существует в силу предложения 17) Ув(х°,К°) = Н5[К°](х°,К°).
Работа выполнена при поддержке РФФИ (проекты 09-01-00436, 10-01-96020) и программ фундаментальных исследований Президиума РАН (проекты 09-П-1-1007, 09-П-1-1014).
Литература
1. Ченцов, А.А. Экстремальная задача маршрутизации с внутренними потерями / А.А. Ченцов, А.Г. Ченцов, П.А. Ченцов // Тр. Ин-та математики и механики УрО РАН. - 2008. - Т. 14, № 3. - С. 183-201.
2. Ченцов, А.Г. Об оптимальной маршрутизации в условиях ограничений / А.Г. Ченцов // Докл. Акад. наук. - 2008. - Т. 423, № 3. - С. 303-307.
3. Ченцов, А.А. Экстремальная задача маршрутизации перемещений с ограничениями и внутренними потерями / А.А. Ченцов, А.Г Ченцов, П.А. Ченцов // Изв. вузов. Математика. - 2010. - № 6. - С. 64-81.
4. Ченцов, А.Г. Метод динамического программирования в экстремальных задачах маршрутизации с ограничениями / А.Г. Ченцов // Известия РАН. Теория и системы управления. - 2010.- № 3.- С. 61-73.
5. Ченцов, А.А. Условия предшествования в одной задаче экстремальной маршрутизации с внутренними работами / А.А. Ченцов, А.Г. Ченцов, П.А. Ченцов // Алгоритмы и программные средства параллельных вычислений. — 2010. — Вып 10. — С. 60—76.
6. Ченцов, А.Г. Экстремальные задачи маршрутизации и распределения заданий: вопросы теории / А.Г. Ченцов. - М.: Ин-т компъютерных исследований, 2008. — 240 с.
7. Меламед, И.И. Задача коммивояжера. Вопросы теории / И.И. Меламед, С.И.Сергеев, И.Х. Сигал // Автоматика и телемеханика. — 1989.— № 9.— С. 3—34.
8. Меламед, И.И. Задача коммивояжера. Точные алгоритмы / И.И. Меламед, С.И.Сергеев, И.Х. Сигал // Автоматика и телемеханика.— 1989.- № 10.- С. 3-29.
9. Меламед, И.И. Задача коммивояжера. Приближенные алгоритмы / И.И. Меламед, С.И.Сергеев, И.Х. Сигал // Автоматика и телемеханика. - 1989.- № 11.- С. 3-26.
10. Гэри М. Вычислительные машины и труднорешаемые задачи / М. Гэри, Д. Джонсон. -М.: Мир, 1982.- 416 с.
11. Беллман, Р. Применение динамического программирования к задаче о коммивояжере / Р. Беллман // Кибернетический сборник. - М.: Мир, 1964.- Т. 9.- С. 219-228.
12. Хелд, М. Применение динамического программирования к задачам упорядочения / М. Хелд, Р.М. Карп. // Кибернетический сборник. - М., 1964.- Т. 9. - С. 202-218.
13. Использование метода динамического программирования для оптимизации траектории перемещения работников в радиационно опасных зонах с целью минимизации облучения / А.Н. Сесекин, О.Л. Ташлыков, С.Е. Щеклеин, М.Ю. Куклин, А.Г. Ченцов, А.А. Кад-ников // Изв. вузов. Ядерная энергетика.- 2006. - № 2. - С. 41-48.
14. Разработка оптимальных алгоритмов вывода АЭС из эксплуатации с использованием методов математического моделирования / О.Л. Ташлыков, А.Н. Сесекин, С.Е. Щеклеин, А.Г. Ченцов // Изв. вузов. Ядерная энергетика. - 2009. — № 2. — С. 115-120.
15. Куратовский, К. Теория множеств / К. Куратовский, А. Мостовский. - М.: Мир, 1970.
16. Кормэн, Т. Алгоритмы: построение и анализ / Т. Кормэн, Ч. Лейзерсон, Р. Ривест. -М.: МЦНМО, 1990. - 960 с.
17. Варга, Дж. Оптимальное управление дифференциальными и функциональными уравнениями / Дж. Варга.- М.: Наука, 1977.- 624 с.
18. Красовский, Н.Н. Теория управления движением / Н.Н. Красовский.- М.: Наука, 1968. - 475 с.
19. Панасюк, А.И. Асимптотическая магистральная оптимизация управляемых систем / А.И. Панасюк, В.И. Панасюк.- Минск: Наука и техника, 1986.- 296 с.
Александр Георгиевич Ченцов, доктор физико-математических наук, профессор, член-
корреспондент РАН, зав. отделом управляемых систем, Институт математики и механики
УрО РАН (г. Екатеринбург, Российская Федерация), [email protected].
MSC 93CXX
A Parallel Procedure of Constructing Bellman Function in the Generalized Courier Problem with Interior Works
A.G. Chentsov, Institute of Mathematics and Mechanics,
Ural Branch of the Russian Academy of Sciences (Yekaterinburg, Russian Federation)
A construction of the parallel realization of dynamic programming method for solving the problem of sequential visiting for sets (megalopolises) with constraints in the form of preceding conditions; this problem is called generalized courier problem. It is supposed that, on these sets, the works with inputs are fulfilled. The computing procedure used partial constructing of the Bellman function array and realized by layers of the position space is investigated. In the foundation of construction the idea of a discrete dynamic system is situated; for this system, attainability domains realized by recurrence scheme are constructed.
Keywords: route, megalopolis, dynamic programming.
References
1. Chentsov A.A., Chentsov A.G., Chentsov P.A. Extreme Routing Problem with Internal Losses [Ekstremal'naya zadacha marshrutizatsii s vnutrennimi poteryami]. Trudy Instituta Matematiki i Mekhaniki UrO RAN, Yekaterinburg, 2008, vol. 14, no. 3, pp. 183-201.
2. Chentsov A.G. About the Optimal Routing with the Conditions of Constraints [Ob optimal'noi marshrutizatsii v usloviyakh ogranichenii]. Doklady Akademii nauk, 2008, vol. 423, no. 3, pp. 303-307.
3. Chentsov A.A., Chentsov A.G., Chentsov P.A. Extreme Movements of Routing Problem with Constraints and Internal Losses [Ekstremal'naya zadacha marshrutizatsii peremeshchenii s ogranicheniyami i vnutrennimi poteryami]. Izv. vysshikh uchebnykh zavedenii. Matematika, Kazan', 2010, no. 6, pp. 64-81.
4. Chentsov A.G. Dynamic Programming Method in Extremal Problems with Constraints Routing [Metod dinamicheskogo programmirovaniya v ekstremal'nikh zadachakh marshrutizatsii s ogranicheniyami]. Izv. RAN. Teoriya i sistemy upravleniya, 2010, no. 3, pp. 61-73.
5. Chentsov A.A., Chentsov A.G., Chentsov P.A. The Conditions of Precedence in a Problem of Extreme Route with the Inner Workings [Usloviya predshestvovaniya v odnoi zadache ekstremal'noi marshrutizatsii s vnutrennimi rabotami]. Algoritmy i programmnye sredstva parallel'nikh vichislenii, 2010, no. 10, pp. 60-76.
6. Chentsov A.G. Ekstremal'nye zadachi marshrutizatsii i raspredeleniya zadanii: voprosy teorii [Extremal Problems of Routing and Assignment of Tasks: Questions of Theory], Izhevsk: NITS «Regular and Chaotic Dynamics», Izhevsk Institute of Computer Research, 2008, 240 p.
7. Melamed I.I., Sergeev S.I., Sigal I.Kh. Traveling Salesman Problem. Questions of Theory [Zadacha kommivoyazhera. Voprosy teorii]. Avtomatika i telemekhanika, 1989, no. 9, pp. 3-34.
8. Melamed I.I., Sergeev S.I., Sigal I.Kh. Traveling Salesman Problem. Precise Algorithms [Zadacha kommivoyazhera.Tochnye algoritmy]. Avtomatika i telemekhanika, 1989, no. 10, pp. 3-29.
9. Melamed I.I., Sergeev S.I., Sigal I.Kh. Traveling Salesman Problem. Approximate Algorithms [Zadacha kommivoyazhera. Priblizhennye algoritmy]. Avtomatika i telemekhanika, 1989, no. 11, pp. 3-26.
10. Geri M., Jonson D. Vychislitel'nye mashiny i trudnoreshaemye zadachi [Calculating Machines and Difficult Problems], Moscow: Mir, 1982. 416 p.
11. Bellman R. Use Dynamic Programming to the Problem of a Salesman [Primenenie dinamicheskogo programmirovaniya k zadache o kommivoyazhere]. Kiberneticheskii sbornik, Moscow, Mir, 1964, vol. 9, pp. 219-228.
12. Held M. Use Dynamic Programming to the Problems of Ordering [Primenenie dinamicheskogo programmirovaniya k zadacham uporyadocheniya]. Kiberneticheskii sbornik, Moscow, Mir, 1964, vol.9, pp. 202-218.
13. Sesekin A.N., Tashlykov O.L., Shcheklein S.E., Kuklin M.Yu., Chentsov A.G., Kadnikov A.A. Use of Dynamic Programming Method to Optimize the Trajectory of Movement of Workers in Radioactive Areas to Minimize Exposure [Ispol'zovanie metoda dinamicheskogo programmirovaniya dlya optimizatsii traektorii peremeshcheniya rabotnikov v radiatsionno opasnykh zonakh s tsel'yu minimizatsii oblucheniya]. Izv. vysshikh uchebnykh zavedenii. Yadernaya energetika, 2006, no. 2, pp. 41-48.
14. Sesekin A.N., Tashlykov O.L., Shcheklein S.E., Chentsov A.G. Development of Optimal Algorithms for Decommissioning of NPP by the Methods of Mathematical Modeling [Razrabotka optimal'nykh algoritmov vyvoda AES iz ekspluatatsii s ispol'zovaniem metodov matematicheskogo modelirovaniya]. Izv. vysshikh uchebnykh zavedenii. Yadernaya energetika, 2009, no.2, pp. 115-120.
15. Kuratovskii K., Mostovskii A. Teoriya mnozhestv. [Set Theory]. Moscow, Mir, 1970. 416 p.
16. Kormen A., Leizerson Ch., Rivest R. Algoritmy. Postroenie i analiz [The Algorithms. Construction and Analysis]. Moscow, MTSNMO, 1990. 960 p.
17. Warga Dj. Optimal'noe upravlenie differentsial'nymi i functsional'nymi uravneniyami [Optimal Control of Differential and Functional Equations]. Moscow, Nauka, 1977. 624 p.
18. Krasovskii N.N. Teoriya upravleniya dvizheniem [Theory of traffic control]. Moscow, Nauka, 1968. 475 p.
19. Panasyuk A.I., Panasyuk V.I. Asimptoticheskaya magistral'naya optimizatsiya upravlyaemykh sistem [Asymptotic Optimization Trunk of Control Systems]. Minsk, Nauka i tekhnika, 1986. 296 p.
Поступила в 'редакцию 1 февраля 2012 г.