【问题标题】:Spanning Trees with minimum number of leaves具有最少叶子的生成树
【发布时间】:2017-01-16 21:29:37
【问题描述】:

所以我的问题如下:

我有一个无向(完整)加权图 G=(V,E),我想生成所有可能的生成树叶数最少,即顶点数最少度数为 1。我们称这种树为 MIN_LEAF。

可能,我想直接生成,在所有树叶数量最少的树中,也有最小总重量(请注意,这是不一定是最小生成树)。 确定树 T 是否是给定图 G NP 完全的 MIN_LEAF 的问题?

如果是这样,我想知道是否存在某种启发式算法(贪婪或局部搜索),它至少可以为这个问题提供一个近似的解决方案。

提前致谢。

【问题讨论】:

    标签: data-structures graph tree np spanning-tree


    【解决方案1】:

    您描述的第一个问题 - 找到尽可能少的叶子的生成树 - 是 NP-hard。您可以通过将哈密顿路径问题简化为这个问题来看到这一点:注意哈密顿路径是图的生成树,并且只有两个叶节点,并且恰好具有两个叶节点的图的任何生成树都必须是哈密顿量小路。这意味着确定图中是否存在哈密顿路径的NP难题可以通过找到图的最小叶生成树来解决:路径存在当且仅当最小-叶生成树正好有两片叶子。您描述的第二个问题包含第一个问题作为特例,因此也将是 NP-hard。

    通过 Google 快速搜索找到了论文 "On finding spanning trees with few leaves",这似乎是近似算法(它们对任意图有 2 次近似)和进一步阅读该主题的一个很好的起点。

    【讨论】:

    • 谢谢。只是想补充一点,问题的决策版本是 NP 完全的:给定一个整数 k>=2,表示生成树、图 G 和候选解树 T 中允许的最大叶子数,检查起来很简单如果 T 是 G 的生成树,其叶数小于或等于 k,则在多项式时间内。
    • @user7427473 绝对是。正如原始问题中所描述的那样,您没有那一点,这就是为什么我提到 NP-硬度而不是完整性。
    猜你喜欢
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-24
    • 2012-08-30
    • 2016-12-24
    • 2023-03-14
    • 1970-01-01
    相关资源
    最近更新 更多