平时我看起来很坚强,
可是遇到你,我会变成另一个模样。
我不想考虑太多,
因为追随内心,你已经走进我的心墙。
我想让你知道,
我从未想过放手,
只愿陪你到永远。
——畅宝宝的傻逼哥哥
如果一个算法满足这样的性质:任意的初始点x0∈X都会产生一个收敛的点序列{xk}∞k=0,那么称该算法是全局收敛的。实际上,如果某些条件不满足,甚至非常有效的算法都会失效。例如算法可能产生不收敛的序列或者收敛的点不是所求的解,存在一些导致算法失败的因素,但是如果我们很清楚的了解他们,那么我们就能采取某些避免失败的措施,所以全局收敛成为理论学者与实践者共同的兴趣。
大部分全局收敛理论处理的是保证全局收敛的环境与条件,其中一个重要的理论如下:
定理1:令A表示X上的算法并假设初始点x0将产生一个无穷序列{xk}∞k=0,其中
如果该算法的解集S与下降函数D(xk)存在,使得
- 所有点xk包含在X的紧子集中
- D(xk)满足下降函数的定义且
- A的映射对S外的所有点都封闭
那么任何收敛序列{xk}∞k=0的极限都是解。
证明:这个定理的证明分两部分。对a部分,我们假设x̂ 是任何序列{xk}∞k=0子序列{xk}k∈I的极限,其中I是整数的一个集合,并且说明D(xk)对无限序列{xk}∞k=0收敛。对b部分,我们说明x̂ 是集合S的解。
证明的第二部分非常依赖于魏尔斯特拉斯定理,如果W是紧集,那么序列{xk}∞k=0的极限点在W中,其中xk∈W。如果集合W是闭的,那么它也就紧集。如果W边界上的所有点都属于W,那么W是闭集。如果W能被一个有限半径的超球包围,那么W是有界集。魏尔斯特拉斯定理的一个结论是{xk}∞k=0的任何子序列{xk}k∈I的极限位于集合W¯={xk:k∈I}中,因为W¯是W的子集,所以它也是紧集。
(a)因为D(xk)在X上是连续的且x̂ 是序列{xk}k∈I的极限,所以存在正数与整数K使得当k≥K时
其中k∈I,因此D(xk)对子序列{xk}k∈I收敛。然而我们还必须证明D(xk)对无限序列{xk}∞k=0收敛。
对于任意k≥K,我们有
如果k=K,那么
如果k≥K,那么D(xk)≤D(xK),因此
由此可得对任意k≥K
因此
即当xk→x̂ 时D(xk)相对于无限序列收敛。
(b)假设x̂ 不在解集中,因为子序列{xk+1}k∈I的元素属于属于紧集,根据魏尔斯特拉斯定理可知存在紧子集{xk+1:k∈I¯⊂I}使得xk+1收敛到极限x¯。根据部分(a),我们说明了
因此
另一方面
根据假设x̂ ∉S,并且A对S外的点是闭的,我们有
因此
得出矛盾,因为{xk}∞k=0的任何收敛子序列的极限是解。
对于简单的情况,上面的定理说明,如果
- 算法生成的点在有限的En空间中
- 可以找到满足要求的下降函数
- 算法在解邻域的外边是封闭的
那么算法是全局收敛的。进一步,我们可以在有限次迭代下得到近似解,因为{xk}∞k=0的任何有限子序列的极限都是解。
定理1的推论同样非常重要:
推论1:如果定理1的条件成立,解集S由一个点x̂ 组成,那么序列{xk}∞k=0收敛到x̂ 。
证明:如果我们假设有一个子序列{xk}k∈I不收敛到x̂ ,那么对于所有的k∈I,ε>0,
集合{xk∈I′⊂I}是紧集,{xk}