目录
第一章 有限阶段模型
1. 介绍
观察到状态(state)后,选择一个行动(action):
- 仅根据当时的状态和选择的行动,获得一个期望奖励;
- 按确定的概率分布转移到下一状态。
我们关心的问题是选择一种策略,使在给定的长度为 n n n的有限时间跨度内所获得的奖励总和的期望值最大化。
我们提出一种称为动态规划(dynamic programming)的技术,使这些问题可以关于 n n n递归地解决。
当状态为 i i i,选择行动 a ∈ A a\in A a∈A时,假设获得的奖励为 R ( i , a ) R(i, a) R(i,a),下一状态以概率 P i j ( a ) P_{ij}(a) Pij(a)为 j j j。设 V n ( i ) V_n(i) Vn(i)表示从状态 i i i开始的 n n n阶段问题的最大期望收益。
当
n
=
1
n=1
n=1时,显然有
V
1
(
i
)
=
max
a
∈
A
R
(
i
,
a
)
V_1(i)=\max_{a\in A}R(i,a)
V1(i)=a∈AmaxR(i,a)
最优方程(optimality equation)
V
n
(
i
)
=
max
a
[
R
(
i
,
a
)
+
∑
j
P
i
j
(
a
)
V
n
−
1
(
j
)
]
V_{n}(i)=\max _{a}\left[R(i, a)+\sum_{j} P_{i j}(a) V_{n-1}(j)\right]
Vn(i)=amax[R(i,a)+j∑Pij(a)Vn−1(j)]
2. 赌博模型
问题
在每一局中,赌徒可以下注任何不大于他目前财富的非负的金额,并将分别以概率 p p p和 q = 1 − p q=1-p q=1−p赢或输这个金额。赌徒允许下 n n n个赌注,他的目标是最大化他最终财富对数的期望。
建模
设
V
n
(
x
)
V_n(x)
Vn(x)表示赌徒当前财富为
x
x
x且允许再赌
n
n
n次时的最大期望收益。最优方程为
V
n
(
x
)
=
max
0
≤
α
≤
1
[
p
V
n
−
1
(
x
+
α
x
)
+
q
V
n
−
1
(
x
−
α
x
)
]
V_{n}(x)=\max _{0 \leq \alpha \leq 1}\left[p V_{n-1}(x+\alpha x)+q V_{n-1}(x-\alpha x)\right]
Vn(x)=0≤α≤1max[pVn−1(x+αx)+qVn−1(x−αx)]
边界条件为
V
0
(
x
)
=
log
x
V_0(x)=\log x
V0(x)=logx
结果
当 p ≤ 1 2 p\le \frac12 p≤21时, V n ( x ) = log x V_n(x)=\log x Vn(x)=logx,最优策略为一直不下注。(将 log \log log换成任意凹函数结论不变)
当 p > 1 2 p>\frac12 p>21时, V n ( x ) = n C + log x V_n(x)=nC+\log x Vn(x)=nC+logx,其中 C = log 2 + p log p + q log q C=\log2+p\log p+q\log q C=log2+plogp+qlogq,最优行动为每次下注占当前财富的比例为 p − q p-q p−q。
3. 期权模型
问题
令
S
k
S_k
Sk表示股票在第
k
(
k
≥
1
)
k(k\ge 1)
k(k≥1)天的价格,并假设
S
k
+
1
=
S
k
+
X
k
+
1
=
S
0
+
∑
i
=
1
k
+
1
X
i
,
S_{k+1}=S_{k}+X_{k+1}=S_{0}+\sum_{i=1}^{k+1} X_{i},
Sk+1=Sk+Xk+1=S0+i=1∑k+1Xi,
其中
X
1
,
X
2
,
…
X_1,X_2,\dots
X1,X2,…独立同分布于
F
F
F(具有有限均值),也与
S
0
S_0
S0独立。这被称为股票价格的随机游走(random-walk)模型。
假设你现在拥有以固定价格 c c c购买一股股票的期权,你有 N N N天时间行权。你不一定需要行权,但如果你在股票价格为 s s s的时候行权,那么你的利润就是 s − c s-c s−c。
建模
假设
V
n
(
s
)
V_n(s)
Vn(s)表示股票价格为
s
s
s且期权还有
n
n
n天时间行权时的最大期望利润。最优方程为
V
n
(
s
)
=
max
[
s
−
c
,
∫
V
n
−
1
(
s
+
x
)
d
F
(
x
)
]
,
n
≥
1
V_{n}(s)=\max \left[s-c, \int V_{n-1}(s+x) d F(x)\right], \quad n \geq 1
Vn(s)=max[s−c,∫Vn−1(s+x)dF(x)],n≥1
边界条件为
V
0
(
s
)
=
max
(
s
−
c
,
0
)
V_0(s)=\max(s-c,0)
V0(s)=max(s−c,0)
结果
- 引理: V n ( s ) − s V_n(s)-s Vn(s)−s关于 s s s递减。
- 注:显然 V n ( s ) V_n(s) Vn(s)关于 s s s递增且连续。
- 定理:最优策略有如下形式:存在递增的 s 1 ≤ s 2 ≤ ⋯ ≤ s n ≤ ⋯ s_1\le s_2\le\cdots\le s_n\le\cdots s1≤s2≤⋯≤sn≤⋯使得如果剩余行权时间为 n n n天且当前价格为 s s s,则当且仅当 s ≥ s n s\ge s_n s≥sn时应该行权。
- 注:可以证明,当 μ F ≥ 0 \mu_F\ge 0 μF≥0时,在到期前执行期权永远不是最优的。因此上述定理只有在均值为负时才有意义。
4. 模函数和单调策略
max
y
g
(
x
,
y
)
=
g
(
x
,
y
(
x
)
)
\max_y g(x,y)=g(x,y(x))
ymaxg(x,y)=g(x,y(x))
其中,
y
(
x
)
y(x)
y(x)是使
g
(
x
,
y
)
g(x,y)
g(x,y)取得最大值的最大的
y
y
y。
定义
函数
g
g
g被称为超模(supermodular),如果它满足
g
(
x
1
,
y
1
)
+
g
(
x
2
,
y
2
)
≥
g
(
x
1
,
y
2
)
+
g
(
x
2
,
y
1
)
for all
x
1
>
x
2
,
y
1
>
y
2
g\left(x_{1}, y_{1}\right)+g\left(x_{2}, y_{2}\right) \geq g\left(x_{1}, y_{2}\right)+g\left(x_{2}, y_{1}\right) \quad \text { for all } x_{1}>x_{2}, y_{1}>y_{2}
g(x1,y1)+g(x2,y2)≥g(x1,y2)+g(x2,y1) for all x1>x2,y1>y2
若将不等式反过来,则称之为次模(submodular)。
性质
若 g g g是超模的,则 y ( x ) y(x) y(x)关于 x x x是递增的。
判定
若
∂
2
g
(
x
,
y
)
/
∂
x
∂
y
\partial^{2} g(x, y) / \partial x \partial y
∂2g(x,y)/∂x∂y存在,则
g
(
x
,
y
)
g(x,y)
g(x,y)是超模当且仅当
∂
2
g
(
x
,
y
)
∂
x
∂
y
≥
0
\frac{\partial^{2} g(x, y)}{\partial x \partial y} \geq 0
∂x∂y∂2g(x,y)≥0
类似地,它是次模当且仅当
∂
2
g
(
x
,
y
)
∂
x
∂
y
≤
0
\frac{\partial^{2} g(x, y)}{\partial x \partial y} \leq 0
∂x∂y∂2g(x,y)≤0
例子
例1
问题
再次考虑赌博模型。只是这一次,输赢的概率不是固定的,而是在每次赌博之前,从某个分布 F F F中随机选择的。在每次赌博中,赌徒必须在宣布赢的概率后决定他下注的财富的多少。他被允许玩 n n n次,他的目标是最大化他最终财富的给定效用函数 u u u的期望值,假设 u u u是递增的。
建模
状态:财富 x x x和赢的概率 p p p
令
V
n
(
x
,
p
)
V_n(x,p)
Vn(x,p)表示状态
(
x
,
p
)
(x,p)
(x,p)在只允许玩
n
n
n次时的最大期望最终效用。最优方程为
V
n
(
x
,
p
)
=
max
0
≤
y
≤
x
[
p
∫
0
1
V
n
−
1
(
x
+
y
,
α
)
d
F
(
α
)
+
(
1
−
p
)
∫
0
1
V
n
−
1
(
x
−
y
,
α
)
d
F
(
α
)
]
\begin{aligned} V_{n}(x, p)=\max _{0 \leq y \leq x} [& p \int_{0}^{1} V_{n-1}(x+y, \alpha) d F(\alpha) \\ &+(1-p) \int_{0}^{1} V_{n-1}(x-y, \alpha) d F(\alpha)] \end{aligned}
Vn(x,p)=0≤y≤xmax[p∫01Vn−1(x+y,α)dF(α)+(1−p)∫01Vn−1(x−y,α)dF(α)]
边界条件为
V
0
(
x
,
p
)
=
u
(
x
)
V_0(x,p)=u(x)
V0(x,p)=u(x)
结果
设 y n ( x , p ) y_n(x, p) yn(x,p)表示使最优方程最大化的最大 y y y。假设我们想证明一个相当直观的结果,即对于固定的 n n n和 x x x,最优赌注关于 p p p是递增的。
此即要证明方括号中的函数具有超模性!
例2
问题
假设我们有 N N N个阶段来建设 I I I个成功的项目。在每个阶段,我们都分配一定数量的资金用于项目的建设。如果 y y y是分配的数量,那么该项目成功的概率为 P ( y ) P(y) P(y),其中 P P P是满足 P ( 0 ) = 0 P(0) = 0 P(0)=0的连续非递减函数。项目建设后,我们就会知道它是否成功。如果在 N N N个阶段的最后,我们少了 j j j个项目,那么最终惩罚成本 C ( j ) C(j) C(j)就会发生,其中 C ( j ) C(j) C(j)关于 j j j递增。每个阶段的问题是决定分配多少钱来最小化所发生的总预期成本(建设成本加惩罚成本)。
建模
状态:还需要的成功项目的数量
如果
V
n
(
i
)
V_n(i)
Vn(i)表示状态为
i
i
i且仍有
n
n
n个阶段时的最小期望剩余成本,那么最优方程为
V
n
(
i
)
=
min
y
≥
0
{
y
+
P
(
y
)
V
n
−
1
(
i
−
1
)
+
[
1
−
P
(
y
)
]
V
n
−
1
(
i
)
}
V_{n}(i)=\min _{y \geq 0}\left\{y+P(y) V_{n-1}(i-1)+[1-P(y)] V_{n-1}(i)\right\}
Vn(i)=y≥0min{y+P(y)Vn−1(i−1)+[1−P(y)]Vn−1(i)}
边界条件为
V
0
(
i
)
=
C
(
i
)
V_0(i)=C(i)
V0(i)=C(i)
结果
如果我们让 y n ( i ) y_n(i) yn(i)表示使最优方程达到最小的 y y y值,那么一个很直观的结论是 y n ( i ) y_n(i) yn(i)关于 i i i递增,关于 n n n递减。现在我们尝试确定 C C C的条件,使该结论成立。
首先我们可以利用模函数的性质给出上述结论的一个充分条件(关于最优方程),然后证明我们只需要 C ( i ) C(i) C(i)关于 i i i是凸的。
5. 接受最好的offer
问题
假设我们依次得到 n n n个offer。在看到一个offer之后,我们必须决定是接受它(并终止这个过程)还是拒绝它。一旦被拒绝,offer就失去了。假设我们在任何时候拥有的唯一信息是当前offer与之前offer的相对排名。目标是在假设所有 n ! n! n!个offer的顺序都是等可能的情况下,最大化接受最好的offer的概率。
建模
状态 i i i:如果第 i i i个报价刚刚出现,并且是已经出现的 i i i个报价中最好的
令
V
(
i
)
V(i)
V(i)表示我们在状态
i
i
i接受最好的offer的概率,
P
(
i
)
P(i)
P(i)表示第
i
i
i个offer被接受时即为最好offer的概率,
H
(
i
)
H(i)
H(i)表示如果拒绝了第
i
i
i个offer我们能接受最好的offer的概率,则
V
(
i
)
=
max
[
P
(
i
)
,
H
(
i
)
]
=
max
[
i
n
,
H
(
i
)
]
V(i)=\max[P(i),H(i)]=\max[\frac{i}{n},H(i)]
V(i)=max[P(i),H(i)]=max[ni,H(i)]
结果
因为
i
/
n
i/n
i/n关于
i
i
i递增,
H
(
i
)
H(i)
H(i)关于
i
i
i递减,所以存在
j
j
j使得
i
n
≤
H
(
i
)
(
i
≤
j
)
i
n
>
H
(
i
)
(
i
>
j
)
\begin{array}{ll} \frac{i}{n} \leq H(i) & (i \leq j) \\ \frac{i}{n}>H(i) & (i>j) \end{array}
ni≤H(i)ni>H(i)(i≤j)(i>j)
因此,最优策略具有如下形式:对于某个
j
j
j,
j
≤
n
−
1
j\le n-1
j≤n−1,拒绝前
j
j
j个offer,然后接受第一个出现的候选offer。如果一个offer的价值高于之前的任何一个offer,那么它就被称为候选offer。
用 P j ( best ) P_j(\text{best}) Pj(best)表示该策略下接受最好的offer的概率,推出当 n n n很大、 j = n / e j=n/e j=n/e时该概率最大,从而得到了我们的最优策略。能接受最好的offer的概率大约是 1 / e 1/e 1/e。
6.顺序分配模型
问题
假设我们有 D D D个单位可供投资。在 N N N个时间段内,一个独立于过去的投资机会将以概率 p p p出现。如果机会出现,投资者必须决定他的剩余财富投资多少。如果他投资 y y y,那么在最后会得到 R ( y ) R(y) R(y)的回报。假设投资出去的金额和回报对于未来的投资都是不可用的,问题是决定在每个机会上投资多少来最大化投资回报的预期总和。
建模
假设
R
(
y
)
R(y)
R(y)是非递减凹函数,且
R
(
0
)
=
0
R(0) =0
R(0)=0。用
V
n
(
A
)
V_n(A)
Vn(A)表示在还有
n
n
n个时间段、有
A
A
A美元可投资、一个机会在手上时可获得的最大预期额外利润。最优方程为
V
n
(
A
)
=
max
0
≤
y
≤
A
[
R
(
y
)
+
V
ˉ
n
−
1
(
A
−
y
)
]
,
n
>
0
V
0
(
A
)
=
0
\begin{array}{l} V_{n}(A)=\max _{0 \leq y \leq A}\left[R(y)+\bar{V}_{n-1}(A-y)\right], \quad n>0 \\ V_{0}(A)=0 \end{array}
Vn(A)=max0≤y≤A[R(y)+Vˉn−1(A−y)],n>0V0(A)=0
其中,
V
ˉ
m
(
A
)
=
∑
i
=
0
m
p
(
1
−
p
)
i
V
m
−
i
(
A
)
\bar{V}_{m}(A)=\sum_{i=0}^{m} p(1-p)^{i} V_{m-i}(A)
Vˉm(A)=i=0∑mp(1−p)iVm−i(A)
结果
- V n ( A ) V_n(A) Vn(A)是关于 A A A的凹函数。
- 定义
y
n
(
A
)
y_n(A)
yn(A)为使最优方程右侧最大化的
y
y
y(如果不止一个
y
y
y,则为最小的
y
y
y)。可以证明:
- (i) y n ( A ) y_n(A) yn(A)关于 A A A非递减;
- (ii) y n ( A ) y_n(A) yn(A)关于 n n n非递增。
7. 策略中的顺序交换
在某些问题中,策略由一系列在零点时固定的决策组成。通常在这类问题中,一种有价值的技巧是考虑任意顺序,然后看看当两个相邻的决策交换时会发生什么。
例子
例1
问题
假设一个人面对 n n n个任务。第 i i i个任务的价值为 V i V_i Vi,成功的概率为 P i P_i Pi。一旦在一项任务中失败,他就不再被允许尝试其他任务。我们感兴趣的问题是确定一个任务排序使得在失败发生前获得最大的期望价值和。
思路
先考虑交换前两个任务的顺序的影响,再考虑交换任意两个相邻任务的顺序的影响,从而得到一个最优排序应该具有的性质。
例2
问题:工作安排模型
某人有 n n n个工作,他必须按顺序执行。第 i i i个工作需要随机时间 X i X_i Xi来执行,假设 X 1 , … , X n X_1,\dots,X_n X1,…,Xn是独立的。此外,如果第 i i i项工作在时间 t t t完成,那么可获得 α t R i , i = 1 , … , n \alpha^tR_i,i=1,\dots, n αtRi,i=1,…,n,其中 α ( 0 < α < 1 ) \alpha(0<\alpha<1) α(0<α<1)被称为折现因子。其目标是选择工作的顺序以使期望总收益最大化。
思路
考虑交换任意两个相邻工作的顺序的影响,得到一个最优顺序应该具有的性质。
E
[
return from
O
1
−
return from
O
2
∣
∑
l
=
1
k
X
i
1
=
t
]
E\left[\text { return from } O_{1}-\text { return from } O_{2} \mid \sum_{l=1}^{k} X_{i_{1}}=t\right]
E[ return from O1− return from O2∣l=1∑kXi1=t]
例3
问题
假设玩家1有 N N N张价值为 V 1 ≤ ⋯ ≤ V N V_1\le \cdots \le V_N V1≤⋯≤VN的牌,玩家2有 N N N张价值为 Y 1 ≤ ⋯ ≤ Y N Y_1\le \cdots \le Y_N Y1≤⋯≤YN的牌,此外还有 N N N张价值为 P 1 ≤ ⋯ ≤ P N P_1\le \cdots \le P_N P1≤⋯≤PN的公共牌。
每次翻开一张公共牌。两名玩家同时出牌,牌更大的玩家会从另一玩家那里获得相当于公共牌价值的钱。游戏继续进行,直到没有牌剩下。
结果
- 定理:如果玩家2以完全随机的方式出牌,那么最大化玩家1预期获胜的策略就是,当公共牌的价值是 P i P_i Pi时,出价值为 V i V_i Vi的牌, i = 1 , … , N i=1,\dots, N i=1,…,N。(证明中用到了数学归纳法、反证和顺序交换的思想。)
疑问
- 动态规划和马尔可夫决策过程到底是什么关系?