We study the use of machine learning techniques to solve a fundamental shortest path problem, 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 target nodes. Basically, our idea is to equip an adapted version of Dijkstras algorithm with machine learning predictions to solve this problem: Based on the trace of the algorithm, we design a neural network that predicts the shortest path distance after a few iterations. The prediction is then used to prune the search space explored by Dijkstras algorithm, which may significantly reduce the number of operations on the underlying priority queue. We note that our algorithm works independently of the specific method that is used to arrive at such predictions. Crucially, we require that our algorithm always computes an optimal solution (independently of the accuracy of the prediction) and provides a certificate of optimality. As we show, in the worst-case this might force our algorithm to use the same number of queue operations as Dijkstras algorithm, even if the prediction is correct. In general, however, our algorithm may save a significant fraction of the priority queue operations. We derive structural insights that allow us to lower bound these savings on partial random instances. In these instances, an adversary can fix the instance arbitrarily except for the weights of a subset of relevant edges, which are chosen randomly. Our bound shows that the number of relevant edges which are pruned increases as the prediction error decreases. We then use these insights to derive closed-form expressions of the expected number of saved queue operations on random instances.
翻译:我们研究了利用机器学习技术解决一个基础的最短路径问题——单源多目标最短路径问题(SSMTSP)。给定一个具有非负边权重的有向图,我们的目标是计算从给定源节点到任意多个目标节点的最短路径。基本思路是:为适配版本的Dijkstra算法配备机器学习预测功能来解决该问题。基于算法运行轨迹,我们设计了一种神经网络,该网络能在少量迭代后预测最短路径距离。随后利用该预测剪枝Dijkstra算法所探索的搜索空间,从而显著减少底层优先队列的操作次数。需要指出的是,我们的算法独立于生成此类预测的具体方法。关键要求是:无论预测精度如何,算法始终能计算出最优解并提供最优性证明。研究表明,在最坏情况下,即使预测完全正确,我们的算法仍可能执行与标准Dijkstra算法相同数量的队列操作。但在一般情况下,算法可节省相当比例的优先队列操作。我们通过结构分析推导出部分随机场景下节省操作的下界。在这些场景中,对抗方可以任意设定实例参数,但仅对相关边子集的权重进行随机赋值。理论界表明,被剪枝的相关边数量随预测误差减小而增加。最后,我们利用这些洞察推导出随机实例上预期节省队列操作数的闭式表达式。