问题 最小生成树和最短路径树是否始终共享至少一条边?


我正在研究图论,我对最小生成树和最短路径树之间的联系有疑问。

G 是一个无向连通图,其中所有边都是加权的 不同的成本。让 Ť 成为MST G 然后让 Ť小号 是某个节点的最短路径树 小号。是 Ť 和 Ť小号 保证分享至少一个优势?

我相信这并非总是如此,但我找不到反例。有没有人有关于如何找到反例的建议?


11540
2018-06-13 17:53


起源

边缘权重是非必要的吗? - templatetypedef
是的,由于连接的边缘,这总是正确的 小号,它们之间连接到生成树的最短边也将是最短路径树的成员。 - Tyler Durden
@TylerDurden你怎么知道在SPT中与s一起发生的一个边缘也是在MST中与s一起发生的边缘之一? - G. Bach


答案:


我认为这个说法实际上就是这样 真正,所以我怀疑你能找到一个反例。

这是一个提示 - 获取图中的任何节点并找到该节点的最短路径树。现在考虑如果你跑步会发生什么 Prim的算法 从该节点开始 - 你能保证MST中至少有一条边可以进入最短路径树吗?

希望这可以帮助!


6
2018-06-13 17:55



我不认为该提示有助于证明或反驳该陈述。如果我理解正确的话,它表明一组特定的MST和一组特定的最短路径树总是共享一条边,而不是所有MST和任何一般图的最短路径树都是如此。 - G. Bach
@ G.Bach-我的意图是这将是一般证明的轮廓 - 从图中任意节点的最短路径树开始,然后考虑从最短的源节点开始的Prim算法的第一步路径树。由于边权重是唯一的,因此图中有一个唯一的MST,因此证明适用于任意MST。由于我们假设了一个任意最短路径树,因此该证明也适用于任意最短路径树。或者我错过了什么? - templatetypedef
@templatetypedef你的意思是Prim的算法从s开始选择的第一条边也可以在从s开始的任何最短路径树中吗? - G. Bach
@ BlueRaja-DannyPflughoeft- MST并非根植于任何特定节点 - 它们是全球唯一的。由于所有边权重都是不同的,因此图中只有一个MST,因此如果我们运行任何算法来查找MST,我们将保证返回相同的MST。因此,我可以说通过从SPT的源节点s开始运行Prim算法而创建的MST是全局MST,因此我可以对以这种方式生成的MST做出的任何声明都是通用的。 - templatetypedef
@ BlueRaja-DannyPflughoeft如果边缘权重不同,则MST是唯一的,因此在启动MST算法的节点上无关紧要。 @ templatetypedef:我的第一个评论实际上是错误的,因为它意味着可能有多个MST,我假设因为我跳过OP的部分说“不同的权重”。 - G. Bach


证明 到顶点 小号 和它的最短路径树 Ť小号,MST的楔子 Ť 是(小号v),并假设它不存在 Ť小号 。然后必须有一个较短的路径 v 至 小号,路径中有一个顶点(因为w(小号v)这不是最短的路径),这是假设的 p,并使 小号 - >p - >v,w(小号v)> =路径(小号 - >p - >v)。删除w(小号v)并添加w(小号pŤ , 当所有边缘都是积极的和不同的,w(小号p)<w(小号v)。我们得到的最小生成树 Ť ”。

Ť 是一个MST.Here是矛盾。假设不成立,证明了这一点 Ť 和 Ť小号 必须分享至少一个边缘,它是w(小号v在MST Ť

如果有一个0成本的重量,情况是相似的。您可以假设w(a,b)= 0的两个顶点是相同的顶点,并删除其中一个顶点。 当权重为非负时,证明有效。

当一些权重为负和w(小号p)> w(小号 ,v),即w(p ,v)<0,w(小号v)> =路径(小号 - >p - >v)不能使w(小号p)<w(小号v)。但是在MST Ť,w(小号v)也应该不存在,因为路径(小号 - >p - >v)使 小号 至 v 以更低的成本,替换w(小号v)在T与w(小号p)和w(pv)如果有必要,使一个较小的生成树 Ť ”。仍然矛盾。


3
2018-06-14 01:53