接下来,我们读一篇如何求解NE的文章,并考虑以文中的算法为模型构建PPAD。
Complementary Pivot Theory of Mathematical Programming
线性规划和双人非零和博弈意味着我们需要考虑以下的基本问题:
给定一个p维向量q和一个p*p实矩阵M,寻找向量w,z满足条件:
w
=
q
+
M
z
,
w
⩾
0
,
z
⩾
0
z
T
w
=
0
\begin{aligned} w &=q+M z, \quad w \geqslant 0, \quad z \geqslant 0 \\ z^T w &=0 \end{aligned}
wzTw=q+Mz,w⩾0,z⩾0=0
接下来我们解释为什么要解决这个基本问题:
首先我们证明von-Neumann的经典规划问题可以转化为基本问题:
原始(primal)线性规划:找一个向量x满足下列条件并且使得
z
ˉ
\bar{z}
zˉ最小:
A
x
⩾
b
,
x
⩾
0
,
z
ˉ
=
c
T
x
A x \geqslant b, \quad x \geqslant 0, \quad \bar{z}=c^Tx
Ax⩾b,x⩾0,zˉ=cTx
对偶(dual)线性规划:找一个向量y满足下列条件并使得
z
‾
\underline{z}
z最大:
y
T
A
⩽
c
,
y
⩾
0
,
z
‾
=
y
T
b
y^T A \leqslant c, \quad y \geqslant 0, \quad \underline{z}=y^Tb
yTA⩽c,y⩾0,z=yTb
线性规划的对偶定理指出:当我们有上述两个系统时,
min
z
ˉ
=
max
z
‾
\min \bar{z}=\max \underline{z}
minzˉ=maxz.由于
z
‾
=
y
T
b
⩽
y
T
A
x
⩽
c
T
x
=
z
ˉ
\underline{z}=y^T b \leqslant y^T A x \leqslant c^T x=\bar{z}
z=yTb⩽yTAx⩽cTx=zˉ,在取等时,我们应该有:
y
T
b
=
c
T
x
y^Tb=c^Tx
yTb=cTx
我们注意到,以上不等式可以通过引入变量转化为一个比较规则的形式:
A
x
−
v
=
b
,
v
⩾
0
,
x
⩾
0
A
T
y
+
u
=
c
,
u
⩾
0
,
y
⩾
0
\begin{array}{ll} A x-v=b, & v \geqslant 0, \quad x \geqslant 0 \\ A^{T} y+u=c, & u \geqslant 0, \quad y \geqslant 0 \end{array}
Ax−v=b,ATy+u=c,v⩾0,x⩾0u⩾0,y⩾0
再做一步形式变换:
(
u
v
)
−
(
c
−
b
)
+
(
0
−
A
T
A
0
)
(
x
y
)
,
u
⩾
0
,
v
⩾
0
x
⩾
0
,
y
⩾
0
\left(\begin{array}{l} u \\ v \end{array}\right)-\left(\begin{array}{c} c \\ -b \end{array}\right)+\left(\begin{array}{cc} 0 & -A^{T} \\ A & 0 \end{array}\right)\left(\begin{array}{l} x \\ y \end{array}\right), \quad \begin{aligned} &u \geqslant 0, \quad v \geqslant 0 \\ &x \geqslant 0, \quad y \geqslant 0 \end{aligned}
(uv)−(c−b)+(0A−AT0)(xy),u⩾0,v⩾0x⩾0,y⩾0
并且,
x
T
u
+
y
T
v
=
x
T
(
c
−
A
T
y
)
+
y
T
(
A
x
−
b
)
=
x
T
c
−
y
T
b
x^T u+y^T v=x^T(c-A^Ty)+y^T(Ax-b)=x^Tc-y^Tb
xTu+yTv=xT(c−ATy)+yT(Ax−b)=xTc−yTb,根据上面的取等条件,要求其等于0.
同时,如果我们令
w
=
(
u
v
)
,
q
=
(
c
−
b
)
,
M
=
(
0
−
A
T
A
0
)
,
z
=
(
x
y
)
w=\left(\begin{array}{l} u \\ v \end{array}\right), \quad q=\left(\begin{array}{c} c \\ -b \end{array}\right), \quad M=\left(\begin{array}{cc} 0 & -A^{T} \\ A & 0 \end{array}\right), \quad z=\left(\begin{array}{l} x \\ y \end{array}\right)
w=(uv),q=(c−b),M=(0A−AT0),z=(xy)
则问题转化为基本问题的形式:
w
=
q
+
M
z
,
w
⩾
0
,
z
⩾
0
z
T
w
=
0
\begin{aligned} w &=q+M z, \quad w \geqslant 0, \quad z \geqslant 0 \\ z^T w &=0 \end{aligned}
wzTw=q+Mz,w⩾0,z⩾0=0
然后,我们证明两人非零和博弈的均衡求解也可以转化为基本问题。
考虑一个双人博弈
Γ
(
A
,
B
)
\Gamma(A,B)
Γ(A,B),其中A,B为行,列玩家的支付矩阵,大小为m*n,两个玩家的混合策略为行向量x,y,并且:
x
=
(
x
1
,
…
,
x
m
)
⩾
0
,
∑
i
=
1
m
x
i
=
1
,
y
=
(
y
1
,
…
,
y
n
)
⩾
0
,
∑
j
=
1
n
y
j
=
1
\begin{array}{ll} x=\left(x_{1}, \ldots, x_{m}\right) \geqslant 0, & \sum_{i=1}^{m} x_{i}=1, \\ y=\left(y_{1}, \ldots, y_{n}\right) \geqslant 0, & \sum_{j=1}^{n} y_{j}=1 \end{array}
x=(x1,…,xm)⩾0,y=(y1,…,yn)⩾0,∑i=1mxi=1,∑j=1nyj=1
根据Nash的结论,一个对
(
x
0
,
y
0
)
(x^0,y^0)
(x0,y0)是一个纳什均衡点当且仅当下式成立:
x
0
A
y
0
T
⩽
x
A
y
0
T
,
all mixed strategies
x
,
x
0
B
y
0
T
⩽
x
0
B
y
T
,
all mixed strategies
y
.
{x^{0}} A {y^{0}}^T \leqslant x A {y^{0}}^T , \quad\text{all mixed strategies $x$},\\ x^{0} B {y^{0}}^T \leqslant x^{0} B y^T , \quad\text{all mixed strategies $y$}.
x0Ay0T⩽xAy0T,all mixed strategies x,x0By0T⩽x0ByT,all mixed strategies y.
由于我们对A和B同时加一个常数,Nash均衡不变(平移不变性),因此我们可以不妨设A,B>0,并且如果令
e
k
e_k
ek表示第k个元素值全为1的向量,那么在两边同时乘一个单位向量:
(
x
0
A
y
0
T
)
e
m
⩽
A
y
0
(
A
>
0
)
(
x
0
B
y
0
T
)
e
n
⩽
B
T
x
0
(
B
>
0
)
\begin{array}{ll} \left(x^{0} A {y^{0}}^T \right) e_{m} \leqslant A y^{0} & (A>0) \\ \left(x^{0} B {y^{0}}^T \right) e_{n} \leqslant B^{T} x^{0} & (B>0) \end{array}
(x0Ay0T)em⩽Ay0(x0By0T)en⩽BTx0(A>0)(B>0)
考虑以下的形式转化:
u
=
A
y
−
e
m
,
u
⩾
0
,
y
⩾
0
v
=
B
T
x
−
e
n
,
v
⩾
0
,
x
⩾
0
x
u
+
y
v
=
0
\begin{gathered} u=A y-e_{m}, \quad u \geqslant 0, \quad y \geqslant 0 \\ v=B^{T} x-e_{n}, \quad v \geqslant 0, \quad x \geqslant 0 \\ x u+y v=0 \end{gathered}
u=Ay−em,u⩾0,y⩾0v=BTx−en,v⩾0,x⩾0xu+yv=0
那么,这个方程组的解如果记做
u
∗
,
v
∗
,
x
∗
,
y
∗
u^{*}, v^{*}, x^{*}, y^{*}
u∗,v∗,x∗,y∗,则
(
x
0
,
y
0
)
=
(
x
∗
x
∗
e
m
,
y
∗
y
∗
e
n
)
\left(x^{0}, y^{0}\right)=\left(\frac{x^{*}}{x^{*} e_{m}}, \frac{y^{*}}{y^{*} e_{n}}\right)
(x0,y0)=(x∗emx∗,y∗eny∗)即为所求的解,且如果
x
0
,
y
0
x^0,y^0
x0,y0为Nash的解,则
(
x
∗
,
y
∗
)
=
(
x
0
x
0
B
y
0
,
y
0
x
0
A
y
0
)
\left(x^{*}, y^{*}\right)=\left(\frac{x^{0}}{x^{0} B y^{0}}, \frac{y^{0}}{x^{0} A y^{0}}\right)
(x∗,y∗)=(x0By0x0,x0Ay0y0)为方程的解,由此可知方程的解等价于Nash的解。
本质:巧妙地把x和 x ∗ x^* x∗中分量和为1的性质写入了方程内部。
而后面这个系统在代换:
w
=
(
u
v
)
,
q
=
(
−
e
m
−
e
n
)
,
M
=
(
0
A
B
T
0
)
,
z
=
(
x
y
)
w=\left(\begin{array}{l} u \\ v \end{array}\right), \quad q=\left(\begin{array}{c} -e_{m} \\ -e_{n} \end{array}\right), \quad M=\left(\begin{array}{cc} 0 & A \\ B^{T} & 0 \end{array}\right), \quad z=\left(\begin{array}{l} x \\ y \end{array}\right)
w=(uv),q=(−em−en),M=(0BTA0),z=(xy)
下恰好也有基本形式:
w
=
q
+
M
z
,
w
⩾
0
,
z
⩾
0
z
T
w
=
0
\begin{aligned} w &=q+M z, \quad w \geqslant 0, \quad z \geqslant 0 \\ z^T w &=0 \end{aligned}
wzTw=q+Mz,w⩾0,z⩾0=0
对于基本问题的迭代求解
考虑基本问题这个线性方程组的形式:
w
=
q
+
M
z
,
w
⋅
z
=
0
,
w
,
z
≥
0
w=q+Mz, w\cdot z=0,w,z\geq 0
w=q+Mz,w⋅z=0,w,z≥0
其中,p维向量q和p*p阶矩阵M是任意的,但是一旦选定后就固定了,我们要求解z和w。
我们称对应的分量wi,zi互补,那么由于 w i , z i ≥ 0 w_i,z_i\geq 0 wi,zi≥0,我们必须有: w i z i = 0 w_iz_i=0 wizi=0
然后,我们定义一个解是几乎互补的,如果它在某一个分量之外的所有分量上满足: w i z i = 0 w_iz_i=0 wizi=0
我们的思路是找到一个恰当的几乎互补路径:在这个路径上,每个节点都是一个几乎互补的解,并且说明它一定会在某个互补的解上终止,这样我们就能用迭代的方法找到一个终止解。
在一般的问题中,找到一个初始解并不是那么容易,但是在Nash中,有一个特殊的性质:M>0,我们将会看到这个性质在给定初值中有什么样的作用。
在这条路径上的迭代过程可以如下表示:在几乎互补解P_i中,第 β \beta β个分量是不互补的(乘积不为0),则其它都是互补的。我们可以证明,通过改变 z β z_\beta zβ或者 w β w_\beta wβ,可以得到P_i的两个邻点,分别对应P_i-1和P_i+1,具体操作:注意到,当我们改变 z β z_\beta zβ时,w也会产生正相关的变化。如果我们恰当地减少 z β z_\beta zβ直到有一个 w s w_s ws=0的情形,那么我们就得到了一个新的互补对。矩阵M的非退化假设保证了只会出现一个这样的s。
这条路有下列性质:
- 内部无环:这条路只能是一个环,而不能在内部产生环,因为如果内部有环的话就会出现一个三度点,矛盾!
- 如果开始点取度数为1,那么道路只能一直向前延伸,直到遇到度数为1的另一个点。
很显然,这个做法恰好对应了我们在求解Nash中的PPAD方法,只不过Lemeke算法本身是PSPACE的,因为它沿着一条路走到黑。