是否有可能为APSP问题热启动任何众所周知的算法(Dijkstra / Floyd-Warshall等),以便能够减少时间复杂度,并可能缩短计算时间?
假设图表由NxN矩阵表示。我只考虑在对算法过程的任何2次调用之间的一个或多个矩阵条目(<< N)中的变化,即相应顶点之间的距离。我们是否可以使用第一次调用的解决方案以及矩阵的增量更改来加速第二次调用算法的计算?我主要关注密集矩阵,但如果有稀疏矩阵的已知方法,请随意分享。感谢。
答案 0 :(得分:2)
我不知道APSP的增量算法。然而,有一个增量版本的A *用于解决SSSP,称为终身计划A * (又名'LPA *,'很少也称为'增量A *'),这似乎就是你的意思在第二段询问。
答案 1 :(得分:1)
一篇有趣的研究论文是: Experimental Analysis of Dynamic All Pairs Shortest Path Algorithms [Demetrescu, Emiliozzi, Italiano] :
我们展示了针对所有对最短路径问题的动态算法的广泛计算研究的结果。我们描述我们的 最近的King [18]和。的动态算法的实现 Demetrescu和Italiano [7],并将它们与动态算法进行比较 Ramalingam和Reps [25]以及随机静态算法, 真实世界和硬实例。我们的实验数据表明有些 动态算法及其算法技术可以 在许多情况下确实具有实用价值。
另一个有趣的分布式算法是 Engineering a New Algorithm for Distributed Shortest Paths on Dynamic Networks [Cicerone, D’Angelo, Di Stefano, Frigioni, Maurizio] :
我们研究了动态更新分布式网络中所有对最短路径的问题,同时边缘更新操作发生在 网络。我们考虑动态网络的实际情况 当一个或多个其他边缘更新时,可以发生边缘更新 正在处理中。
您可以在动态网络中找到更多搜索所有对最短路径的资源。