让我们有一个图表。当我们移除边缘时,会创建2个“汽车”,一个来自边缘的每个顶点。当这两辆车相遇时他们停下来。问题是创建一个生成树,以便通过每个顶点的汽车数量之和最小。
增加的难度是如果一个顶点有n辆汽车从中经过,那么成本是K ^ n而不是n * K.
一些想法。我们可以找到最短的无弦周期作为开始,但是这些无弦周期的位置,即它们是否相互接触,会改变度量,从而改变最短周期。这不是最小生成树问题。我想解决这个问题,因为每辆汽车代表一个变量,而生成树是计算优化问题的最有效方法。当来自同一边缘的2辆汽车相遇并停止时,我从优化中减少了一个变量。
编辑:
这个过程是这样的。我们删除了许多边以使图形成为生成树。每个移除的边缘创建2个汽车,在移除的边缘的每个顶点处一个,需要彼此相遇。我们为每辆双胞胎车道修好了路径。然后我们检查有多少辆汽车(来自我们移除的所有边缘)通过每个顶点。如果从顶点经过的汽车的数量是n,则成本是K ^ n,其中K是常数。然后我们添加所有成本,这是需要最小化的全球成本。
如果不清楚,请告诉我。 https://mathoverflow.net/questions/86301/spanning-tree-that-minimizes-a-dynamic-metric
答案 0 :(得分:0)
这是一个洞察力 - 汽车永远不会通过关节点,因此您可以将图形分解为其块并分别求解每个块(最小总成本函数是每个块的最小成本之和)。
要查找块的最低成本 - 您可以枚举该块的所有生成树并计算每个块的成本 - 蛮力方法,但它应该有效。