【问题标题】:Minimum Spanning Graph - Negative and Positive Weights最小跨度图 - 负权重和正权重
【发布时间】:2013-11-11 06:21:06
【问题描述】:

我无法理解 MST 是否是一棵树。

假设给定一个图 G = (V, E),连接 V 中所有顶点且总权重最小的边 T ⊆ E 的任何子集必须是一棵树,或者它可以是某个其他子图 - 一些边可能有负权重。 - 所有边的权重为正。

我在想,对于某些可能具有负权重的边,它必须是一棵树,而对于所有边都具有正权重的边,它可以是其他一些子图。

如果我是对的或错的,请帮助我。

如果它必须是一棵树,你能解释一下连通性和极简性之间的矛盾吗?但是,如果您认为它可能是其他子图,那么您能否向我展示一个可能不是树的连通图的权重较低的示例。

【问题讨论】:

    标签: algorithm graph minimum-spanning-tree


    【解决方案1】:

    如果您有负权重,则不能保证最小跨度子图 是一棵树。考虑一个包含 3 个顶点且所有边权重为 -1 的完整图。

    编辑有点误解你的问题:

    如果你有负权重:它可能不是一棵树

    所有权重都是非负数 (>=0):存在最小生成树,但可能还有另一个它不是树并且具有相同的权重总和。

    所有权重都是正数 (>0):它是一棵树。

    【讨论】:

      【解决方案2】:

      最小生成树/森林 (MST/F) 和最小生成图 (MSG) 之间存在差异。

      最小跨度图 (MSG):连接图 G 的所有连接组件中的所有节点,从而使总成本最小。

      对于非负成本,MSF 等于 MSG。

      例如图 G 是一个三角形,每条边的成本为 1。 MSG 将连接 2 条边上的 3 个顶点。这与使用 Kruskal、Prim 或 Boruvka 算法计算 G 得到的 MSF 相同。

      对于负成本,MSF 可能不等于相应的 MSG,而且 MSG 并不总是 MSF。

      例如图 G 是一个三角形,每条边的成本为 -1。 MSG 将使用每一个优势,因为它会降低整体成本。因此,您将获得一个循环。根据定义,一棵树或森林不包含循环。 使用正成本,您将永远不会在 MSG 中获得循环,因为添加产生循环的边总是会增加 MSG 的总成本。 用 Kruskal、Prim 或 Boruvka 计算 G 将返回一个 MSF。

      【讨论】:

        【解决方案3】:

        一些事实足以回答您的问题:

        1. 如果 T 是连接所有顶点的边的子集,则 T 不是 一定是一棵树。
        2. 如果 T 是连接所有边的子集 顶点,并且 T 最小化权重之和,那么我们知道:
          • T 不一定是唯一的。
          • T 始终包含形成树的边的子集。 (“连通性”)
          • 如果所有权重都严格为正,则 T 是一棵树。 (“极简”)
        3. 找到一些权重总和最小的 T 就像找到一个 MST 一样容易:
          • 找到一些 MST(例如使用 Kruskal 或 Prim 算法)。
          • 添加所有具有负权重的边。

        最小化权重的子集 T 的一个简单示例是图 G=(V,E),其中所有边的权重为 -1,然后 T 为 E。

        【讨论】:

          猜你喜欢
          • 2017-08-16
          • 1970-01-01
          • 1970-01-01
          • 2022-10-04
          • 2016-02-23
          • 2017-04-12
          • 2016-07-13
          • 2012-05-11
          • 2023-03-11
          相关资源
          最近更新 更多