A near-linear-time algorithm for computing replacement paths in planar directed graphs

A near-linear-time algorithm for computing replacement paths in planar directed graphs
复制标题

一种用于计算平面有向图中替换路径的近线性时间算法

DOI:
--
复制
发表时间:
2008
期刊:
TALG
影响因子:
--
通讯作者:
L. Roditty
L. Roditty
中科院分区:
--
文献类型:
--
作者:
Y. Emek;D. Peleg;L. Roditty

文献摘要

被引文献

相似文献

令(<i> g </i> =(<i> v(g) </i>是从<i> g </i>中的<i> t <i> t的最短路径。需要计算每个边缘<i> e> in <i> p </i>,从<i> s </i>到<i> t </i>的最短路径的长度避免<i> e </i>。为了解决加权的有向图中的问题是微不足道的:<i> p </i>中的每个边缘在其转弯和从<i> s </i>到<i> t <的距离中删除/i>在修改图中计算此算法的运行时间是<i> o </i>(<i> m n </i> + <i> n </i> <sup> 2 > log <i> n </i>),其中<i> n </i> = | <i> v(g)</i> |和<i> m </i> = | <i> e (g)</i> |。 替换路径问题是由两个不同的应用程序强烈的,这是从<i> s </i> <i>定向图[Yen 1971; </i>(<i> m </i> + <i> n </i> log <i> n </i>)分布式网络中边缘的Vickrey定价可以减少到替换路径问题。在上一段中进行了描述。 在本文中,我们提出了一种用于计算加权平面中替换路径的近线时间算法</i>尤其是定向图。 <i> n </i> log <sup> 3 </sup> <i> n </i>)时间(请记住,在平面图中<i> m </i> = <i> o </i> (<i> n </i>)。通过将几个新想法与Klein [2005]的数据结构相结合,该算法是在对数时间中的平面定向图中支持多源的最短路径查询。 我们的算法可以调整以解决对替换路径本身感兴趣的问题的变体(而不是路径的长度)。路径查询(<i> h </i>),其中<i> h </i>是替换路径中的啤酒花数。边缘。
Let (<i>G</i> = (<i>V(G)</i>,<i>E(G)</i>)) be a directed graph with nonnegative edge lengths and let <i>P</i> be a shortest path from <i>s</i> to <i>t</i> in <i>G</i>. In the <i>replacement paths</i> problem we are required to compute for every edge <i>e</i> in <i>P</i>, the length of a shortest path from <i>s</i> to <i>t</i> that avoids <i>e</i>. The fastest known algorithm for solving the problem in weighted directed graphs is the trivial one: each edge in <i>P</i> is removed from the graph in its turn and the distance from <i>s</i> to <i>t</i> in the modified graph is computed. The running time of this algorithm is <i>O</i>(<i>m n</i> + <i>n</i><sup>2</sup> log <i>n</i>), where <i>n</i> = |<i>V(G)</i>| and <i>m</i> = |<i>E(G)</i>|. The replacement paths problem is strongly motivated by two different applications. First, the fastest algorithm to compute the <i>k simple shortest paths</i> from <i>s</i> to <i>t</i> in directed graphs [Yen 1971; Lawler 1972] repeatedly computes the replacement paths from <i>s</i> to <i>t</i>. Its running time is <i>O</i>(<i>kn</i> (<i>m</i> + <i>n</i> log <i>n</i>)). Second, the computation of <i>Vickrey pricing</i> of edges in distributed networks can be reduced to the replacement paths problem. An open question raised by Nisan and Ronen [2001] asks whether it is possible to compute the Vickrey pricing faster than the trivial algorithm described in the previous paragraph. In this article we present a near-linear time algorithm for computing replacement paths in weighted <i>planar</i> directed graphs. In particular, the algorithm computes the lengths of the replacement paths in <i>O</i> (<i>n</i> log<sup>3</sup> <i>n</i>) time (recall that in planar graphs <i>m</i> = <i>O</i> (<i>n</i>)). This result immediately improves the running time of the two applications mentioned before by almost a linear factor. Our algorithm is obtained by combining several new ideas with a data structure of Klein [2005] that supports multisource shortest paths queries in planar directed graphs in logarithmic time. Our algorithm can be adapted to address the variant of the problem in which one is interested in the replacement path itself (rather than the length of the path). In that case the algorithm is executed in a preprocessing stage constructing a data structure that supports replacement path queries in time Õ (<i>h</i>), where <i>h</i> is the number of hops in the replacement path. In addition, we can handle the variant in which vertices should be avoided instead of edges.