Естественные науки

Помогите пожалуйста дорешать задание по графам!!! Очень нужно!

с помощью алгоритма Форда нужно найти кратчайший маршрут из вершины k=6 в вершины p=4 и q=11 и вычислить длины этих маршрутов

главный вопрос - как считается лямбда?
1. Построим матрицу D0 размерности |V| x |V|, элементы которой определяются по правилу:

dii0= 0;
dij0= Weight(vi, vj), где i<>j, если в графе существует ребро (дуга) (vi, vj);
dij0= бесконечность, где i<>j, если нет ребра (дуги) (vi, vj).
2. m:=0.
Основная часть:

1. Построим матрицу Dm+1 по Dm, вычисляя ее элементы следующим образом:
dijm+1=min{dijm, di(m+1)m + d(m+1)jm}, где i<>j; diim+1=0 (*).
Если dimm + dmim < 0 для какого-то i, то в графе существует цикл (контур) отрицательной длины, проходящий через вершину vi; ВЫХОД.

2. m:=m+1; если m<|V|, то повторяем шаг (1), иначе элементы последней построенной матрицы D|V| равны длинам кратчайших путей между соответствующими вершинами; ВЫХОД.

КОНЕЦ

Если требует найти сами пути, то перед началом работы алгоритма построим матрицу P с начальными значениями элементов pij=i. Каждый раз, когда на шаге (1) значение dijm+1 будет уменьшаться в соответствии с (*) (т. е. когда di(m+1)m + d(m+1)jm<dijm), выполним присваивание pij:=p(m+1)j. В конце работы алгоритма матрица P будет определять кратчайшие пути между всеми парами вершин: значение pij будет равно номеру предпоследней вершины в пути между i и j (либо pij=i, если путь не существует).

Примечаниe: если граф - неориентированный, то все матрицы Dm являются симметричными, поэтому достаточно вычислять элементы, находящиеся только выше (либо только ниже) главной диагонали.
Валентин Лашин
Валентин Лашин
82 461
Лучший ответ