更快的替换路径和距离敏感性oracle

F. Grandoni, V. V. Williams
{"title":"更快的替换路径和距离敏感性oracle","authors":"F. Grandoni, V. V. Williams","doi":"10.1145/3365835","DOIUrl":null,"url":null,"abstract":"Shortest paths computation is one of the most fundamental problems in computer science. An important variant of the problem is when edges can fail, and one needs to compute shortest paths that avoid a (failing) edge. More formally, given a source node s, a target node t, and an edge e, a replacement path for the triple (s,t,e) is a shortest s-t path avoiding edge e. Replacement paths computation can be seen either as a static problem or as a data structure problem. In the static setting, a typical goal is to compute for fixed s and t, for every possible failed edge e, the length of the best replacement path around e (replacement paths problem). In the data structure setting, a typical goal is to design a data structure (distance sensitivity oracle) that, after some preprocessing, quickly answers queries of the form: What is the length of the replacement path for the triple (s,t,e)? In this article, we focus on n-node directed graphs with integer edge weights in [−M,M], and present improved replacement paths algorithms and distance sensitivity oracles based on fast matrix multiplication. In more detail, we obtain the following main results: • We describe a replacement paths algorithm with runtime Õ(Mnω), where ω < 2.373 is the fast matrix multiplication exponent. For a comparison, the previous fastest algorithms have runtime õ(Mn1+2ω /3) [Weimann,Yuster—FOCS’10] and, in the unweighted case, õ(n2.5) [Roditty, Zwick—ICALP’05]. Our result shows that, at least for small integer weights, the replacement paths problem in directed graphs may be easier than the related all-pairs shortest paths problem, as the current best runtime for the latter is õ(M1\\4−ω n2+1 \\ 4−ω): this is Ω (n2.5) even if ω = 2. Our algorithm also implies that the k shortest simple s-t paths can be computed in õ(kMnω) time. • We consider the single-source generalization of the replacement paths problem, where only the source s is fixed. We show how to solve this problem in all-pairs shortest paths time, currently õ(M1\\4−ω n2+1\\4−ω). Our runtime reduces to õ(Mnω) for positive weights, hence matching our mentioned result for the simpler replacement paths case (that, however, holds also for nonpositive weights). One of the ingredients that we use is an algorithm to compute the distances from a set s of source nodes to a set T of target nodes in õ(Mnω+|S|ṡ |T|ṡ (Mn)1\\4−ω) time. This improves on a result in Yuster,Zwick—FOCS’05. • We present the first distance sensitivity oracle that achieves simultaneously subcubic preprocessing time and sublinear query time. More precisely, for a given parameter α ∈ [0,1], our oracle has preprocessing time Õ(Mnω + 1\\ 2+Mnω + α (4−ω)) and query time Õ(n1−&alpha). The previous best oracle for small integer weights has Õ(Mnω +1−α) preprocessing time and (superlinear) Õ(n1+α) query time [Weimann,Yuster-FOCS’10]. From a technical point of view, an interesting and novel aspect of our oracle is that it exploits as a subroutine our single-source replacement paths algorithm. We also present an oracle with the same preprocessing time as in Weimann,Yuster—FOCS’10 and with smaller query time õ(n1−1−α\\4−ω+n2α).","PeriodicalId":154047,"journal":{"name":"ACM Transactions on Algorithms (TALG)","volume":"37 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"20","resultStr":"{\"title\":\"Faster Replacement Paths and Distance Sensitivity Oracles\",\"authors\":\"F. Grandoni, V. V. Williams\",\"doi\":\"10.1145/3365835\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Shortest paths computation is one of the most fundamental problems in computer science. An important variant of the problem is when edges can fail, and one needs to compute shortest paths that avoid a (failing) edge. More formally, given a source node s, a target node t, and an edge e, a replacement path for the triple (s,t,e) is a shortest s-t path avoiding edge e. Replacement paths computation can be seen either as a static problem or as a data structure problem. In the static setting, a typical goal is to compute for fixed s and t, for every possible failed edge e, the length of the best replacement path around e (replacement paths problem). In the data structure setting, a typical goal is to design a data structure (distance sensitivity oracle) that, after some preprocessing, quickly answers queries of the form: What is the length of the replacement path for the triple (s,t,e)? In this article, we focus on n-node directed graphs with integer edge weights in [−M,M], and present improved replacement paths algorithms and distance sensitivity oracles based on fast matrix multiplication. In more detail, we obtain the following main results: • We describe a replacement paths algorithm with runtime Õ(Mnω), where ω < 2.373 is the fast matrix multiplication exponent. For a comparison, the previous fastest algorithms have runtime õ(Mn1+2ω /3) [Weimann,Yuster—FOCS’10] and, in the unweighted case, õ(n2.5) [Roditty, Zwick—ICALP’05]. Our result shows that, at least for small integer weights, the replacement paths problem in directed graphs may be easier than the related all-pairs shortest paths problem, as the current best runtime for the latter is õ(M1\\\\4−ω n2+1 \\\\ 4−ω): this is Ω (n2.5) even if ω = 2. Our algorithm also implies that the k shortest simple s-t paths can be computed in õ(kMnω) time. • We consider the single-source generalization of the replacement paths problem, where only the source s is fixed. We show how to solve this problem in all-pairs shortest paths time, currently õ(M1\\\\4−ω n2+1\\\\4−ω). Our runtime reduces to õ(Mnω) for positive weights, hence matching our mentioned result for the simpler replacement paths case (that, however, holds also for nonpositive weights). One of the ingredients that we use is an algorithm to compute the distances from a set s of source nodes to a set T of target nodes in õ(Mnω+|S|ṡ |T|ṡ (Mn)1\\\\4−ω) time. This improves on a result in Yuster,Zwick—FOCS’05. • We present the first distance sensitivity oracle that achieves simultaneously subcubic preprocessing time and sublinear query time. More precisely, for a given parameter α ∈ [0,1], our oracle has preprocessing time Õ(Mnω + 1\\\\ 2+Mnω + α (4−ω)) and query time Õ(n1−&alpha). The previous best oracle for small integer weights has Õ(Mnω +1−α) preprocessing time and (superlinear) Õ(n1+α) query time [Weimann,Yuster-FOCS’10]. From a technical point of view, an interesting and novel aspect of our oracle is that it exploits as a subroutine our single-source replacement paths algorithm. We also present an oracle with the same preprocessing time as in Weimann,Yuster—FOCS’10 and with smaller query time õ(n1−1−α\\\\4−ω+n2α).\",\"PeriodicalId\":154047,\"journal\":{\"name\":\"ACM Transactions on Algorithms (TALG)\",\"volume\":\"37 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2019-12-05\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"20\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"ACM Transactions on Algorithms (TALG)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3365835\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM Transactions on Algorithms (TALG)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3365835","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 20

摘要

最短路径计算是计算机科学中最基本的问题之一。这个问题的一个重要变体是当边失效时,需要计算避免(失效)边的最短路径。更正式地说,给定一个源节点s、一个目标节点t和一条边e,三元组(s,t,e)的替换路径是一条避开边e的最短s-t路径。替换路径的计算既可以被视为静态问题,也可以被视为数据结构问题。在静态设置中,典型的目标是计算对于固定的s和t,对于每个可能失效的边e,围绕e的最佳替换路径的长度(替换路径问题)。在数据结构设置中,一个典型的目标是设计一个数据结构(距离敏感性oracle),经过一些预处理后,它可以快速回答以下形式的查询:三元组(s,t,e)的替换路径的长度是多少?在本文中,我们将重点放在边权为整数的n节点有向图[−M,M]上,并提出了改进的替换路径算法和基于快速矩阵乘法的距离灵敏度预言器。•我们描述了一个运行时为Õ(mω)的替换路径算法,其中ω < 2.373是快速矩阵乘法指数。相比之下,之前最快的算法的运行时间为õ(Mn1+2ω /3) [Weimann, Yuster-FOCS ' 10],在未加权的情况下,运行时间为õ(n2.5) [Roditty, Zwick-ICALP ' 05]。我们的结果表明,至少对于较小的整数权重,有向图中的替换路径问题可能比相关的全对最短路径问题更容易,因为后者的当前最佳运行时间为õ(M1\4−ω n2+1 \4−ω):这是Ω (n2.5),即使ω = 2。我们的算法还表明,k个最短的简单s-t路径可以在õ(knm ω)时间内计算出来。•我们考虑替换路径问题的单源泛化,其中只有源s是固定的。我们展示了如何在全对最短路径时间内解决这个问题,目前是õ(M1\4−ω n2+1\4−ω)。对于正权重,我们的运行时间减少到õ(mnum),因此与我们提到的更简单的替换路径情况的结果相匹配(然而,对于非正权重也适用)。我们使用的其中一个成分是一种算法,用于在õ(Mnω+| s | |T| (Mn)1\4−ω)时间内计算从源节点集s到目标节点集T的距离。这比Yuster, Zwick-FOCS ' 05的结果有所改善。•我们提出了第一个同时实现亚立方预处理时间和亚线性查询时间的距离灵敏度数据库。更准确地说,对于给定参数α∈[0,1],我们的oracle具有预处理时间Õ(m ω + 1\ 2+ m ω + α(4−ω))和查询时间Õ(n1−&alpha)。之前对于小整数权值的最佳oracle的预处理时间为Õ(Mnω +1−α),查询时间为Õ(n1+α)(超线性)[Weimann,Yuster-FOCS ' 10]。从技术角度来看,我们的oracle的一个有趣和新颖的方面是,它利用了我们的单源替换路径算法作为子例程。我们还提出了一个具有与Weimann, Yuster-FOCS ' 10相同的预处理时间和更小的查询时间õ(n1−1−α\4−ω+n2α)的oracle。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Faster Replacement Paths and Distance Sensitivity Oracles
Shortest paths computation is one of the most fundamental problems in computer science. An important variant of the problem is when edges can fail, and one needs to compute shortest paths that avoid a (failing) edge. More formally, given a source node s, a target node t, and an edge e, a replacement path for the triple (s,t,e) is a shortest s-t path avoiding edge e. Replacement paths computation can be seen either as a static problem or as a data structure problem. In the static setting, a typical goal is to compute for fixed s and t, for every possible failed edge e, the length of the best replacement path around e (replacement paths problem). In the data structure setting, a typical goal is to design a data structure (distance sensitivity oracle) that, after some preprocessing, quickly answers queries of the form: What is the length of the replacement path for the triple (s,t,e)? In this article, we focus on n-node directed graphs with integer edge weights in [−M,M], and present improved replacement paths algorithms and distance sensitivity oracles based on fast matrix multiplication. In more detail, we obtain the following main results: • We describe a replacement paths algorithm with runtime Õ(Mnω), where ω < 2.373 is the fast matrix multiplication exponent. For a comparison, the previous fastest algorithms have runtime õ(Mn1+2ω /3) [Weimann,Yuster—FOCS’10] and, in the unweighted case, õ(n2.5) [Roditty, Zwick—ICALP’05]. Our result shows that, at least for small integer weights, the replacement paths problem in directed graphs may be easier than the related all-pairs shortest paths problem, as the current best runtime for the latter is õ(M1\4−ω n2+1 \ 4−ω): this is Ω (n2.5) even if ω = 2. Our algorithm also implies that the k shortest simple s-t paths can be computed in õ(kMnω) time. • We consider the single-source generalization of the replacement paths problem, where only the source s is fixed. We show how to solve this problem in all-pairs shortest paths time, currently õ(M1\4−ω n2+1\4−ω). Our runtime reduces to õ(Mnω) for positive weights, hence matching our mentioned result for the simpler replacement paths case (that, however, holds also for nonpositive weights). One of the ingredients that we use is an algorithm to compute the distances from a set s of source nodes to a set T of target nodes in õ(Mnω+|S|ṡ |T|ṡ (Mn)1\4−ω) time. This improves on a result in Yuster,Zwick—FOCS’05. • We present the first distance sensitivity oracle that achieves simultaneously subcubic preprocessing time and sublinear query time. More precisely, for a given parameter α ∈ [0,1], our oracle has preprocessing time Õ(Mnω + 1\ 2+Mnω + α (4−ω)) and query time Õ(n1−&alpha). The previous best oracle for small integer weights has Õ(Mnω +1−α) preprocessing time and (superlinear) Õ(n1+α) query time [Weimann,Yuster-FOCS’10]. From a technical point of view, an interesting and novel aspect of our oracle is that it exploits as a subroutine our single-source replacement paths algorithm. We also present an oracle with the same preprocessing time as in Weimann,Yuster—FOCS’10 and with smaller query time õ(n1−1−α\4−ω+n2α).
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信