Fixed point理论是 Banach Space 中重要的理论工具。它常被用来讨论某个空间解的存在性,并由此发展出通过迭代的方式进行问题求解的算法。在[1]中,Fixed Piont理论处于整个算法的核心位置,是以分布式Bellman方程代替期望值Bellman方程的理论基础。本文将分成两个部分浅析之:第一部分 Fixed Point的迭代算法介绍;第二部分 Distributional 算法的不动点解析。
一、Fixed Point的迭代算法
首先要回顾以下 Fixed Point 原理,首先要给出的是收缩映射(Contraction)的定义[2]。
Definition 4.13(原书【2】的编号,下同)
A function f : X → Y f:X\to Y f:X→Y between metric spaces is called a contraction if there exists a real number α \alpha α with 0 ≤ α < 1 0\le \alpha \lt 1 0≤α<1, such that :
d Y ( f ( x 1 ) , f ( x 2 ) ) ≤ α d X ( x 1 , x 2 ) d_Y(f(x_1), f(x_2))\le \alpha d_X(x_1, x_2) dY(f(x1),f(x2))≤αdX(x1,x2)
[简析]
所谓收缩(Contraction),指的是映射 f f f 的一个属性,映射前 x 1 , x 2 ∈ X x_1,x_2\in X x1,x2∈X 的距离 d X ( x 1 , x 2 ) d_X(x_1, x_2) dX(x1,x2) 大于映射后的距离 d Y ( f ( x 1 ) , f ( x 2 ) ) d_Y(f(x_1), f(x_2)) dY(f(x1),f(x2))。这里要注意的是,原像空间 X X X 的测度定义可以与像空间 Y Y Y 的测度定义不同。
如上定义,若原像空间 X X X 与像空间 Y Y Y 相同,而且测度定义不变,且 X X X 是Banach 空间(即完备的赋范空间,Complete Normed Space),则有如下不动点定理:
Theorem 4.8 (Banach Fixed-Point Theorem)
If X X X is a complete non-empty metric spaces and f : X → X f:X\to X f:X→X is a contraction
, then f f f has a unique fixed-point x 0 ∈ X x_0\in X x0∈X,
f ( x 0 ) = x 0 f(x_0)=x_0 f(x0)=x0。
Banach空间是一种特殊的非空、完备的测度空间(metric space),Fixed-Point Theorem 能够保证任意在Banach空间的contraction函数都有且只有一个
固定点(a unique fixed-point)。任取一个初始点 x 1 x_1 x1,经contraction映射后得到 x 2 x_2 x2,再将 x 2 x_2 x2 代入映射得到 x 3 x_3 x3,如此迭代,得到序列 { x n } n ≥ 1 \{x_n\}_{n\ge 1} {
xn}n≥1,此序列收敛于 x 0 x_0 x0,即 x n → x 0 x_n\to x_0 xn→x0。若求解问题可以转换成在banach空间内不动点问题,就可以通过此迭代方法进行求解。这便是 fixed point 的迭代算法。以下通过一个例子进行说明。
例:线性方程组求解的迭代算法
考虑线性方程组:
∑ i = 1 n a k i x i = b k ( k = 1 , 2 , ⋯   , n ) ( 1.1 ) \sum^n_{i=1} a_{ki}x_{i} = b_k \quad (k=1,2,\cdots,n)\qquad(1.1) i=1∑nakixi=bk(k=1,2,⋯,n)(1.1)
写成矩阵形式为 A x = b \mathbf A\mathbf x=\mathbf b Ax=b,其中 A \mathbf A A 是 n × n n\times n n×n 矩阵, x = ( x 1 , x 2 , ⋯   , x n ) T \mathbf x=(x_1, x_2,\cdots,x_n)^T x=(x1,x2,⋯,xn)T, b = ( b 1 , b 2 , ⋯   , b n ) T \mathbf b=(b_1,b_2,\cdots,b_n)^T b=(b1,b2,⋯,bn)T,于是有:
A x = b ⇒ x = ( I n − A ) x + b ( 1.2 ) \mathbf A\mathbf x=\mathbf b\Rightarrow \mathbf x=(\mathbf I_n-\mathbf A)\mathbf x + \mathbf b\qquad(1.2) Ax=b⇒x=(In−A)x+b(1.2)
其中, I n \mathbf I_n In 是 n × n n\times n n×n 单位矩阵。考虑算子(operator) F = I n − A F=\mathbf I_n- \mathbf A F=In