Алгоритм Дейкстры является одним из наиболее популярных и фундаментальных алгоритмов решения проблемы поиска кратчайшего пути в ориентированном графе. Хорошо известно, что алгоритм Дейкстры применим к орграфам с неотрицательно взвешенными дугами. Но, как показывают простые наблюдения, существует множество орграфов и даже классов орграфов с отрицательно взвешенными дугами, к которым алгоритм Дейкстры также применим. Таким образом, условие неотрицательности весов дуг является достаточным, но не является необходимым. Необходимое условие применимости алгоритма Дейкстры не было известно. В этой статье мы представляем и доказываем необходимое и достаточное условие применимости алгоритма Дейкстры. Условие основано на введённом нами понятии рекорда пути. С. 5-13.
Dijkstra’s algorithm is one of the most popular and fundamental algorithms solving the shortest path problem in directed graphs (digraphs). It is well known that Dijkstra’s algorithm is applicable to digraphs with non-negative weighted arcs. But as simple observations show there are many digraphs and even classes of digraphs with negatively weighted arcs for which the Dijkstra’s algorithm is also applicable. Thus the non-negative weight of the arcs condition is not a necessary condition but only a sufficient one. pagebreak The necessary condition for applicability of Dijkstra’s algorithm was unknown. In this paper, we present and prove a necessary and sufficient condition for the applicability of Dijkstra’s algorithm. The condition is based on the notion of a path's record that we introduce.
Ключевые слова: поиск кратчайшего пути, алгоритм Дейкстры, отрицательные веса, необходимое и достаточное условие.
Keywords: shortest path problem, Dijkstra's algorithm, negative weight, necessary and sufficient condition.