The $k$-Detour problem is a basic path-finding problem: given a graph $G$ on $n$ vertices, with specified nodes $s$ and $t$, and a positive integer $k$, the goal is to determine if $G$ has an $st$-path of length exactly $\text{dist}(s, t) + k$, where $\text{dist}(s, t)$ is the length of a shortest path from $s$ to $t$. The $k$-Detour problem is NP-hard when $k$ is part of the input, so researchers have sought efficient parameterized algorithms for this task, running in $f(k)\text{poly}(n)$ time, for $f$ as slow-growing as possible. We present faster algorithms for $k$-Detour in undirected graphs, running in $1.853^k \text{poly}(n)$ randomized and $4.082^k \text{poly}(n)$ deterministic time. The previous fastest algorithms for this problem took $2.746^k \text{poly}(n)$ randomized and $6.523^k \text{poly}(n)$ deterministic time [Bez\'akov\'a-Curticapean-Dell-Fomin, ICALP 2017]. Our algorithms use the fact that detecting a path of a given length in an undirected graph is easier if we are promised that the path belongs to what we call a "bipartitioned" subgraph, where the nodes are split into two parts and the path must satisfy constraints on those parts. Previously, this idea was used to obtain the fastest known algorithm for finding paths of length $k$ in undirected graphs [Bj\"orklund-Husfeldt-Kaski-Koivisto, JCSS 2017]. Our work has direct implications for the $k$-Longest Detour problem: in this problem, we are given the same input as in $k$-Detour, but are now tasked with determining if $G$ has an $st$-path of length at least $\text{dist}(s, t) + k.$ Our results for k-Detour imply that we can solve $k$-Longest Detour in $3.432^k \text{poly}(n)$ randomized and $16.661^k \text{poly}(n)$ deterministic time. The previous fastest algorithms for this problem took $7.539^k \text{poly}(n)$ randomized and $42.549^k \text{poly}(n)$ deterministic time [Fomin et al., STACS 2022].
翻译:$k$-绕道路径问题是一个基本的路径查找问题:给定一个包含$n$个顶点的图$G$、指定节点$s$和$t$以及正整数$k$,目标在于确定$G$是否存在一条长度为$\text{dist}(s, t) + k$的$st$-路径,其中$\text{dist}(s, t)$是$s$到$t$的最短路径长度。当$k$作为输入的一部分时,$k$-绕道路径问题是NP难的,因此研究者们寻求针对该任务的高效参数化算法,其运行时间为$f(k)\text{poly}(n)$,其中$f$的增长速度尽可能缓慢。本文针对无向图中的$k$-绕道路径问题提出了更快的算法,随机化运行时间为$1.853^k \text{poly}(n)$,确定性运行时间为$4.082^k \text{poly}(n)$。该问题此前最快的算法随机化时间为$2.746^k \text{poly}(n)$,确定性时间为$6.523^k \text{poly}(n)$ [Bezáková-Curticapean-Dell-Fomin, ICALP 2017]。我们的算法利用了一个事实:如果保证路径属于我们称之为"二分划"的子图(其中节点被分为两部分,且路径需满足这些部分的约束),则在无向图中检测给定长度的路径更为容易。此前,这一思想被用于获得无向图中长度为$k$的路径查找的最快已知算法 [Björklund-Husfeldt-Kaski-Koivisto, JCSS 2017]。我们的工作对$k$-最长绕道路径问题具有直接意义:在该问题中,输入与$k$-绕道路径问题相同,但任务变为确定$G$是否存在一条长度至少为$\text{dist}(s, t) + k$的$st$-路径。我们关于$k$-绕道路径的结果表明,可以在随机化时间$3.432^k \text{poly}(n)$和确定性时间$16.661^k \text{poly}(n)$内解决$k$-最长绕道路径问题。该问题此前最快的算法随机化时间为$7.539^k \text{poly}(n)$,确定性时间为$42.549^k \text{poly}(n)$ [Fomin et al., STACS 2022]。