Algorithm 一个图可能有多个最小生成树

Algorithm 一个图可能有多个最小生成树,algorithm,graph,graph-algorithm,minimum-spanning-tree,Algorithm,Graph,Graph Algorithm,Minimum Spanning Tree,设G=(V,E)是一个无向图,其所有边都具有唯一的权重。是真的吗 G有一个唯一的MST吗?或者G也可以有多个MST?根据MST的定义(来源:)- 最小生成树(MST)或最小权值生成树是一个连通的、边加权的无向图的边的子集,它将所有顶点连接在一起,没有任何圈,并且具有最小可能的总边权值 目标是覆盖所有顶点,同时拥有最低的边权重和。而且,生成树(ST)是一棵树,因此没有循环- 在上图中,橙色树是STs,但只有顶部的树可以是MST(边权重和为7) 编辑 矛盾证明: 设图为具有唯一边权的无向图。设和

设G=(V,E)是一个无向图,其所有边都具有唯一的权重。是真的吗
G有一个唯一的MST吗?或者G也可以有多个MST?

根据MST的定义(来源:)-

最小生成树(MST)或最小权值生成树是一个连通的、边加权的无向图的边的子集,它将所有顶点连接在一起,没有任何圈,并且具有最小可能的总边权值

目标是覆盖所有顶点,同时拥有最低的边权重和。而且,生成树(ST)是一棵树,因此没有循环-

在上图中,橙色树是STs,但只有顶部的树可以是MST(边权重和为7)


编辑

矛盾证明:

设图为具有唯一边权的无向图。设和为图的两棵不同的最小生成树

让重量最低的边出现在中,但不在中。同样地,让我们成为边缘,但不是边缘

现在,由于边权重是唯一的,没有失去一般性,让我们来看看

此外,如果我们加上,一个循环将形成与。要删除循环,让我们从中删除边。因此,我们有一个生成树

这个ST,现在总重量小于;但是,这是一个矛盾,因为,已经是MST了


因此,我们假设,有两个MST开始是错误的。根据MST的定义,证据到此结束。

(来源:)-

最小生成树(MST)或最小权值生成树是一个连通的、边加权的无向图的边的子集,它将所有顶点连接在一起,没有任何圈,并且具有最小可能的总边权值

目标是覆盖所有顶点,同时拥有最低的边权重和。而且,生成树(ST)是一棵树,因此没有循环-

在上图中,橙色树是STs,但只有顶部的树可以是MST(边权重和为7)


编辑

矛盾证明:

设图为具有唯一边权的无向图。设和为图的两棵不同的最小生成树

让重量最低的边出现在中,但不在中。同样地,让我们成为边缘,但不是边缘

现在,由于边权重是唯一的,没有失去一般性,让我们来看看

此外,如果我们加上,一个循环将形成与。要删除循环,让我们从中删除边。因此,我们有一个生成树

这个ST,现在总重量小于;但是,这是一个矛盾,因为,已经是MST了


因此,我们假设,有两个MST开始是错误的。证据到此结束。

答案可能是
;多个STs是可能的(取决于图表),但是,如果每条边都有一个
唯一的权重
,则只能有一个MST。@anurag您能进一步说明吗?还有其他不可能的原因吗?@anurag:我认为权重唯一性还不够。@YvesDaoust我目前无法想象当边具有唯一权重时可以生成多个MST的情况
Prim
Kruskal
算法只有在不存在唯一性约束的情况下才能生成不同的mst!MST是独一无二的,这里已经回答了这个问题:答案可能是
;多个STs是可能的(取决于图表),但是,如果每条边都有一个
唯一的权重
,则只能有一个MST。@anurag您能进一步说明吗?还有其他不可能的原因吗?@anurag:我认为权重唯一性还不够。@YvesDaoust我目前无法想象当边具有唯一权重时可以生成多个MST的情况
Prim
Kruskal
算法只有在不存在唯一性约束的情况下才能生成不同的mst!MST是独一无二的,问题已经在这里得到了回答:如果我错了,一定要让我知道!您只展示了一个示例,但问题是关于所有具有唯一权重的无向加权图。@MoB。为了证明任何概念是错误的,我们只需要一个反例。我明白,我的答案不是这样的,但是,这只是一个例子。MST的标准算法是Prim和Kruskal;而且它们没有唯一的边权重约束。如果我错了,一定要告诉我!您只展示了一个示例,但问题是关于所有具有唯一权重的无向加权图。@MoB。为了证明任何概念是错误的,我们只需要一个反例。我明白,我的答案不是这样的,但是,这只是一个例子。MST的标准算法是Prim和Kruskal;并且它们没有唯一的边权重约束。