最小产品生成树是否与最小生成树不同?

时间:2013-10-14 11:17:30

标签: algorithm graph minimum-spanning-tree spanning-tree

最小产品生成树是否与最小生成树不同? plz解释(如果可能的话,带示例)。我的意思是,添加到最小值的边应该(?)也有最小乘积。

2 个答案:

答案 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-01-0都是最小产品生成树,但只有1-0是最小和生成树。

仅限正边缘权重和不同边缘权重:

他们将是一样的。

证明:

考虑在ab之间选择,并在树的其余部分加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在边权重的单调变换下是不变的。