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