最小产品生成树是否与最小生成树不同? plz解释(如果可能的话,带示例)。我的意思是,添加到最小值的边应该(?)也有最小乘积。
答案 0 :(得分:3)
使用所有边权重(正,负和零):
它们可能不一样。
以此为例:
-10
□______□
/ \
1 | | 0
\ /
□
我们有:
Minimum product spanning tree: Minimum sum spanning tree:
-10 -10
□______□ □______□
/ \
1 | | 0
\ /
□ □
使用非零边权重(正面和负面):
它们可能不一样。
偶数个负值的乘积产生正值,因此在这种情况下为最小乘积生成树选择正值会更好。
以此为例:
-5
□______□
/ \
5 | | -5
\ /
□
我们有:
Minimum product spanning tree: Minimum sum spanning tree:
-5 -5
□______□ □______□
/ \
5 | | -5
\ /
□ □
最好选择更高的正值,而不是小的负值,只要我们得到奇数个负值。
使用非负边缘权重(正数和零):
可能有多个最小产品生成树,其中一些可能不是最小的生成树(我还没有找到证据/计数器示例,但目前它看起来像至少一个最小产品跨越树将具有最小总和)。
以此为例:
0
□______□
/ \
1 | | 10
\ /
□
此处10-0
和1-0
都是最小产品生成树,但只有1-0
是最小和生成树。
仅限正边缘权重和不同边缘权重:
他们将是一样的。
证明:
考虑在a
和b
之间选择,并在树的其余部分加c
。
假设a,b,c> 0 ...
Assume ca < cb
then a < b (since c > 0)
then a + c < b + c
因此,如果选择a
导致最小的产品,它也将导致最小的总和。
因此,获得最小的产品和最小的总和将包括挑选所有相同的边缘。
因此他们将拥有相同的生成树。
仅使用正边缘权重和非明显边缘权重:
以上假设边缘权重不同,如果不是这样的话,可能会有多个生成树,它们显然不一定相同,但两者的生成树的选择将是相同的,因为它们是相同的将具有相同的产品和相同的总和,因为唯一的区别是在具有相同重量的2个边缘之间进行拾取。
考虑:
10
□______□
/ \
5 | | 5
\ /
□
两种可能的生成树是:
10 10
□______□ □______□
/ \
5 | | 5
\ /
□ □
两者都是最小产品和总和树(唯一的区别是我们挑选的5,但是5 = 5,所以它不会改变总和或产品)。
答案 1 :(得分:3)
如果所有边权重都是正数,则它们将是同一棵树。一种简单的方法是检查MST算法,并注意到不做任何实际的添加,它们只选择每一步中某个集合的最小边缘。
如果边权重严格为正,那么权重为W_i的最小乘积生成树将与权重log W_i的最小和生成树相同,并且由于对数函数是单调的,因此任何MST算法的行为都与权重记录W_i而不是权重W_i。
更多的数学证明是要注意(假设所有边权重都是不同的),那么图的MST将包括每次切割图的最小成本边。很明显,MST在边权重的单调变换下是不变的。