我必须解决这个问题:
给定加权连通无向图G =(V,E)和顶点u在V. 描述一个算法,找到G的MST,使得u的程度 很小;算法的输出T是MST并且彼此相对 最小生成树T'是小于或小于T的程度 等于T'中的u的程度。
我考虑过这个算法(经过一些谷歌搜索后我找到了类似问题here的解决方案):
修改
我知道这个算法可能会得到一个错误的MST(参见@AndyG评论)所以我想到了另一个:
该解决方案基于Kruskal算法迭代边缘的事实 按重量排序,因此G的所有MST之间的差异是从相同重量的所有边缘中选择每个边缘。因此,如果我们增加u的相邻边缘的程度,算法将选择相同度数的其他边缘而不是u的相邻边缘,除非MST需要这个边缘,并且u的程度将是最小的G的MST。
我仍然不知道它是否有效以及如何证明此算法的正确性。
我将不胜感激。
答案 0 :(得分:2)
总结建议的算法[对epsilon(你称之为x)的要求更严格]:
我们将证明此过程找到原始图形的MST,以最小化入射到u的边数。
设W是原始图中任何最小生成树的权重。
首先,我们将显示新图的每个MST都是原始图的MST。原始图中的任何非MST必须至少具有W + d的权重。新图中的任何MST必须具有最多W + deg(u)* epsilon的权重(因为原始图中的任何MST在新图中具有最多该权重)。由于我们选择了epsilon,因此deg(u)* epsilon< d,我们得出结论,新图中的任何MST也是原始图中的MST。
其次,我们将展示新图的MST是原始图的MST,其最小化了入射到u的边的数量。原始图的MST,T在新图中具有权重W + k * epsilon,其中k是入射到u的T的边的数量。我们已经证明新图的每个MST也是原始图的MST。因此,新图形的MST是原始图形的MST,它最小化k(入射到u的边数)。