Решение задачи о путях в орграфе, размеченным над

advertisement
Решение задачи о путях в орграфе, размеченным
над полукольцом
Пусть G  V , E  - орграф, на множестве дуг
которого (множестве E ) определена функция разметки
:E  S , где S - носитель какого-то полукольца
S  S,,,0,1  . Тогда орграф G будем называть
орграфом, размеченным над полукольцом S . Как правило,
в дальнейшем это полукольцо считается замкнутым.
Принимается также, что значение функции разметки на
любой дуге графа не равно нулю полукольца.
Орграф G , размеченный над полукольцом S , может
быть задан квадратной матрицей n -ого (где n |V | ) порядка
A  ( aij ) n  n , где
 (  v i , v j  ),  v i , v j  E
a ij  
. Эта
0
,

v
,
v

E
i
j

матрица называется матрицей весов дуг размеченного
орграфа. Если полукольцо S есть двухэлементное
полукольцо B , то матрица весов дуг есть не что иное, как
матрица смежности вершин.
Определим понятие метки пути в размеченном
орграфе. Пусть W  x 0  x1 ...  x m - путь конечной
длины m  0 . Дугу x i  x i 1 этого пути обозначим через
ei1 . Тогда если m  0 (т.е. W есть путь нулевой длины), то
метка  (W ) этого пути равна, по определению, единице
полукольца. Иначе,  (W )   ( e1 )... ( em ) , т.е. метка пути
ненулевой длины определяется как произведение меток
входящих в этот путь дуг (в порядке их прохождения).
Для полукольца B , в силу того, что метка каждой дуги
тогда равна 1, метка любого пути (как нулевой, так и
ненулевой длины) будет равна 1 (единице полкольца B ).
Для полукольца R  метка пути нулевой длины будет равна
числу 0 (единице данного полукольца), а метка пути
ненулевой длины вычисляется как (арифметическая) сумма
меток дуг, которые фигурируют в этом пути.
2
Стоимость прохождения из вершины v i в вершину
v j , обозначаемая c( vi , v j ) (или просто cij ) есть, по
определению, сумма меток всех путей (конечной длины),
ведущих из вершины v i в вершину v j . Если множество всех
путей из v i в v j конечно, то стоимость есть сумма в
обычном смысле слова - сумма элементов полукольца S .
Если указанное множество бесконечно (но, так как
рассматриваются только пути конечной длины, счетно - как
бесконечное множество конечных последовательностей), то
стоимость (для замкнутого полукольца S ) есть точная
верхняя грань множества меток всех путей из v i в v j .
Итак, в любом случае мы можем написать:
cij 
  (W )
W :v i *v j
Для полукольца B любая сумма равна 1 тогда и только
тогда, когда хотя бы одно слагаемое равно 1.
Следовательно, cij  1 тогда и только тогда, когда
существует хотя бы один путь из v i в v j , т.е. cij есть
элемент матрицы достижимости. cij  1
Для полукольца R  стоимость cij есть
cij 
min  (W ) ,
W :vi *v j
что составляет метку («длину») кратчайшего (в смысле
наименьшей суммы меток дуг) пути из v i в v j .
Теорема. Матрица стоимостей C размеченного
орграфа равна итерации (замыканию) матрицы A весов дуг:
C

 An
n0
(сумма матриц понимается как поэлементная, т.е. как
конечная сумма элементов полукольца S , над которым
3
размечен орграф, или как точная верхняя грань бесконечной
последовательности элементов этого полукольца).
Доказательству теоремы предпошлем обсуждение
некоторых частных случаев.
Сама матрица A есть матрица меток дуг, т.е. меток
путей единичной длины. Ее нулевая степень равна
единичной матрице, которая может рассматриваться как
матрица меток по всем путям нулевой длины. Рассмотрим
теперь квадрат матрицы A . Имеем:
n
A  (  aik a kj ) n  n .
2
k 1
Элемент
a ij( 2 )
этой
матрицы
есть
сумма
ai1a1 j  a12 a2 j ...a1n a nj . Каждое слагаемое в этой сумме
есть либо метка некоторого пути длины 2, ведущего из v i в
v j , либо нуль полукольца. Таким образом, поскольку здесь
перебираются все пути длины 2 из v i в v j , то указанная
сумма есть сумма меток всех путей из v i в v j , длина
которых равна 2, и, таким образом, матрица A2 есть
матрица стоимостей по всем путям длины 2.
Используя метод математической индукции, можно
показать, что m -ая степень матрицы меток дуг, т.е. матрица
A m есть матрица стоимостей по всем путям длины
m ( m  0 ).
Базис индукции уже доказан (мы рассмотрели случаи
m  0,1,2 ). Пусть доказываемое справедливо для всех
m  l  1, l  1 . Обозначая произвольный элемент матрицы
A m через aij( m) , получим
aij( l )
n
  aik( l 1) a kj .
k 1
Каждое слагаемое этой суммы есть произведение стоимости
прохождения из вершины v i в вершину v k по всем путям
длины l 1 (это, по предположению индукции, элемент
4
a ik( l 1) ) на элемент a kj матрицы смежности вершин, который
при условии v k  v j будет равен метке указанной дуги, а
если такой дуги нет, то нулю полукольца. Это значит, что k ое слагаемое написанной выше суммы (для фиксированного
k ) будет либо равно нулю, либо будет суммой меток всех
путей длины l из вершины v i в вершину v j , последней
дугой которого будет дуга v k  v j I.
Так как k пробегает все вершины графа, то сумма,
выражающая элемент a ij( l ) будет ни чем иным, как суммой
меток всех путей длины l из вершины v i в вершину v j , т.е.
стоимостью прохождения из вершины v i в вершину v j по
всем путям длины l .
Итак, сумма всех степеней матрицы A меток дуг
размеченного орграфа будет матрицей стоимостей.
I
Более
подробно:
n
n
aij( l )   aik( l 1) a kj   (
k 1
n
 (W ))a kj  
k 1 W :vi *vk ,
|W |l 1
 (W )akj
.
При
k 1W :vi *vk ,
|W | l 1
фиксированном k (k-ое слагаемое внешней суммы как внутренняя сумма) получаем либо
стоимость прохождения из i-ой вершины в j-ую по всем путям длины l, которые кончаются
дугой из k-ой вершины в в j-ую, либо (если такой дуги нет) – нуль полукольца. Через |W|
обозначена длина пути W, т.е. число дуг в этом пути.
Download