Replacement Paths and Distance Sensitivity Oracles via Fast Matrix Multiplication
Replacement Paths and Distance Sensitivity Oracles via Fast Matrix Multiplication
复制标题
通过快速矩阵乘法替换路径和距离敏感度预言
DOI:
--
复制
发表时间:
2013
期刊:
影响因子:
--
通讯作者:
R. Yuster
中科院分区:
文献类型:
--
作者:
Oren Weimann;R. Yuster
A <i>distance sensitivity oracle</i> of an <i>n</i>-vertex graph <i>G</i> = (<i>V</i>,<i>E</i>) is a data structure that can report shortest paths when edges of the graph fail. A query (<i>u</i> ∈ <i>V</i>, <i>v</i> ∈ <i>V</i>, <i>S</i> ⊆ <i>E</i>) to this oracle returns a shortest <i>u</i>-to-<i>v</i> path in the graph <i>G</i><sup>′</sup> = (<i>V</i>,<i>E</i> ∖ <i>S</i>). We present randomized (Monte Carlo) algorithms for constructing a distance sensitivity oracle of size <i>Õ</i>(<i>n</i><sup>3−α</sup>) for |<i>S</i>| = <i>O</i>(lg <i>n</i>/lg lg <i>n</i>) and any choice of 0 < <i>α</i> < 1. For real edge-lengths, the oracle is constructed in <i>O</i>(<i>n</i><sup>4−α</sup>) time and a query to this oracle takes <i>Õ</i>(<i>n</i><sup>2−2(1−α)/|S|</sup>) time. For integral edge-lengths in {−<i>M</i>,..., <i>M</i>}, using the current <i>ω</i> < 2.376 matrix multiplication exponent, the oracle is constructed in <i>O</i>(<i>Mn</i><sup>3.376−α</sup>) time with <i>Õ</i>(<i>n</i><sup>2−(1−α)/|S|</sup>) query, or alternatively in <i>O</i>(<i>M</i><sup>0.681</sup><i>n</i><sup>3.575−α</sup>) time with <i>Õ</i>(<i>n</i><sup>2−2(1−α)/|S|</sup>) query.
Distance sensitivity oracles generalize the <i>replacement paths</i> problem in which <i>u</i> and <i>v</i> are known in advance and |<i>S</i>| = 1. In other words, if <i>P</i> is a shortest path from <i>u</i> to <i>v</i> in <i>G</i>, then the replacement paths problem asks to compute, for every edge <i>e</i> on <i>P</i>, a shortest <i>u</i>-to-<i>v</i> path that avoids <i>e</i>. Our new technique for constructing distance sensitivity oracles using fast matrix multiplication also yields the first subcubic-time algorithm for the replacement paths problem when the edge-lengths are small integers. In particular, it yields a randomized (Monte Carlo) <i>Õ</i>(<i>Mn</i><sup>2.376</sup> + <i>M</i><sup>2 3</sup> <i>n</i><sup>2.584</sup>)-time algorithm for the replacement paths problem assuming <i>M</i> ≤ <i>n</i><sup>0.624</sup>.
Finally, we mention that both our replacement paths algorithm and our distance sensitivity oracle can be made to work, in the same time and space bounds, for the case of failed vertices rather than edges, that is, when <i>S</i> is a set of vertices and we seek a shortest <i>u</i>-to-<i>v</i> path in the graph obtained from <i>G</i> by removing all vertices in <i>S</i> and their adjacent edges.