Самые короткие расстояния пути для всех пар узлов
опционально задает алгоритм, который будет использоваться при вычислении кратчайшего пути с использованием любого из входных параметров в предыдущих синтаксисах. Для примера, если d
= distances(___,'Method',algorithm
)G
является взвешенным графиком, тогда distances(G,'Method','unweighted')
игнорирует веса кромок в G
и вместо этого рассматривает все веса кромок как 1
.
The shortestpath
, shortestpathtree
, и distances
функции не поддерживают неориентированные графы с отрицательными весами ребер или вообще любой график, содержащий отрицательный цикл, по этим причинам:
Отрицательный цикл - это путь, который ведет от узла назад к себе, при этом сумма весов ребер на пути отрицательная. Если отрицательный цикл находится на пути между двумя узлами, то между узлами не существует кратчайшего пути, поскольку более короткий путь всегда можно найти, пройдя отрицательный цикл.
Один отрицательный вес ребра в неориентированном графе создает отрицательный цикл.
digraph
| graph
| nearest
| shortestpath
| shortestpathtree