Table of Contents
Fetching ...

OrderedCuts: A new approach for computing Gomory-Hu tree

Vladimir Kolmogorov

TL;DR

The results suggest that the {\tt OrderedCuts}-based approach is the most robust: on many family of problems it outperforms other algorithms by 1-2 orders of magnitude, and is never slower by more than a small factor.

Abstract

The Gomory-Hu tree, or a cut tree, is a classic data structure that stores minimum $s$-$t$ cuts of an undirected weighted graph for all pairs of nodes $(s,t)$. We propose a new approach for computing the cut tree based on a reduction to the problem that we call {\tt OrderedCuts}. Given a sequence of nodes $s,v_1,\ldots,v_\ell$, its goal is to compute minimum $\{s,v_1,\ldots,v_{i-1}\}$-$v_i$ cuts for all $i\in[\ell]$. We show that the cut tree can be computed by $\tilde O(1)$ calls to {\tt OrderedCuts}. We also establish new results for {\tt OrderedCuts} that may be of independent interest. First, we prove that all $\ell$ cuts can be stored compactly with $O(n)$ space in a data structure that we call an {\em {\tt OC} tree}. Second, we prove results that allow divide-and-conquer algorithms for computing OC tree. Finally, we describe a practical implementation based on {\tt OrderedCuts}, and compare it experimentally with two existing implementations of the classical Gomory-Hu tree algorithm as well as with our implementations. The results suggest that the {\tt OrderedCuts}-based approach is the most robust: on many family of problems it outperforms other algorithms by 1-2 orders of magnitude, and is never slower by more than a small factor. Our implementation is publicly available at https://pub.ist.ac.at/~vnk/software.html.

OrderedCuts: A new approach for computing Gomory-Hu tree

TL;DR

The results suggest that the {\tt OrderedCuts}-based approach is the most robust: on many family of problems it outperforms other algorithms by 1-2 orders of magnitude, and is never slower by more than a small factor.

Abstract

The Gomory-Hu tree, or a cut tree, is a classic data structure that stores minimum - cuts of an undirected weighted graph for all pairs of nodes . We propose a new approach for computing the cut tree based on a reduction to the problem that we call {\tt OrderedCuts}. Given a sequence of nodes , its goal is to compute minimum - cuts for all . We show that the cut tree can be computed by calls to {\tt OrderedCuts}. We also establish new results for {\tt OrderedCuts} that may be of independent interest. First, we prove that all cuts can be stored compactly with space in a data structure that we call an {\em {\tt OC} tree}. Second, we prove results that allow divide-and-conquer algorithms for computing OC tree. Finally, we describe a practical implementation based on {\tt OrderedCuts}, and compare it experimentally with two existing implementations of the classical Gomory-Hu tree algorithm as well as with our implementations. The results suggest that the {\tt OrderedCuts}-based approach is the most robust: on many family of problems it outperforms other algorithms by 1-2 orders of magnitude, and is never slower by more than a small factor. Our implementation is publicly available at https://pub.ist.ac.at/~vnk/software.html.
Paper Structure (28 sections, 40 theorems, 7 equations, 3 figures, 23 tables, 16 algorithms)

This paper contains 28 sections, 40 theorems, 7 equations, 3 figures, 23 tables, 16 algorithms.

Key Result

Theorem 1

There exists a randomized (Las-Vegas) algorithm for computing GH tree for graph $G$ with expected complexity $\tilde{O}(1)\cdot (t_{\tt OC}(n,m) + t_{\tt MC}(n,m))$, where $t_{\tt OC}(n,m)$ and $t_{\tt MC}(n,m)$ are the complexities of ${\tt OrderedCuts}(\cdot)$ and minimum $s$-$t$ cut computations

Figures (3)

  • Figure 1: Example OC tree for sequence $\varphi=sv_1v_2v_3v_4$. Black and white circles are nodes in $\varphi$ and in $V-\varphi$, respectively. A valid OC tree encodes all cuts in the definition of the strong OrderedCuts problem; for example, set $[v_1]^\downarrow=[v_1]\cup [v_2]\cup [v_4]$ is a minimum $s$-$v_1$ cut, and set $[v_3]^\downarrow=[v_3]$ is a minimum $\{s,v_1,v_2\}$-$v_3$ cut.
  • Figure 2: Illustration of Lemma \ref{['lemma:divide-and-conquer:one']} with $\alpha=sv_1v_2$ and $\varphi=sv_1v_2 v_3v_4$. Thick solid circles in three graphs in the middle represent contracted nodes, e.g. $v_1$ in $G[B;v_1]$ corresponds to subset $\{v_1\}\cup A\cup C$ in $G$. Here we denoted $A=[s]^\circ$, $B=[v_1]^\circ$, $C=[v_2]^\circ$.
  • Figure 3: Illustration of Lemma \ref{['lemma:divide-and-conquer:two']} with $\alpha=v_1v_2$ and $\varphi=sv_1v_2 v_3v_4v_5$.

Theorems & Definitions (67)

  • Theorem 1
  • Theorem 2
  • Lemma 3: Goldberg:01
  • proof
  • Definition 4
  • Lemma 5
  • Corollary 6
  • proof
  • Lemma 7
  • Lemma 8
  • ...and 57 more