Abstract:We consider the following problem that we call the Shortest Two Disjoint Paths problem: given an undirected graph $G=(V,E)$ with edge weights $w:E \rightarrow \mathbb{R}$, two terminals $s$ and $t$ in $G$, find two internally vertex-disjoint paths between $s$ and $t$ with minimum total weight. As shown recently by Schlotter and Sebő (2022), this problem becomes NP-hard if edges can have negative weights, even if the weight function is conservative, there are no cycles in $G$ with negative total weight. We propose a polynomial-time algorithm that solves the Shortest Two Disjoint Paths problem for conservative weights in the case when the negative-weight edges form a constant number of trees in $G$.
What problem does this paper attempt to address?
The problem that this paper attempts to solve is: Given an undirected graph \(G=(V, E)\), an edge - weight function \(w: E\rightarrow\mathbb{R}\), and two terminal nodes \(s\) and \(t\), find two paths \(P_1\) and \(P_2\) whose internal vertices are disjoint (i.e., there are no other common vertices except the starting and ending points), such that the total weight of these two paths is minimized. In particular, when the edge - weight function \(w\) is conservative (i.e., there are no negative - weight cycles in the graph) and the negative - weight edges form a constant number of trees, this problem can be solved in polynomial time.
### Problem Background
Finding disjoint paths between given terminals is a fundamental problem in algorithmic graph theory and combinatorial optimization. This problem is not only theoretically important but also widely applied in fields such as transportation, VLSI design, and network routing. The classical disjoint - paths problem is, in an undirected graph \(G\), given \(k\) pairs of terminals \((s_i, t_i)\), the goal is to find \(k\) pairwise - vertex - disjoint paths \(P_1,\ldots, P_k\) such that each path \(P_i\) connects \(s_i\) and \(t_i\).
### Complexity of the Problem
- When \(k\) is part of the input, Karp [10] proved that this problem is NP - hard.
- Even on planar graphs, this problem is still NP - hard [13].
- Robertson and Seymour [14] proved that there exists an \(f(k)n^3\) algorithm to solve the disjoint - paths problem for \(k\) terminal pairs, where \(n\) is the number of vertices of graph \(G\) and \(f\) is some computable function. This is one of the most important achievements in graph minor theory.
### Shortest Disjoint - Paths Problem
In the shortest disjoint - paths problem, in addition to requiring the paths to be disjoint, the total length (in terms of the number of edges) of these paths also needs to be minimized. For a fixed \(k\), the complexity of this problem is one of the most important open problems in this field. In particular, when \(k = 2\), this problem was not solved until Björklund and Husfeldt [3] gave a randomized polynomial - time algorithm in 2019.
### Main Contributions of the Paper
The paper considers the following problem:
**Shortest Two Disjoint Paths**:
- **Input**: An undirected graph \(G=(V, E)\), a conservative weight function \(w: E\rightarrow\mathbb{R}\) on \(G\), and two vertices \(s\) and \(t\).
- **Task**: Find two paths \(P_1\) and \(P_2\) from \(s\) to \(t\) such that \(V(P_1)\cap V(P_2)=\{s, t\}\) and \(w(P_1)+w(P_2)\) is minimized.
Schlotter and Sebő [15] proved that even if the weight function is conservative (i.e., there are no negative - weight cycles in the graph) and the weight of each edge is in \(\{- 1,1\}\), this problem is still NP - hard. Therefore, the paper focuses on the case when the subgraph \(G[E^-]\) formed by negative - weight edges has only a few connected components. Specifically, if the number of trees formed by negative - weight edges is a constant \(c\), then this problem can be solved in polynomial time.
### Algorithm Overview
The paper proposes a polynomial - time algorithm. This algorithm first uses standard flow techniques to find a minimum - weight solution with a simple structure, that is, a solution in which no negative - weight tree is used by both paths simultaneously. For more complex solutions, that is, the case where at least one tree \(T\) is used by both paths simultaneously, the paper uses a recursive method to find two disjoint paths from \(s\) to \(T\) and from \(T\) to \(t\), and applies a dynamic - programming - based method to handle sub - paths in the solution that use negative - weight edges extensively.