Алгоритм Форда-Беллмана для нахождения кратчайших путей в графе работает в несколько фаз. 2
На первой фазе задаётся массив расстояний, который по завершению выполнения алгоритма содержит итоговый результат. 3 Сначала заполняется массив так: для выделенной вершины устанавливается значение 0, а другие элементы определяются как имеющие размер бесконечность. 3
На следующих фазах выполняется просмотр всех рёбер графа. 3 Алгоритм пытается произвести релаксацию (ослабление) вдоль каждого ребра. 2 Релаксация вдоль ребра означает попытку улучшения значения для одной вершины за счёт значения для другой. 3 Фактически это попытка улучшить ответ для вершины, пользуясь ребром и текущим ответом для другой вершины. 2
Если вершины недостижимые, то дистанция для них остаётся бесконечной. 3
После выполнения алгоритма элементы содержат длины кратчайших путей от выделенной вершины до других вершин с определённым количеством рёбер. 1 Из всех таких путей выбирается самый короткий. 1