Abstract
AbstractOur work concerns algorithms for a variant of in unweighted graphs. In the problem, we are given a graph G on n vertices and m edges, and are tasked with computing the maximum number of edge-disjoint paths from s to t (equivalently, the size of a minimum (s, t)-cut) in G, for all pairs of vertices (s, t). Significant algorithmic breakthroughs have recently shown that over undirected graphs, can be solved in $$n^{2+o(1)}$$
n
2
+
o
(
1
)
time, which is essentially optimal. In contrast, the true time complexity of over directed graphs remains open: this problem can be solved in $${\tilde{O}}(m^\omega )$$
O
~
(
m
ω
)
time, where $$\omega \in [2, 2.373)$$
ω
∈
[
2
,
2.373
)
is the exponent of matrix multiplication, but no matching conditional lower bound is known. Following [Abboud et al. In: 46th International colloquium on automata, languages, and programming, ICALP 2019, July 9-12, 2019, Patras, Greece, Schloss Dagstuhl-Leibniz-Zentrum für Informatik, 2019], we study a bounded version of $${{\textsf {APC}}}$$
APC
called the k- (k- problem. In this variant of , we are given an integer k in addition to the graph G, and are now tasked with reporting the size of a minimum (s, t)-cut only for pairs (s, t) of vertices with min-cut value less than k (if the minimum (s, t)-cut has size at least k, we can just report it is “large” instead of computing the exact value). Our main result is an $${\tilde{O}}((kn)^\omega )$$
O
~
(
(
k
n
)
ω
)
time algorithm solving k- in directed graphs. This is the first algorithm which solves k- faster than simply solving the more general problem exactly, for all $$k\ge 3$$
k
≥
3
. This runtime is $${{\tilde{O}}}(n^\omega )$$
O
~
(
n
ω
)
for all $$k\le {{\,\textrm{poly}\,}}(\log n)$$
k
≤
poly
(
log
n
)
, which essentially matches the optimal runtime for the $$k=1$$
k
=
1
case of k-, under popular conjectures from fine-grained complexity. Previously, this runtime was only achieved for $$k\le 2$$
k
≤
2
in general directed graphs [Georgiadis et al. In: 44th international colloquium on automata, languages, and programming (ICALP 2017), volume 80 of Leibniz International Proceedings in Informatics (LIPIcs), Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 2017], and for $$k\le o(\sqrt{\log n})$$
k
≤
o
(
log
n
)
in the special case of directed acyclic graphs [Abboud et al. In: 46th international colloquium on automata, languages, and programming, ICALP 2019, July 9–12, 2019, Patras, Greece, Schloss Dagstuhl-Leibniz-Zentrum für Informatik, 2019]. Our result employs the same algebraic framework used in previous work, introduced by [Cheung et al. In: FOCS, 2011]. A direct implementation of this framework involves inverting a large random matrix. Our new algorithm is based off the insight that for solving k-, it suffices to invert a low-rank random matrix instead of a generic random matrix. We also obtain a new algorithm for a variant of k-, the k- (k-) problem, where we are now tasked with reporting, for every pair of vertices (s, t), the maximum number of internally vertex-disjoint (rather than edge-disjoint) paths from s to t if this number is less than k, and otherwise reporting that there are at least k internally vertex-disjoint paths from s to t. Our second result is an $${\tilde{O}}(k^2n^\omega )$$
O
~
(
k
2
n
ω
)
time algorithm solving k- in directed graphs. Previous work showed how to solve an easier version of the k- problem (where answers only need to be returned for pairs of vertices (s, t) which are not edges in the graph) in $${{\tilde{O}}}((kn)^\omega )$$
O
~
(
(
k
n
)
ω
)
time [Abboud et al. In: 46th International colloquium on automata, languages, and programming, ICALP 2019, July 9–12, 2019, Patras, Greece, Schloss Dagstuhl-Leibniz-Zentrum für Informatik, 2019]. In comparison, our algorithm solves the full k- problem, and is faster if $$\omega > 2$$
ω
>
2
.
Funder
Massachusetts Institute of Technology
Publisher
Springer Science and Business Media LLC