Math-Net.Ru
Общероссийский математический портал
Д. Д. Лозовану, В. А. Трубин, Задача о минимаксном пути в сети и алгоритм ее решения, Дискрет. матем., 1994, том 6, выпуск 2, 138–144
Использование Общероссийского математического портала Math-Net.Ru подра- зумевает, что вы прочитали и согласны с пользовательским соглашением http://www.mathnet.ru/rus/agreement
Параметры загрузки:
IP: 178.128.90.69
6 ноября 2022 г., 01:48:25
Дискретная математика
том 6 ВЫПУСК 2 * 1994
УДК 519.1
З а д а ч а о минимаксном пути в сети и алгоритм ее решения
© 1994 г. Д. Д. Лозовану, В. А. Трубин
Приводится постановка сетевой минимаксной задачи, обобщающей ком
бинаторные варианты задач о кратчайшем и длиннейшем путях в сетях и имеющей приложения при исследовании и решении циклических игр; пред
лагается алгоритм ее решения с оценкой 0(п3) элементарных операций, где п — число вершин сети.
1. В в е д е н и е . В работе исследуется одна сетевая модель, которая обобщает известные комбинаторные варианты задач о кратчайшем и длиннейшем путях в сетях [1-3], и которая названа задачей о минимаксном пути. Подобная модель ранее изучалась в [3] д л я сетей ациклической структуры и использовалась там в качестве вспомогательной задачи при исследовании и решении циклических игр [4]. Здесь приводится формулировка минимаксной модели д л я сетей про
извольной структуры, ибо в такой общей форме задача представляет самосто
ятельный интерес в сетевых транспортных моделях с минимаксным критерием выбора маршрутных перевозок. Д л я решения поставленной задачи предлага
ется алгоритм, трудоемкость которого оценивается 0(п3) элементарных опера
ций, где п — число вершин сети. Отметим, что для случая ациклических сетей в [3] был предложен алгоритм поиска минимаксных путей с оценкой 0 ( п2) опе
раций, однако в такой форме этот алгоритм нельзя распространить на общий случай задачи с произвольной структурой сети.
2. Постановка задачи. Пусть задана сеть, имеющая структуру ориентиро
ванного г р а ф а G = (V, Е), \V\ = n, со стоком v0 £ V. На множестве дуг определе
на функция с: Е —• Д, которую назовем функцией стоимости дуг сети. Предполо
жим, что множество вершин V разбито на два непересекающихся подмножества
VAVLVB (VA U VB = V, VA П VB = 0 ) . Фиксируем пару отображений:
sA: v —• VG(V) ДЛЯ v eVA\ {vo}>
SB'-V -+ VG(V) ДЛЯ v €VB\ {t>o},
где VG(V) — множество концов всех дуг, исходящих из вершины v [5]. Рас
смотрим подграф Ts = (V)E8)i порожденный множеством дуг вида (V,SA(V)) И (V,SB(V)). Этот подграф обладает тем свойством, что д л я некоторой заданной вершины w G V, либо существует путь Рт,(м,^о) из w в v0) либо такого пути в
Задача о минимаксном пути в сети и алгоритм ее решения 139
нем нет. В последнем случае, двигаясь из w по исходящим дугам орграфа Т,, однозначным образом попадем на некоторый ориентированный цикл Cw. Для произвольной вершины w £ V определим величину C(SA,SB,W) как сумму сто
имостей дуг пути Рт.(и>>и0), е с л и т а к о й ПУТЬ существует в Г , ; в случае несу
ществования пути PTXW> VO) B TS величину C(SA,SB,W) будем считать равной оо или — оо в зависимости от положительности или отрицательности суммы сто
имостей дуг орцикла Си,; если сумма стоимостей дуг орцикла Cw равна нулю, то величина с(вд,5в>ги) равняется сумме стоимостей дуг пути, соединяющего вершину w с циклом Cw.
Ставится задача найти
p(w) = min max C(SA , «В > W)
*A » B
и отображения s^ и $ ^ , реализующие этот минимакс.
Сформулированную задачу можно интерпретировать как динамическую иг
ру двух игроков А и В с интегральным по времени платежом, где w = v(0) — начальная позиция игры в момент времени t = 0, a v(l), v(2),... € V — соответ
ствующие позиции игры в моменты времени t = 1,2,... Если w Е Уд, то первый ход делает игрок А, если w £ VB, ТО первый ход делает игрок В. Суть хода ка
ждого из игроков заключается в переходе из позиции w = v(0) в некоторую со
седнюю позицию vi = v(l) по исходящим из w дугам G. Независимо от условия, кто из игроков сделал первый ход, в момент времени t = 1 право на осуществле
ние очередного хода зависит от того, какому из множества VA И VB принадлежит vi = v(l). Если vi € Уд, ТО очередной второй ход делает игрок А, если v\ € VB}
то очередной ход делает игрок В. Далее процесс продолжается, т.е. в момент времени t ход делает игрок А, если v(t) £ VA, В противном случае ход делает игрок В. При этом игра может быть конечной или бесконечной: если в момент времени t достигнуто состояние vo (v(t) = vo), то игра заканчивается и цена p(w) этой игры равна £ r = i c(v(r — 1), v(r)); если конечное состояние не достигается, то игра является бесконечной и цена p(w) равна Ит*-*оо ]CT=I C(V(T — 1)» V(T))- В этом динамическом процессе игроки преследуют противоположные интересы:
первый выбирает ходы из соображения получения наибольшей возможной сум
мы стоимостей переходов; второй старается действовать так, чтобы конечная сумма стоимостей переходов была наименьшей.
Определенная таким образом функция C(SA)SB1W) задает некоторую игру, где SA И SB представляют собой стационарные стратегии выбора переходов в указанном динамическом процессе на игровой сети (G, Уд, VB, с). Для удобства эту игру назовем с-игрой. Если V = Уд, то с-игра превращается в задачу о кратчайшем пути из w в VQ ДЛЯ G [2]; если V = Ув, то с-игра превращается в задачу о длиннейшем пути из w в vo для G [2].
3. Основные результаты. Покажем, что для сформулированной модели игры имеет место равенство минимакса и максимина
p(w) = imnmax c(s А у SB ,w) = max min C(SA, «B, W), (1)
*A *B SA SB
означающее существование оптимальных стационарных стратегий игроков А и В. При этом, как будет видно, если множество позиций V = VA U VB разбить на
три класса V1, F2, F3, так что в V1 попадают вершины v Е V с p(v) = —со; в V2
— вершины v G V с конечными ценами p(v), а в 73 — вершины v € V с p(v) = со, то в игровой сети (G, VA, VB, с), (? = (К, # ) , д л я позиций первого игрока нет дуг (переходов) из класса с большим номером в класс с меньшим номером, а д л я позиций второго игрока нет переходов из класса с меньшим номером в класс с большим номером.
Таким образом, доказательство тождества (1) достаточно провести лишь д л я случаев V = V\ V = V2, V = V3.
Если p(v) принимают значения —со или со (случай V = V1 или V = V2), то доказательство тождества (1) легко следует из определения с-игры. В этом случае у одного из игроков, независимо от стратегии противника, существует возможность ответить такой стратегией, которая позволяет игрокам выйти на некоторый орцикл с положительной или отрицательной суммой стоимостей дуг.
Менее тривиальным является доказательство тождества (1) при конечных ценах p(v) д л я всех v Е V, ибо в данном случае следует отдельно проанализи
ровать подслучаи конечных игр и бесконечных игр с конечными ценами. Ниже мы приведем доказательство тождества (1) д л я конечных с-игр, так как беско
нечные игры с конечными ценами в принципе могут быть интерпретированы как конечные игры, если рассматривать количество ходов игроков до их вы
хода на орцикл с нулевой суммой стоимостей дуг. Соответствующие игровые сети в конечных играх в дальнейшем будем называть допустимыми игровыми сетями. Здесь будем исходить из рассмотрения на игровой сети потенциальных преобразований [3, 4] c'(v, и) = е(и) — e(v) + c(v, и) для (v, и) £ Е, где е: V —> R — произвольная вещественная функция, называемая потенциалом. Дело в том, что д л я конечных с-игр потенциальное преобразование не меняет структуру опти
мальных стационарных стратегий сторон в игровой сети, хотя цены p(v) позиций игры могут уменьшаться или увеличиваться. Поэтому допустимые игровые сети с помощью потенциальных преобразований могут быть приведены к так называемому каноническому виду, где выбор оптимальных стационарных стра
тегий сторон становится очевидным и легко устанавливается справедливость тождества (1).
Будем говорить, что игровая сеть имеет канонический вид, если extr(c, v) = 0 д л я всех v € V \ {г>о}, где
{
min c(v,ti), veVA]»evG(v)
max с(ь.и), v € VB-
«€VG ( V ) v "
Заметим, что если игровая сеть имеет канонический вид, то цена p(v) лю
бой позиции v £V игры равна нулю и для выбора оптимальных стационарных стратегий сторон достаточно фиксировать любые отображения sA и s^, для которых sA(v) И SJB(V) принадлежат множеству {и Е VQ{V) \ c(v,u) = extr(c,v)}.
Имеет место следующая теорема.
Т е о р е м а 1. Для любой допустимой игровой сети (G, Уд, VB, С), G = (V, Е), суще
ствует потенциальное преобразование с', приводящее игровую сеть к канониче
скому виду.
Доказательство. Действительно, поскольку игровая сеть {G,VA>VB>c)y G = (V, £•), является допустимой и цены p(v), v E V, являются конечными чи-
Задача о минимаксном пути в сети и алгоритм ее решения 141
слами, то нетрудно проверить, что потенциальное преобразование с'(у,и) = е{и) - e(v) + c(v,u), (v,ti) E Е, с потенциалами e(v) = p(v), v £ V, удовлетво
ряет условию extr(c',v) = 0, т.е. преобразование с' приводит игровую сеть к каноническому виду. Теорема доказана.
Следствие 1. Числа e(v), v € V (e(vo) = 0), потенциального преобразования с'', которое приводит игровую сеть к каноническому виду, определяются по сети однозначно и совпадают с ценами p(v).
4. Алгоритм решения задачи д л я ациклических игровых сетей. Рассмо
трим случай, когда игровая сеть имеет структуру ациклического орграфа со стоком vo € V. Д л я таких сетей при любом задании начальной позиции игры w всегда существует минимаксный путь из w в vo. При этом здесь достаточно просто находится потенциальное преобразование с', которое приводит игровую сеть к каноническому виду. Числа e(v), г; Е V, определяющие это преобразо
вание, находятся следующим образом. Вершины v € V нумеруются числами от 1 до п так, что если номер v некоторой вершины больше номера и другой вершины, то в G не существует путь Р(и} v) из it в v (такая нумерация вершин в ациклической сети со стоком vo реализуется за 0(п2) операций [2]). Затем находятся числа e(v) на базе следующего рекуррентного соотношения:
{
mm (е(и) + с(«, и)), v eVA\ {v0};U < f \_L i w ^ т / \ j i v = 2 , . . . , n . max (e\u) + c(t;, ti)), v G VB \ {v0},
«€VB(v)
Как было показано в [3], найденные таким образом числа e(v) однозначно определяют потенциальное преобразование с', которое приводит игровую сеть к каноническому виду, и эти числа совпадают с ценами p(v) позиций игры. Для нахождения оптимальных стратегий, далее осуществляется потенциальное пре
образование c'(v,u) = е(и) — e(v) -f c(v,u) для (v,u) Е Е", а затем фиксируются произвольные отображения SA И «В, ДЛЯ которых SA(V) И SB(V) принадлежат V(c',v).
Очевидно, что алгоритм решения задачи в этом случае требует порядка 0(п
2) операций, ибо столько операций требует указанный процесс нумерации вершин сети и столько же операций требует нахождение потенциалов для пре
образования с'.
5. Алгоритм решения задачи для произвольных игровых сетей. Рас
смотрим теперь общий случай задачи и укажем способ нахождения потенци
алов для искомого потенциального преобразования в игровой сети, допускаю
щей ориентированные циклы. В сущности, предлагаемая процедура решения задачи с произвольной структурой сети представляет собой способ сведения ее к аналогичной задаче для некоторой вспомогательной ациклической сети
(HOJWA,WB,CO), #О
=
(WO}FQ).Укажем сначала способ построения такой се
ти.
Пусть (G, Уд, VB, с) — игровая сеть с произвольной структурой орграфа G = (V, Е), V = {vo, vi, t>2,..., v
n_i}. Строим ациклический орграф Я = (W, F), где
п
W=\JW\ W
{r\W>=0 при i^j;
t = 0
Wx = {wxQi w[}..., < _ ! > , г = 0 , . . . , п;
F={(*4,™/) |(tfc,«i)€#, i = 0,...,n, j = 0,...,fi, t > i } .
Более наглядно указанный способ получения ациклического графа Н можно интерпретировать так: множество вершин W формируется из вершин множе
ства V, каждая из которых продублирована п + 1 раз; вершины w%k и w\ в Н соединяются дугой (tuj., w/), если i > j и в исходном графе G существует дуга (vk,vi). В дальнейшем вершины wk,wk,.. .}wk графа Я , которые в G соответ
ствуют вершине г;*, назовем родственными вершинами.
По орграфу Н определим теперь ациклическую игровую сеть (#о, WA,WB,CO), Но = (Wo,Fo), где #о — орграф, полученный из Н в резуль
тате удаления вершин wj., из которых вершина WQ не является достижимой, а параметры сети W^, WB, CQ задаются следующим образом:
w
A= К е иъ \v
ke v
A};
WB= {u* e Wb I «* € % } ;
c0(u;jb,ti^) = c(vkyvj)y V(wl,w{) € F0.
Теперь покажем, что поиск потенциалов преобразования с', которое приво
дит исходную сеть к каноническому виду, сводится к поиску таких же число
вых характеристик для построений ациклической игровой сети (Но, WA, WB, СО), H0 = (Wo,Fo).
Предположим, что e(wk)} w\ € Wo, — потенциалы преобразования cfQi ко
торое приводит ациклическую игровую сеть (#о, WA, WB,CO), НО = (WO,FQ), к каноническому виду.
Теорема 2. Если игровая сеть (G, Уд, VB,CO), G = (V>E), является допустимой, то числа e(wk), к = 0,.. . ,п — 1, потенциального преобразования c'Q, приводящего ациклическую игровую сеть (Но, WA, WB,CO), НО = (Wo, Fo), к каноническому виду (Но, WA, WB,CQ), соответствуют потенциалам е(ьк), к = 0,... ,п — 1, искомого потенциального преобразования с', которое приводит исходную игровую сеть к каноническому виду, т.е. e(vje) = £(w£), t = 0,..., n — 1.
Доказательство. Легко заметить, что ациклическая сеть Но — это динами
ческое представление исходной сети на дискретном интервале времени t = 0 , 1 , . . . , п [3]. Такое представление исходной сети позволяет ДЛЯ любой верши
ны vjg выделить всевозможные пути P(vk,vo) из v* в vo, состоящие из не более, чем заданного числа i дуг. Таким образом, потенциалы e(wlh) преобразования с*0 совпадают с ценами p(wk) и в исходной сети они соответствуют длинам ми
нимаксных путей Р(ьк, vo) из Vk в vo, состоящих из не более, чем i дуг. Следова
тельно, если исходная сеть является допустимой, то потенциалы e(wk) (п + 1)-го уровня для Но совпадают с потенциалами e(vk) искомого потенциального пре
образования CQ ДЛЯ ИСХОДНОЙ сети, т.е. е(ук) = e(wk), k = 0 , . . . , п — 1. Теорема доказана.
Следствие 2. Игровая сеть (G,VA,VB,C), G = (V,E), является допустимой тогда и только тогда, когда во вспомогательной ациклической игровой сети
(HO,WA,WB,CO), Н = (WO,FO), любой минимаксный путь Р(и>к,т%) из wk в WQ,
к = 0 , . . . , п — 1, не содержит родственных вершин.
Задана о минимаксном пути в сети и алгоритм ее решения 143 На основании вышеизложенного поиск оптимальных стационарных страте
гий сторон в допустимых игровых сетях можно осуществить следующим обра
зом. Строим вспомогательную ациклическую игровую сеть (#о, W A , WB,CO),
Но = (Wo,JFo), и для нее находим потенциалы e(w%k)} wlk G Wo- Далее берем e(vk) = (w%), k = 0 , . . . , n — 1, осуществляем в G потенциальное преобразование c'{v,u) = e(u) — e(v) + c(v,u), (v,u) G E, а затем находим отображения «д и «в, для которых SA(V) И SB(V) принадлежит V(c', v).
Приведенные выше результаты позволяют также сделать вывод о том, что числа e%(vk) = £(м£) могут быть найдены методом динамического программи
рования, при этом не требуется находить вспомогательную ациклическую сеть (#о, WA,WB, СО), НО = (Wo, i^o), ибо e%(vk) представляют собой длину минимакс
ных путей в G от вершины г;* до t>o, состоящих из не более чем г дуг. С учетом полученных результатов мы приведем более подробное описание алгоритма ре
шения поставленной задачи на базе метода динамического программирования.
При нахождении величин e%(vk) будут использованы метки «'(г;*), принимаю
щие значение 1 или 0 в зависимости от существования или несуществования в G путей из vjc в bo, состоящих из не более чем i дуг.
Итак, изложим алгоритм поиска минимаксных путей для допустимых игро
вых сетей.
(1) Каждой вершине v* G V, к = 0, . . . , п — 1, ставим в соответствие набор меток ot°(vk), ^(vk),.. •, otn(vk)) где до начала работы алгоритма a%(vk) = 0, i = 0 , . . . , n.
(2) Для каждой вершины v* G V, к = 0 , . . . , п — 1, фиксируем значения потенци
алов £*(г;*), к = 0 , . . . , п:
;>*) = {%,
если Vk G VAiесли vie € VB , где iV — некоторая константа (TV > ]Г^ея lc(e)D- (3) Фиксируем <x°(v0) = 1, e°(v0) = 0.
(4) Полагаем г = 0.
(5) Для каждой вершины v* G V" находим
^ • + 1 ( ^ - / 1 . е с л и 7 ' Ю ^ 0 , если Vl(vk) = 0 , где ^(vfc) = {vj G VG(t;fc)/a*(t;i) = 1}.
(6) Для вершин Vk G V с afl+1(v*) = 1 находим
(
min (e'(^) + c(wfc, vj)), vjb € VA \ {t>o}, max fcf(fi) + c(wfc,«/)), VjkEvB\ {tfo}.vi£V*(vk)
(7) Проверяем i < n — 1? Если да, то заменяем i на г + 1 и переходим к п. (5);
если i ^ n — 1, то переходим к следующему п. (8).
(8) Берем e(vk) = £п(г>*), к = 0 , . . . , п — 1, и в исходной игровой сети осуще
ствляем преобразование с'(^, vj) = £(г>/) — £(и*) 4- c(v*, г;/), (v*, v/) G E.
(9) Проверяем выполнение в игровой сети (G, VA, VB, с'), G = (V, Е), условия extr(c', г;;ь) = 0, Vk G V \ {VQ}? ЕСЛИ ЭТО условие не выполняется, то сеть не является допустимой и переходим к п. (И); если оно выполняется, то переходим к п. (10).
(10) В игровой сети фиксируем отображения « д , и «в, для которых SA(V) И SB(V) принадлежат V(c',Vk).
(11) Стоп.
Из теоремы 2 и приведенной выше конструкции легко видеть, что алгоритм решает задачу поиска оптимальных стратегий игроков в допустимых игровых сетях за 0(п3) элементарных операций. Эта оценка получается непосредственно из оценки числа операций, необходимых для табулирования значений s%(vk) по методу динамического программирования. Алгоритм требует выполнения п итераций, на каждой из которых затрачивается порядка 0(п2) элементарных операций.
Предложенный алгоритм находит оптимальные стационарные стратегии в допустимых игровых сетях. Выбор таких стратегий в этом случае позволяет игрокам достичь конечное состояние игры с компромиссной оценкой затрат пе
реходов по дугам при любой начальной позиции игры. Если же сеть не является допустимой, то для некоторой заданной вершины (позиции игры) vt существу
ет минимаксный путь P(vt,vo) из vt в г>о, и он также может быть найден. Для этого достаточно в построенной вспомогательной аналитической сети Но най
ти минимаксный путь P(W",WQ) ИЗ гс/J*, в w%; этому пути в исходной сети будет соответствовать искомый минимаксный путь P(vt, vo) из vt в VQ-
Список литературы
1. Михалевич В. С , Трубин В. А., Шор Н. 3. Оптимизационные задачи производствен
но-транспортного планирования. Наука, Москва, 1986.
2. Майника Э. Алгоритмы оптимизации на сетях и графах. Мир, Москва, 1981.
3. Лозовану Л. Л. Алгоритм решения некоторых классов сетевых минимаксных задач и их приложения. Кибернетика (1991) N«1, 70-75.
4. Гуревич В. А., Карзанов А. В., Хачиян Л. Г. Циклические игры и нахождение мини
максных средних циклов в ориентированных графах. Журн. вычисл. матем. и матем.
физики (1988) 28, К*9, 1407-1417.
5. Емеличев В. А., Мельников О. И., Сарванов В. И., Тышкевич Р. И. Лекции по теории графов. Наука, Москва, 1990.
Статья поступила 12.04.92.