不动点算法编辑本段回目录
正文编辑本段回目录
不动点定理在代数方程、微分方程、积分方程、数理经济学等学科中皆有广泛的应用。例如,关于代数方程的基本定理,要证明?(x)=0必有一根,只须证明在适当大的圆│x│≤R 内函数?(x)+x有一不动点即可;在运筹学中,不动点定理的用途至少有二:一为对策论中用来证明非合作对策的平衡点的存在和求出平衡点;一为数学规划中用来寻求数学规划的最优解。对于一个给定的凸规划问题:min{?(x)│gi(x)≤0,i=1,2,…,m},在此,?和g1,g2,…,gm皆为Rn中的凸函数。通过适当定义一个函数φ,可以证明:若上述问题的可行区域非空,则φ的不动点即为该问题的解。
在1964年以前,所有不动点定理的证明都是存在性的证明,即只证明有此种点存在。1964年,C.E.莱姆基和 J.T.Jr.豪森对双矩阵对策的平衡点提出了一个构造性证明。1967年,H.斯卡夫将此证法应用到数学规划中去。其后,不动点定理的构造性证明有了大的发展和改进。
H.斯卡夫的证明是基于一种所谓本原集,后来的各种发展皆基于某种意义下的三角剖分。现以n 维单纯形Sn为例来说明这一概念,在此,。对每一i, 将区间0≤xi≤1依次分为m1,m2…等分,m1<m2<…,mi→,是给定的一列正整数。对于固定的i,过分点依次作平行于xi=0的平面。 这些平面将Sn分成若干同样大小的n维三角形。它们的全体作成的集 Gi,称为Sn的一三角剖分。设?(x)为 Sn→Sn的一连续函数,x=(x1,x2,…,xn+1),?(x)=(?1(x),?2(x),…,?n+1(x))。定义。由于?(x)和x皆在Sn上,若有则显然有?(x)=x,即x为?(x)的一不动点。
对每一点y∈Sn赋与标号l(y)=k=min{j│y∈Cj,且yj>0}。由著名的施佩纳引理,在Gi中必存在一三角形σi,它的n+1个顶点yi(k)的标号分别为k(k=1,2,…,n+1)于是可得一列正数ij(j→),使得(k)→yk,k=1,2,…,n+1。根据σi的作法,当ij→时,收敛成一个点x。故yk=x,k=1,2,…,n+1。因 (k)的标号为k,故yk∈Ck,因而即x为所求的不动点。因此,求?(x):Sn→Sn 的不动点问题就化为求 σi(i=1,2,…) 的问题。为了计算上的效果,除了上述的标号法之外,还有标准整数标号法、向量标号法等等。关于如何求σi,有变维算法、三明治法、同伦算法、变维重始法等等,通过适当定义,可将上之Sn改为Rn或Rn中之一凸集。求一凸函数在一凸集上的极值问题也可化为求不动点问题。一般说来,这条途径适用于维数不高但问题中出现的函数较为复杂的情况。
参考书目
A.J.J.TalmanVariable Dimension Fixed Point Algorithms and Triangulations, Mathematisch Centrum, Amsterdam, 1980.
配图编辑本段回目录