让给定图的最优解是一个具有平均边权重 X 的循环。
有一些带有边缘的最佳循环e_1
,e_2
... e_n
,这样avg(e_i) = X
。
对于我的证明,我假设所有索引都以 n 为模,e_(n + 1)
所以e_1
.
假设我们的启发式算法找不到这个解决方案,这意味着:对于每个i
(我们首先采用的边)存在这样j
的(我们跟踪从i
到j
到目前为止的所有边)序列中的平均边权重e_i
......e_j
大于 X (启发式修剪此解决方案)。
然后我们可以证明平均边权重不能等于 X。让我们取一个最长的不被启发式修剪的连续子序列(每个元素的平均边权重不大于 X)。至少有一个e_i <= X
,所以这样的子序列存在。对于这样的子序列的第一个元素e_k
,有p
这样的avg(e_k ... e_p) > X
。我们先拿这样p
的。现在让我们再拿k' = p + 1
一个p'
。我们将重复这个过程,直到我们再次达到我们的初始k
值。finalp
可能不会超过 initial k
,这意味着 final 子序列包含 initial [e_k, e_p - 1]
,这与我们的构造相矛盾e_k
。现在我们的序列e_1
...e_n
完全被不重叠的子序列覆盖e_k ... e_p
,e_k'...e_p'
等等,它们中的每一个的平均边缘权重都大于 X。所以我们有一个矛盾avg(e_i) = X
。
至于你的问题:
如果我们在一个周期的中途并且权重超过了找到的最佳均值,那么是否有可能通过小的权重边缘我们可以达到我们当前周期可能低于最佳找到的均值的情况?
当然是。但是我们可以安全地修剪这个解决方案,因为稍后我们会发现从另一条边开始的同一个循环不会被修剪。我的证明表明,如果我们考虑图中每个可能的循环,迟早我们会找到一个最佳循环。