Our input is a directed graph $G = (V,E)$ on $n$ vertices and $m$ edges with a designated root vertex $r$ and a function $cost: E \rightarrow \mathbb{R}_{\geq 0}$. The problem is to maintain a min-cost arborescence in $G$ in the presence of edge faults (a single fault at a time). Edge faults are transient and once the faulty edge is repaired, the original min-cost arborescence $\mathcal{T}$ is restored. Whenever an edge fault happens, we need to update $\mathcal{T}$ to a min-cost arborescence in $G-f$, where $f$ is the faulty edge. Since computing a min-cost arborescence in $G - f$ takes $O(m + n\log n)$ time, we seek to construct a sparse subgraph $H$ in a preprocessing step such that in the event of any edge $f$ failing, it suffices to compute a min-cost arborescence in $H - f$ in order to find a low-cost arborescence in $G - f$. In the unweighted setting, this is the fault-tolerant subgraph problem for single-source {\em reachability}. Baswana, Choudhary, and Roditty (SICOMP, 2018) showed a $k$-fault tolerant reachability subgraph of size $O(2^kn)$, where $k$ is the number of edge faults. We show a simple polynomial-time algorithm to construct a subgraph $H$ of size $O(n^{3/2})$ such that, for any $f \in E$, a min-cost arborescence in $H-f$ is a 2-approximation of a min-cost arborescence in $G-f$. Thus whenever an edge fault happens, we can find a 2-approximate min-cost arborescence in $G-f$ in $O(n^{3/2})$ time. Our second problem is in the matroid setting. The input is a matroid $M = (E, {\cal I})$ with a function $cost: E \rightarrow \mathbb{R}$. The problem is to compute a sparse $S \subseteq E$ (called a $k$-fault tolerant preserver) such that for any $F \subseteq E$ with $|F| \le k$, the matroid $M|(S\setminus F)$ contains a min-cost basis of $M|(E\setminus F)$. We show a tight bound of $k.rank(E)$ on the size of a $k$-fault tolerant preserver.
翻译:输入为一个有向图 $G = (V,E)$,包含 $n$ 个顶点和 $m$ 条边,指定根顶点 $r$ 和代价函数 $cost: E \rightarrow \mathbb{R}_{\geq 0}$。问题在于维护 $G$ 中在边故障(每次单一故障)下的最小费用有向树。边故障是瞬态的,一旦故障边修复,原始最小费用有向树 $\mathcal{T}$ 即恢复。当发生边故障时,需要将 $\mathcal{T}$ 更新为 $G-f$ 中的最小费用有向树,其中 $f$ 为故障边。由于在 $G - f$ 中计算最小费用有向树需要 $O(m + n\log n)$ 时间,我们旨在预处理阶段构建一个稀疏子图 $H$,使得当任意边 $f$ 故障时,只需在 $H - f$ 中计算最小费用有向树,即可找到 $G-f$ 中的低代价有向树。在无权重场景下,这对应于单源{\em可达性}的容错子图问题。Baswana、Choudhary 和 Roditty (SICOMP, 2018) 证明了规模为 $O(2^kn)$ 的 $k$ 边故障可达性子图,其中 $k$ 为边故障数。我们提出一个简单的多项式时间算法,构造规模为 $O(n^{3/2})$ 的子图 $H$,使得对于任意 $f \in E$,$H-f$ 中的最小费用有向树是 $G-f$ 中最小费用有向树的 2-近似。因此,当发生边故障时,可在 $O(n^{3/2})$ 时间内找到 $G-f$ 中 2-近似的最小费用有向树。第二个问题涉及拟阵场景。输入为一个拟阵 $M = (E, {\cal I})$ 及代价函数 $cost: E \rightarrow \mathbb{R}$。问题在于计算稀疏子集 $S \subseteq E$(称为 $k$ 边故障保持器),使得对于任意 $F \subseteq E$ 且 $|F| \le k$,拟阵 $M|(S\setminus F)$ 包含 $M|(E\setminus F)$ 的最小代价基。我们证明 $k$ 边故障保持器规模的下界紧为 $k.rank(E)$。