最小生成图 - 负权重和正权重

时间:2013-11-11 06:21:06

标签: algorithm graph minimum-spanning-tree

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

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

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

如果我是对还是错,请帮助我。

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

3 个答案:

答案 0 :(得分:0)

如果您有负权重,则无法保证最小生成子图是树。考虑3个顶点的完整图表,所有边都重-1。

编辑稍微误解了您的问题:

如果您有负重:它可能不是树

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

所有权重均为正(> 0):这是一棵树。

答案 1 :(得分:0)

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

最小生成图(MSG):连接图G的所有连接组件中的所有节点,从而降低总体成本。

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

e.g。图G为三角形,每条边的成本为1。 MSG将通过2个边连接3个顶点。这与使用Kruskal,Prim或Boruvka算法计算G得到的MSF相同。

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

e.g。图G为三角形,每条边的成本为-1。 MSG将利用每一个优势,因为它将降低总体成本。因此你会得到一个循环。根据定义,树木或森林不包含周期。 由于积极成本,您将永远无法在MSG中获得循环,因为添加边缘会产生循环,这将总是会增加MSG的总体成本。 用Kruskal,Prim或Boruvka计算G将返回无国界医生。

答案 2 :(得分:-1)

一些事实应该足以回答你的问题:

  1. 如果T是连接所有顶点的边的子集,则T不是 必然是一棵树。
  2. 如果T是连接所有边的边的子集 顶点和T最小化权重之和,然后我们知道:
    • T不一定是唯一的。
    • T始终包含形成树的边的子集。 ( “连通”)
    • 如果所有权重都是严格正数,则T是树。 ( “极小”)
  3. 使用最小权重总和找到一些T就像找到MST一样简单:
    • 找一些MST(例如使用Kruskal或Prim的算法)。
    • 添加负重的所有边缘。
  4. 最小化权重的子集T的一个简单例子是图G =(V,E),其中所有边的权重为-1,则T为E.