SSPT: Shallowest Shortest Path Tree
摘要
This paper introduces a polynomial-time modification to Dijkstra’s algorithm aimed at constructing a Shallowest Shortest Path Tree (SSPT) from a source vertex \( s \) in a weighted graph. Unlike the standard Dijkstra’s algorithm, which prioritizes minimizing path weights without regard for path depths (i.e., the number of edges), this modified approach ensures that among paths of equal weight, the one with the fewest edges is selected. This enhancement is achieved by tracking both path weight and depth during the algorithm’s execution. The paper provides formal definitions of key concepts and proves the correctness of the modified algorithm. This work extends the applicability of shortest path algorithms to scenarios where minimizing path depths is also substantial. A formal treatment and proof for the solution are presented. We apply the SSPT to approximate solutions for the Directed Steiner Tree Problem on several graphs, including Erdős-Rényi random graphs with randomly and uniformly selected terminals. In particular, we show that using this tree allows us to notably reduce the number of nonterminal nodes included in the solution. We believe that further development of this method may lead to improved approximation strategies for Steiner-type problems and related optimization tasks.