图论中的悖论?

时间:2016-05-14 05:25:31

标签: algorithm graph graph-theory graph-algorithm proof

我正在阅读CLRS中的最小生成树,并且遇到了以下推论,这是计算最小生成树的算法的基础:

  

推论23.2

     

设G =(V,E)是一个连通的无向图,其中实数值权函数w在E上定义。设A是E的一个子集,包含在某个最小值中   G的生成树,并且C =(V_C,E_C)是森林中的连通分量(树)G_A =(V,A)。如果(u,v)是将C连接到G_A中的某个其他组件的轻型边缘,那么(u,v)对于A是安全的。

     

证明剪切(V_C,V-V_C)表示A,而(u,v)是此剪辑的亮边。因此,对A来说是安全的。

我发现有些不一致。为什么?让我告诉你:

从推论中删除了一些语句

这些是从相同推论中复制的语句及其在文本中的证明:

陈述1 - G_A =(V,A)

声明2 - (u,v)是将C连接到G_A中的其他组件的亮边。

陈述3 - 削减(V_C,V - V_C)尊重A

陈述4 - (u,v)是这种切割的轻微边缘。

引理1

陈述1和2暗示(u,v)在A

证明

出于矛盾的目的,我们假设它不属于A.由于(u,v)连接图 G_A 的两个分量,它必须是图G_A中的边。由于边缘集在图G_A中由A给出,它必须属于A,这与我们的假设相矛盾。

不一致

现在引理1暗示(u,v)属于A.陈述3暗示了切割方面(u,v),这进一步暗示(u,v)不能越过切割。由于它不能越过切口,因此它不能与声明4相矛盾。

这是否意味着算法不正确。根据我的说法,G_A应该改为G.我错了吗?

修改

其他可能的变化

那么Edge应该属于E,因为它不能是光的任何边缘。假设我们有E的边集F超集,它包含比(u,v)更轻的边。比完成时我们将有MST没有跨越G.已经附上一个例子来澄清声明。转到Example。对不起影子。 Stack Overflow没有上传图片 - 我尝试了很多次。

因此,为了澄清目的,最后一行推论是否应该更改为(u,v)属于E并且是G_A的轻微边缘?

0 个答案:

没有答案