Abstract

A cycle cover of a bridgeless graph $G$ is a collection of simple cycles in $G$ such that each edge $e$ appears on at least one cycle. The common objective in cycle cover computation is to minimize the total lengths of all cycles. Motivated by applications to distributed computation, we introduce the notion of \emph{low-congestion} cycle covers, in which all cycles in the cycle collection are both \emph{short} and nearly \emph{edge-disjoint}. Formally, a $(d,c)$-cycle cover of a graph $G$ is a collection of cycles in $G$ in which each cycle is of length at most $d$ and each edge participates in at least one cycle and at most $c$ cycles. A-priori, it is not clear that cycle covers that enjoy both a small overlap and a short cycle length even exist, nor if it is possible to efficiently find them. Perhaps quite surprisingly, we prove the following: Every bridgeless graph of diameter $D$ admits a $(d,c)$-cycle cover where $d = \tilde{O}(D)$ and $c=\tilde{O}(1)$. These parameters are existentially tight up to polylogarithmic terms. Furthermore, we show how to extend our result to achieve universally optimal cycle covers. Let $C_e$ is the length of the shortest cycle that covers $e$, and let $OPT(G)= \max_{e \in G} C_e$. We show that every bridgeless graph admits a $(d,c)$-cycle cover where $d = \tilde{O}(OPT(G))$ and $c=\tilde{O}(1)$. We demonstrate the usefulness of low congestion cycle covers in different settings of resilient computation. For instance, we consider a Byzantine fault model where in each round, the adversary chooses a single message and corrupt in an arbitrarily manner. We provide a compiler that turns any $r$-round distributed algorithm for a graph $G$ with diameter $D$, into an equivalent fault tolerant algorithm with $r\cdot poly(D)$ rounds.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call