{"title":"Space and Time Trade-Off for the k Shortest Simple Paths Problem","authors":"Ali Al Zoobi, D. Coudert, N. Nisse","doi":"10.4230/LIPICS.SEA.2020.18","DOIUrl":null,"url":null,"abstract":"The k shortest simple path problem (kSSP) asks to compute a set of top-k shortest simple paths from a vertex s to a vertex t in a digraph. Yen (1971) proposed the first algorithm with the best known theoretical complexity of O(kn(m + n log n)) for a digraph with n vertices and m arcs. Since then, the problem has been widely studied from an algorithm engineering perspective, and impressive improvements have been achieved. In particular, Kurz and Mutzel (2016) proposed a sidetracks-based (SB) algorithm which is currently the fastest solution. In this work, we propose two improvements of this algorithm. We first show how to speed up the SB algorithm using dynamic updates of shortest path trees. We did experiments on some road networks of the 9th DIMAC'S challenge with up to about half a million nodes and one million arcs. Our computational results show an average speed up by a factor of 1.5 to 2 with a similar working memory consumption as SB. We then propose a second algorithm enabling to significantly reduce the working memory at the cost of an increase of the running time (up to two times slower). Our experiments on the same data set show, on average, a reduction by a factor of 1.5 to 2 of the working memory.","PeriodicalId":9448,"journal":{"name":"Bulletin of the Society of Sea Water Science, Japan","volume":"5 1","pages":"18:1-18:13"},"PeriodicalIF":0.0000,"publicationDate":"2020-06-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Bulletin of the Society of Sea Water Science, Japan","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4230/LIPICS.SEA.2020.18","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5
Abstract
The k shortest simple path problem (kSSP) asks to compute a set of top-k shortest simple paths from a vertex s to a vertex t in a digraph. Yen (1971) proposed the first algorithm with the best known theoretical complexity of O(kn(m + n log n)) for a digraph with n vertices and m arcs. Since then, the problem has been widely studied from an algorithm engineering perspective, and impressive improvements have been achieved. In particular, Kurz and Mutzel (2016) proposed a sidetracks-based (SB) algorithm which is currently the fastest solution. In this work, we propose two improvements of this algorithm. We first show how to speed up the SB algorithm using dynamic updates of shortest path trees. We did experiments on some road networks of the 9th DIMAC'S challenge with up to about half a million nodes and one million arcs. Our computational results show an average speed up by a factor of 1.5 to 2 with a similar working memory consumption as SB. We then propose a second algorithm enabling to significantly reduce the working memory at the cost of an increase of the running time (up to two times slower). Our experiments on the same data set show, on average, a reduction by a factor of 1.5 to 2 of the working memory.
k个最短简单路径问题(kSSP)要求计算有向图中从顶点s到顶点t的top-k个最短简单路径的集合。Yen(1971)提出了第一个算法,其最著名的理论复杂度为O(kn(m + n log n)),用于具有n个顶点和m条弧的有向图。从那时起,从算法工程的角度对这个问题进行了广泛的研究,并取得了令人印象深刻的改进。特别是,Kurz和Mutzel(2016)提出了一种基于侧边的(SB)算法,这是目前最快的解决方案。在这项工作中,我们对该算法提出了两个改进。我们首先展示了如何使用最短路径树的动态更新来加速SB算法。我们在第九届DIMAC挑战赛的一些道路网络上做了实验,其中有大约50万个节点和100万个弧线。我们的计算结果表明,在工作记忆消耗与SB相似的情况下,平均速度提高了1.5到2倍。然后,我们提出了第二种算法,能够以增加运行时间为代价显著减少工作记忆(最多慢两倍)。我们在相同数据集上的实验显示,平均而言,工作记忆减少了1.5到2倍。