Fast Polynomial-Space Algorithms Using Möbius Inversion: Improving on Steiner Tree and Related Problems

Fast Polynomial-Space Algorithms Using Möbius Inversion: Improving on Steiner Tree and Related Problems
复制标题

使用莫比乌斯反演的快速多项式空间算法:斯坦纳树及相关问题的改进

DOI:
10.1007/978-3-642-02927-1_59
复制
发表时间:
2009
期刊:
Food Science
影响因子:
--
通讯作者:
Jesper Nederlof
Jesper Nederlof
中科院分区:
--
文献类型:
--
作者:
Jesper Nederlof

文献摘要

被引文献

相似文献

给定带有n个顶点,k端子和有界整数的图形的图形,我们在$ {\ Mathcal {o}^*}(2^k)$ time和多项式空间中计算了最小施泰纳树,其中$ {\ Mathcal {o}^*} $ note法省略了poly(n,k)因子。我们的结果还包括多项式空间$ \ MATHCAL {o}^*(2^n)$ {\ Mathcal {np}} $ - 完整的跨越树和分区问题。 这些问题的先前已知算法最快的算法使用子集之间的动态编程技术,并且需要指数空间。我们介绍了分支步行的概念,并扩展了用于计算汉密尔顿路径的KARP的包容性排斥算法。此外,我们表明我们的算法也可以通过在用于动态编程算法的复发上应用Mobius倒置来获得。
Given a graph with n vertices, k terminals and bounded integer weights on the edges, we compute the minimum Steiner Tree in ${\mathcal{O}^*}(2^k)$ time and polynomial space, where the ${\mathcal{O}^*}$ notation omits poly (n ,k ) factors. Among our results are also polynomial-space $\mathcal{O}^*(2^n)$ algorithms for several ${\mathcal{NP}}$-complete spanning tree and partition problems. The previous fastest known algorithms for these problems use the technique of dynamic programming among subsets, and require exponential space. We introduce the concept of branching walks and extend the Inclusion-Exclusion algorithm of Karp for counting Hamiltonian paths. Moreover, we show that our algorithms can also be obtained by applying Mobius inversion on the recurrences used for the dynamic programming algorithms.