• Nenhum resultado encontrado

Д. Д. Лозовану, В. А. Трубин, Задача о минимаксном пути в сети и алгоритм ее решения, Дискрет. матем., 1994, том 6, выпуск 2, 138–144

N/A
N/A
Protected

Academic year: 2023

Share "Д. Д. Лозовану, В. А. Трубин, Задача о минимаксном пути в сети и алгоритм ее решения, Дискрет. матем., 1994, том 6, выпуск 2, 138–144"

Copied!
8
0
0

Texto

(1)

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

(2)

Дискретная математика

том 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) либо такого пути в

(3)

Задача о минимаксном пути в сети и алгоритм ее решения 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 разбить на

(4)

три класса 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, являются конечными чи-

(5)

Задача о минимаксном пути в сети и алгоритм ее решения 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

(6)

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

k

e 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, не содержит родственных вершин.

(7)

Задана о минимаксном пути в сети и алгоритм ее решения 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)

(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.

Referências

Documentos relacionados

Практичне значення орфоепії годі переоцінити в процесі формування комунікативної компетентності майбутнього вчителя початкової школи: дотримання орфоепічних норм, зокрема й норм щодо