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.


翻译:Gomory-Hu树(或称割树)是一种经典数据结构,用于存储无向加权图中所有节点对$(s,t)$的最小$s$-$t$割。本文提出一种基于归约至{\tt OrderedCuts}问题的割树计算新方法。给定节点序列$s,v_1,\ldots,v_\ell$,该方法旨在计算所有$i\in[\ell]$对应的最小$\{s,v_1,\ldots,v_{i-1}\}$-$v_i$割。我们证明通过$\tilde O(1)$次{\tt OrderedCuts}调用即可计算割树。同时针对{\tt OrderedCuts}问题建立了若干具有独立价值的新结论:首先,我们证明所有$\ell$个割可以紧凑地存储于称为{\em {\tt OC}树}的数据结构中,其空间复杂度为$O(n)$;其次,我们提出了支持分治算法计算OC树的理论结果;最后,我们描述了基于{\tt OrderedCuts}的实用实现,并通过实验与两种经典Gomory-Hu树算法的现有实现及我们自行实现的算法进行对比。实验结果表明基于{\tt OrderedCuts}的方法具有最优鲁棒性:在多数问题族上其性能超越其他算法1-2个数量级,且从未出现显著性能下降。我们的实现已公开于https://pub.ist.ac.at/~vnk/software.html。

0
下载
关闭预览

相关内容

在数学和计算机科学之中,算法(Algorithm)为一个计算的具体步骤,常用于计算、数据处理和自动推理。精确而言,算法是一个表示为有限长列表的有效方法。算法应包含清晰定义的指令用于计算函数。 来自维基百科: 算法
新书介绍 | 图算法指南,A Guide to Graph Algorithms
专知会员服务
57+阅读 · 2022年3月2日
最全综述 | 图像分割算法
计算机视觉life
14+阅读 · 2019年6月20日
面试题:请简要介绍下tensorflow的计算图
七月在线实验室
14+阅读 · 2019年6月10日
手把手 | 基于TextRank算法的文本摘要(附Python代码)
大数据文摘
11+阅读 · 2018年12月27日
R语言之数据分析高级方法「时间序列」
R语言中文社区
17+阅读 · 2018年4月24日
最新|深度离散哈希算法,可用于图像检索!
全球人工智能
14+阅读 · 2017年12月15日
并行算法演进,从MapReduce到MPI
凡人机器学习
10+阅读 · 2017年11月5日
国家自然科学基金
0+阅读 · 2017年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
VIP会员
相关VIP内容
新书介绍 | 图算法指南,A Guide to Graph Algorithms
专知会员服务
57+阅读 · 2022年3月2日
相关资讯
最全综述 | 图像分割算法
计算机视觉life
14+阅读 · 2019年6月20日
面试题:请简要介绍下tensorflow的计算图
七月在线实验室
14+阅读 · 2019年6月10日
手把手 | 基于TextRank算法的文本摘要(附Python代码)
大数据文摘
11+阅读 · 2018年12月27日
R语言之数据分析高级方法「时间序列」
R语言中文社区
17+阅读 · 2018年4月24日
最新|深度离散哈希算法,可用于图像检索!
全球人工智能
14+阅读 · 2017年12月15日
并行算法演进,从MapReduce到MPI
凡人机器学习
10+阅读 · 2017年11月5日
相关基金
国家自然科学基金
0+阅读 · 2017年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员