# Using Machine Learning Predictions to Speed-up Dijkstra's Shortest Path Algorithm

We study the use of machine learning techniques to solve a fundamental shortest path problem, which is also known as the single-source many targets shortest path problem (SSMTSP). Given a directed graph with non-negative edge weights, our goal is to compute a shortest path from a given source node to any of several designated target nodes. Basically, our idea is to combine a machine learning approach with an adapted version of Dijkstra's algorithm to solve this problem: Based on the trace of Dijkstra's algorithm, we design a neural network that predicts the shortest path distance after only a few iterations. The prediction is then used to prune the search space explored by Dijkstra's algorithm, which allows us to save a significant fraction of operations on the underlying priority queue. Crucially, our approach always computes the exact shortest path distances, even if the prediction is inaccurate, and never uses more queue operations than the standard algorithm. In fact, we are able to prove a lower bound on the number of queue operations saved by our new algorithm, which depends on the accuracy of the prediction. Our bound applies to arbitrary graphs as long as (some of) the edge weights are drawn at random. Our experimental findings on random graphs confirm these bounds and show that the actual savings are oftentimes significantly higher.

READ FULL TEXT