УДК 519.1
ПЕРИОДИЧЕСКИЕ ДИНАМИЧЕСКИЕ ГРАФЫ. ЗАДАЧИ О СЛУЧАЙНЫХ БЛУЖДАНИЯХ И О КРАТЧАЙШИХ ПУТЯХ
© 2008 г. М.В. Кузьминова
Problems of shortest paths and random walks on periodic dynamic graphs are considered. The construction of additional graph is proposed and algorithms finding shortest path on both source and additional graphs are worked out. It is shown that the transition probability matrix of the source graph at some point of time can be found from the transition probability matrix of the additional graph.
Предложен алгоритм поиска кратчайшего пути на вспомогательном графе. Для задачи о случайных блужданиях показано, что матрица переходных вероятностей исходного графа в заданный момент времени может быть найдена по матрице переходных вероятностей вспомогательного графа.
Понятия динамического графа, периодического динамического графа, пути и цепи длины n на таком графе введены в [1, определения 1-6].
Задача о случайных блужданиях
Пусть GT^,U,f, г - периодический динамический граф. Для каждой дуги и eU: fiij^^j^ определим вероятность перехода ptj 0 из вершины г е X в вершину j е X в момент времени t&N, такую, что р^ С > р^ = const V/: тit,t j= 1; Pij ( О Ддя значений I: r(i.i j= 0.
И
При этом VteN £ <j= 1 г = 1,2,...,|х|. Обо-
У=1
значим через Р (j= j\4 матрицу переходных
вероятностей графа GT в момент времени t <eN . Тогда исходный динамический граф можно рассматривать как «пятерку» GTft,U,f,T,P^. Рассмотрим задачу о случайном блуждании частицы по вершинам графа GT $JJ.f. т. Р . Построим вспомогательный граф
(алгоритм построения см. в [1]), где Р'= _
матрица переходных вероятностей графа G'. Ее значения определяются следующим (значение к то же, что в алгоритме построения вспомогательного графа): Vm е U:/О еХ > = +
если г<,/и>1,то p'i+4,-\$c\j+m\x\ = Pijbj,
если + i2T>1,to /?'i+«+i3r-i]jr|,y+*7lAr| =
Кроме того, в вершины, из которых не выходит ни одна дуга, добавляем петли. Вероятность перехода по ним полагаем равной единице.
Если является мультиграфом, то
для одной и той же пары вершин /. / е X в фиксированный момент времени /0 е N активными могут быть лишь часть кратных дуг, соединяющих I и у . Если на вспомогательном графе вершины г\/еХ' соединяют несколько кратных дуг, то они заменяются одной дугой, вероятность перехода по которой равна сумме вероятностей перехода по кратным дугам.
Для отдельных дуг на графе & может возникнуть необходимость пересчета вероятностей перехода. Он производится по следующим формулам (полученную матрицу для графа С' обозначим _ ^ «+111x1,
У Ом
Vi = i0+m\X\ (еГД<г0 <\Х\, 0<т< ^ +
если 2. Р1
Vyer
ф\.
то V/ е Гi
,* , V;e Г,+ j
Р ij = Pij +-!-
(1).
Здесь р'у и р' у - значения переходных вероятностей из вершины г е X в вершину / е X' до и после пересчета соответственно; п - количество дуг вспомогательного графа с началом в вершине /.
Итак, мы получили граф О' , на ко-
тором для переходных вероятностей выполняются условия: р'*ц С^Ъ 0= К] = 1...^+ ;
Т р' Ц =и = 1,...,4+1^\х\
t=5 2i
Обозначим матрицу переходных вероятностей графа От в момент времени /0 е N с учетом ограничений на допустимые пути через
Р<оУ^<о Ж,- Ее
t=4
t=3
t=2
16
элементы можно вос-вить по матрице Р' переходных вероятностей тельного графа О': если /о е [. А'7 _. то
^ I* т^
если t=l 1
/0 =?! +/иГ, Ärr + l^^ < С + 1^-1,
3
Рис. 2
m^Z , то
v *
Py\)J=P i+<t-l^\,j+h\x\, i,jeX;
то
если /0 = ^ + 1 т Р,} <0 р' г+*+1;Г-1]Ж|, } ,
Известно, что в обычных ориентированных графах вероятности попадания из вершины в вершину за п шагов определяются п -й степенью матрицы переходных вероятностей. В случае периодических динамических графов вероятности перехода из одной вершины в момент времени ^ б Я в другую
вершину в момент времени /2 е N Сг > '1 определяется матрицей Р( =
= £<]!>< +-1Х + Г
Пример 1. Рассмотрим граф С?5 изо-
браженный на рис. 1:
/О С2>0 <5>0 13>0
/<5> С4><6>
V/e \ + 5n,A + 5nJ V/e [+5и,3 + 5и] r^5,/j=l V/e | + 5w,5 + 5w^]
Vie | + 5w,5 + 5иТ]и = 1,2,.... Пусть VteN VueU^^y i Рг] О Pij = const Зададим матрицу переходных вероятностей: Г0 0,4 0 0 0,6^ 0 0 0,3 0,2 0,5 Р= 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
Построим вспомогательный граф О' (рис. 2): Выпишем для вспомогательного графа переходные вероятности до пересчета:
Рис. 1
0 0 0 0 0 0 0,4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0,3 0 0,5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0,4 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0,3 0,2 0,5 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,4 0 0 0.6 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,3 0,2 0,5 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,4 0 0 0,6
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,3 0,2 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0,4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0,3 0,2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Р'=
Очевидно, Р' не является матрицей переходных получим матрицу переходных вероятностей, так как
вероятностей, так как сумма ее элементов в некото- для нее выполняется и условие неотрицательности
рых строках (например, в первой, или во второй) от- всех элементов, и равенство единице суммы элемен-
лична от единицы. После пересчета по формулам (1) тов каждой строки:
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0,4 0 0,6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0,3 0,2 0,5 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,4 0 0 0,6 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,3 0,2 0,5 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,4 0 0 0,6
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,55 0,45 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0,55 0,45 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
F =
Найдем матрицу переходных вероятностей графа 0$ (с учетом ограничений на допустимые пути) например, в момент времени /0 = 4 : ГО 0,4 0 0 0,6^
P4
0,55 0,45 0 0
Элементы второй строки /'24^, и /'25
поменяли значения 0,3, 0,2 и 0,5 на 0,55, 0,45 и 0 соответственно, так как в момент времени /0 = 4 дуга и 4 неактивна.
Задача о нахождении кратчайшего пути
Пусть От $~,и, /,г,1 - взвешенный периодический динамический граф, где /:£/—>• + - функция, определяющая длину дуги.
Определение 1. Кратчайшим путем с началом в момент времени /0 е N из вершины х е X в вершину у е X назовем допустимый путь // ^ [. и ^ —> и ,
соединяющий эти вершины, такой, что сумма длин входящих в него дуг минимальна, т.е.
ГП1П
7=1
Определение 2. Пусть //[ —>и
путь на динамическом графе (г/ $.(/./. г./. Отрезком пути /л ^ ~ называется отображение
'и2(<«1<«2<и= ^еЛ^такое, что
Кратчайший путь в обычном ориентированном графе, как известно, обладает свойством экстремальности, т.е. любой отрезок кратчайшего пути также является кратчайшим путем. Для периодических динамических графов это свойство не всегда справедливо. Рассмотрим пример: Пример 2. Рассмотрим граф 05 $.(/./. т.1 ^ (рис. 3):
4
Рис. 3
/О С2>0 с,з>0 ^
/<4>С,4><5>С5><6>С5}:
Щ = 4>м2>м6 D^r =
3? 4' 5 >
V/e | + 5n,7 + 5и V/e J + 5w,5 + 5w^]
^5,/^=! | + 5и,5 + 5и^и = 1,2,.... В пунктирной рамке рядом с дугой указана ее длина. Найдем кратчайший путь из вершины 1 в вершину 5 с началом в момент времени /() -1. Таким путем
будет »2—»4—>5 длины 17. Рассмотрим от-
резки этого пути ,и|-:1->2 и /¿^-:2->4—>5. Они
являются кратчайшими путями между вершинами 1 и 2 в момент времени 1 и вершинами 2 и 5 в момент времени 2 соответственно. Но если рассмотреть, например, путь 2 —> 4 —» 5 в момент времени / = 5, то он не будет являться кратчайшим путем из 2 в 5, так как при / = 5 дуга и 4 неактивна. Кратчайшим путем длины 1 в этом случае будет дуга ы3 .
Таким образом, справедливость свойства экстремальности отрезков кратчайшего пути для периодического динамического графа зависит от момента времени, в который рассматриваются эти отрезки. Сформулируем теорему:
Теорема 1. Пусть ^ е-
кратчайший путь из некоторой вершины х1 е X в некоторую вершину х2 е X на периодическом динамическом графе От т.1. Рассмотрим отрезок этого пути §1 - и 2 Ц ^ ^ ^ е ^ соединяющий
вершины у^ и >>2 • Для того чтобы отрезок // ц - являлся кратчайшим путем из у в у2, достаточно выполнение условия
которое означает, что начальным моментом времени для отрезка пути и ~ должен быть /0 + щ — 1, т.е. тот
момент, в который исходный путь и | ~ проходит дуГУ
Из примера 2 также видно, что для кратчайших путей на периодических динамических графах может не выполняться и свойство транзитивности, которым обладают кратчайшие пути в обычных ориентированных
графах. Действительно, рассмотрим путь //'|-: 1 —» 2.
который является кратчайшим из вершины 1 в вер-
2
шину 2 в момент времени / = 1 и путь ¡л _: 2 —» 5 ,
К
являющийся кратчайшим путем из 2 в 5 в момент времени / = 5. Но если мы рассмотрим путь
¡л : 1 —> 2 —> 5 , например, в момент времени / = 1. то
такой путь не будет являться кратчайшим из вершины 1 в вершину 5. Таким образом, свойство транзитивности, как и экстремальность, зависит от момента времени, в который мы рассматриваем пути и их отрезки.
Известны классические алгоритмы поиска кратчайшего пути для обыкновенных ориентированных графах [2, 3]. Но поскольку не все пути на периодических динамических графах являются допустимыми, непосредственно применять эти алгоритмы нельзя.
1
Поиск кратчайшего пути на вспомогательном графе
Так как кратчайший путь на динамическом графе (гу .!/./. г./ . по определению, должен быть допустимым, то искать его нужно во множестве допустимых путей. Все такие пути представлены на вспомогательном графе С?'[1]. Для определения значений функции Г\1Г—> {¡,+ да модифицируем алгоритм построения вспомогательного графа: для всех иеС/:из ^Х У7и = 1..Х* + 1^-1- если
г<,/н>1,то [/•=[/• и Н'а- \ где/' <'А. > <+ -у + если + т0
гу = гу и Л где /• О <+ € +-
Теорема 2. Пусть От$,и,/,т,1- периодический динамический граф. Кратчайшему пути из вершины х е X в момент времени /0 е N в вершину уеХ в момент времени 1\ > 1() ^ N ^ на графе От соответствует кратчайший путь из вершины х + ^ -1 е X' во множество вершин у + «|Л~|, п = 1,2,...,С +- если 1</0<АУ на вспомогательном графе. Если Зп е Z+ : /0 = +пТ, Л'7' < < { +1 ^. то кратчайшему пути из вершины хеX в вершину у еХ с началом в момент времени tQ eN соответствует кратчайший путь из вершины х + - 1]Х| е X' во множество вершин у + «|Л~|,
п = кТ + ■
Теорема 3. На графе О для всех значений /;г = /0 + пТ :/0 е \г +1, + п = 0,1,2,... длина кратчайшего пути с начальным моментом времени между любыми двумя вершинами есть величина постоянная.
Справедливость теорем 2 и 3 следует из алгоритма построения вспомогательного графа.
Определение 3. Кратчайшим путем и j
из
вершины хеХ в момент времени ^ е N в вершину у е X в момент времени /2 е N ^ > 1\ назовем допустимый путь // £ ^ [ и ^ —> ( . соединяющий эти
вершины, такой, что }_ / С [ /-, Ч^У т'п • При этом
¿=1
дуга Ч проходится путем в момент времени ,
а дуга ц ^ ^ - в момент времени /2 .
Для существования такого пути необходимо выполнение условия
н = /2-/1+1, (3)
т.е. длина пути должна быть равна длине отрезка времени Действительно, если п ф 12-1] +1. то вершина у будет достигнута путем в некоторый момент времени 1'ф /2 .
Для нахождения кратчайшего пути ц ^ ^ ~ из вер-
шины х е X в момент времени /| е N в вершину у б X в момент времени /2 е ^ ^ > ^ необходимо построить точное транзитивное замыкание порядка /2 +1 для графа О' С/',/',/' . Для этого найдем
А1'1 ''+1, где - матрица смежности графа
О' СГ,С/',/',/' . Граф, определяемый матрицей
обозначим Сг Г. /,/ . Для получения матрицы воспользуемся следующим алгорит-
мом. Рассмотрим матрицы
Л1 J X = 4 д.,
<<<
/1 = 4, | • при этом Аг' = а' - А . Введем массив >иО=1 ■ такой, что если не С/: ~
дуга графа О, то т \_ содержит последовательность вершин, соответствующих кратчайшему пути из вершины / в вершину у на графе О. Для каждого значения /=1..|Л''| занесем в т значение 7. Положим
1ИУао\/иеи.
Далее для всех / = 1,2,...,
О
, akj Ф 0 и
у = 1--]Л~'|, к = 1...|Л''|, если а\к ¡С ^¡к, У, то:
1. "//' 1:
2. 7<7>/<а^>/С,УЗ
3. в 777 [ добавить вершину к.
Длина кратчайшего пути ^ из вершины х е X в момент времени /| е N в вершину у е X в момент времени /2 е N ^ > ^ равна
~ - если ^ е и I^х+ , если =(1'+пТ,
^'е {г + 1, + 1^7] п - 0,1,2,.... Сам кратчайший путь в этом случае определяется последовательностью вершин, содержащихся в 77?^^^]. Здесь отображение р\: и —> Л' ставит в соответствие дуге
и е и ее начало.
Пример 3. Рассмотрим граф изо-
браженный на рис. 4:
Рис. 4
и
0
1
/О С2>0 С5>0 С3><4> С5
/<5>С4><6>С5><7><,5}: С/0 = г4,м3,м7 = г^2,м4,м5,м6 ; \//е | + 5и,4 + 5и] V/е [+5тг,3 + 5тг] V/е | + 5и,5 + 5и] г^б,^1 | + 5п,5 + 5п~^п = 1,2,.... Длины дуг зададим с помощью матрицы: ГО 2 О О 1(Л 0 0 12 4 1= 0 0 0 0 5 0 0 0 0 3 0 0 0 0 0 Построим вспомогательный граф О (рис. 5):
Найдем кратчайший путь из вершины 1 в момент времени ^ = 4 в вершину 5 в момент времени 12 = 6.
Построим точное транзитивное замыкание порядка 6-4+1=3. Получим следующий граф О (рис. 6):
2 3
Рис. 5
2 3 4
Рис. 6
Длина кратчайшего пути из вершины 1 в момент времени ^ = 4 в вершину 5 в момент времени 12 = 6 равна 7 (длина дуги, соединяющей вершины 10 и 16). В т\б_ содержится последовательность вершин 1,2,4,5 . Итак, длина кратчайшего пути 1^-2 -^-4 —>5 равна 7.
Литература
1. Кузьминова М.В. // Изв. вузов. Сев.-Кавк. регион. Ес-теств. науки. 2008. № 1. С. 14-20.
2. Замбицкий Д.К., Лозовану Д.Д. Алгоритмы решения оптимизационных задач на сетях. Кишинев, 1983.
3. Кристофидес Н. Теория графов. Алгоритмический подход. Пер. с англ. М., 1978.
Южный федеральный университет
3 апреля 2007 г.
t=5
21
t=4
t=3
t=2
t=5
t=4
t=3
t=1
4
5