Решение задачи о путях в орграфе, размеченным над полукольцом Пусть 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 этого пути обозначим через ei1 . Тогда если 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 n0 (сумма матриц понимается как поэлементная, т.е. как конечная сумма элементов полукольца 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, т.е. число дуг в этом пути.