Skip to content

Commit 203dcc1

Browse files
committed
dp 4.4
1 parent 012bf67 commit 203dcc1

File tree

1 file changed

+103
-10
lines changed

1 file changed

+103
-10
lines changed

_posts/2025-09-18-dp.md

Lines changed: 103 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ v_\pi(s)
5757
$$
5858

5959
첫번째 줄과 두번째줄이 같다는 것, 그리고 그것이 네번째 줄과 같다는 것은 이전 포스트에서 증명했고, 그것을 Bellman equation이라고 했었다.
60-
그러나 세번째 줄은 조금 뜬금없어보인다.
60+
그러나 세번째 줄은 지금까지 없었던 식이다.
6161
그래, 의미상으로는 당연히 그럴 것 같은데 왜 그런 지는 그렇게까지 쉽게 설명되지 않는다.
6262
그러니, 세번째 줄로부터 시작하여 네번째 줄로 도출되는 계산을 해보려 한다.
6363

@@ -85,14 +85,15 @@ v_{k+1}(s)=\sum_a\sum_{s',r}p(s',r|s,a)\left[r+\gamma v_k(s')\right]\tag{4.5}
8585
$$
8686

8787
와 같이 변형해 가치함수들의 수열 $v_0, v_1, v_2, \cdots$을 만들어나가는 것이다.
88-
$v_0$가 임의의 함수(e.g. $v_0\equiv0$)이고 $v_\pi$가 존재한다는 조건 하에 수열 $\\{v_i\\}$가 $v_\pi$로 수렴하는 것이 알려져 있고, 이를 증명하려 한다.
88+
$v_0$가 임의의 함수(e.g. $v_0\equiv0$)이고 $v_\pi$가 존재한다는 조건 하에 수열 $\\{v_i\\}$가 $v_\pi$로 수렴하는 것이 알려져 있고 이것을 Sutton은 증명하지 않고 넘어갔다.
89+
이 포스트에서 이를 증명해보려 한다.
8990

9091
## 4.3 Bellman operation
9192

9293
먼저 할 것은 식 (4.4) 버전의 Bellman equation을 Bellman operation으로 표현하는 것이다.
9394
기본적으로 Carl Fredricksson의 자료를 따라갔다.
9495

95-
많은 계산들, 특히 marginalization이 포함되어 있으므로 천천히 계산하기 위해 일단 두 값 $A$, $B$로 분리하면
96+
많은 계산들, 특히 marginalization이 포함되어 있으므로 천천히 계산하기 위해 일단 두 값 $A$, $B$로 분리하면 식 (4.4)에서
9697

9798
$$
9899
\begin{align*}
@@ -114,7 +115,7 @@ A&=\sum_{a,s',r}r\pi(a|s)p(s',r|s,a)\\
114115
&=\sum_r r\sum_{a,s'}\frac{P\left(S_t=s,A_t=a,S_{t+1}=s',R_{t+1}=r\right)}{P\left(S_t=s\right)}\\
115116
&=\sum_r r\frac{P\left(S_t=s,R_{t+1}=r\right)}{P\left(S_t=s\right)}\\
116117
&=\sum_r r{P\left(R_{t+1}=r|S_t=s\right)}\\
117-
&=\mathbb E\left[R_{t+1}|S_t=s\right]\\
118+
&=\mathbb E_\pi\left[R_{t+1}|S_t=s\right]\\
118119
&=r_\pi(s)
119120
\end{align*}
120121
$$
@@ -130,13 +131,14 @@ $$
130131
\begin{align*}
131132
B
132133
&=\sum_{a,s',r}v_\pi(s')\pi(a|s)p(s',r|s,a)\\
133-
&=\sum_{s'}v_\pi(s')\sum_{a,r}P\left(S_t=s,A_t=a,S_{t+1}=s',R_{t+1}=r|S_t=s\right)\\
134+
&=\sum_{s'}v_\pi(s')\sum_{a,r}\frac{P\left(S_t=s,A_t=a,S_{t+1}=s',R_{t+1}=r\right)}{P\left(S_t=s\right)}\\
135+
&=\sum_{s'}v_\pi(s')\frac{P\left(S_t=s,S_{t+1}=s'\right)}{P\left(S_t=s\right)}\\
134136
&=\sum_{s'}v_\pi(s')P\left(S_{t+1}=s'|S_t=s\right)
135137
\end{align*}
136138
$$
137139

138140
와 같다.
139-
두번째 줄은 기호의 정의와 통분, 세번째 줄은 marginalization에 의해 계산되었다.
141+
두번째 줄은 기호의 정의와 통분, 세번째 줄은 marginalization, 네번째 줄은 조건부확률의 정의에 의해 계산되었다.
140142
마지막 식은 $\mathbb E\left[S_{t+1}|S_t=s\right]$로도 쓸 수 있지만 위의 계산결과까지만 사용할 것이다.
141143
즉 Bellman equation을 다시 쓰면
142144

@@ -154,7 +156,7 @@ $$
154156

155157
이 성립하는 것이다.
156158
선형(affine)방정식이니, 벡터와 행렬로 표현하면 가장 적절하다.
157-
행렬 $P$를
159+
행렬 $P\in\mathbb R^{n\times n}$를
158160

159161
$$
160162
P=
@@ -165,7 +167,7 @@ P\left(S_{t+1}=s_n|S_t=s_1\right)&\cdots&P\left(S_{t+1}=s_n|S_t=s_n\right)
165167
\end{bmatrix}
166168
$$
167169

168-
로 정의하고 벡터 $v_\pi$, $r_\pi$을
170+
로 정의하고 벡터 $v_\pi,r_\pi\in\mathbb R^n$을
169171

170172
$$
171173
v_\pi=
@@ -190,11 +192,102 @@ $$v_\pi=r_\pi+Pv_\pi$$
190192
가 된다.
191193
이런 관점에서 Bellman operation $\mathcal T^\pi$를
192194

193-
$$\mathcal T^\pi(v)=r_\pi+Pv$$
195+
$$\mathcal T^\pi(v)=r_\pi+Pv_\pi$$
194196

195197
로 정의할 수 있고 Bellman equation도 간단히 $v_\pi=\mathcal T^\pi(v_\pi)$로 쓰일 수 있다.
196198
그리고 policy evaluation 식 (4.5)도
197199

198200
$$v_{k+1}=\mathcal T^\pi(v_k)\tag{4.5*}$$
199201

200-
로 표현될 수 있다.
202+
로 표현될 수 있다.
203+
204+
## 4.4 the contraction principle
205+
206+
이제 순수하게 수학적인 정리가 나올 차례이다.
207+
baby rudin (3ed)의 9.22, 9.23에 다음과 같은 내용이 있다.
208+
먼저 9.22는 contraction에 대한 정의이다.
209+
210+
> 거리공간 $(X,d)$에 대하여 함수 $\phi:X\to X$가 어떤 음이아닌 실수 $c\lt1$에 대해 모든 $x,y\in X$에 대하여
211+
>
212+
> $$d\left(\phi(x),\phi(y)\right)\le cd(x,y)$$
213+
>
214+
> 를 만족시키면 $\phi$를 $X$의 contraction이라고 부른다.
215+
216+
contraction principle은 9.23에 해당하는 다음의 정리이다.
217+
218+
> 만약 $X$가 complete space이고 $\phi$가 $X$의 contraction이면 $\phi(x^\ast)=x^\ast$를 만족시키는 $x^\ast$가 존재하고 그러한 $x$는 유일하다.
219+
220+
어떤 거리공간이 complete하다는 것은 코시수열이 수렴한다는 것을 말한다.
221+
이 공간에서 거리가 점점 줄어드는 함수가 있으면, 그 함수는 고정점(fixed point)이 반드시 존재한다는 아주 강력하고 재미있는 정리이다.
222+
이것은 [Banach fixed point theorem](https://en.wikipedia.org/wiki/Banach_fixed-point_theorem)이라는 이름도 가지고 있다.
223+
224+
증명은 비교적 쉽다.
225+
그리고 그 fixed point를 찾아가는 과정이, 꼭 value evaluation과도 비슷하다.
226+
즉, 아무 점 $x_0\in X$를 잡더라도 $\phi$를 계속해서 취해나가면 일정한 점 $x^\ast$에 이른다는 것이다.
227+
228+
임의의 점 $x_0\in X$에서 출발하여 수열 $\\{x_n\\}_{n=0}^\infty$를
229+
230+
$$x_{n+1}=\phi(x_n)$$
231+
232+
이라고 iterative하게 정의하자.
233+
그러면
234+
235+
$$
236+
\begin{align*}
237+
d(x_n,x_{n+1})
238+
\le&d\left(\phi(x_{n-1}),\phi(x_n)\right)\\
239+
=&cd(x_{n-1},x_n)\\
240+
&\vdots\\
241+
\le&c^nd(x_0,x_1)
242+
\end{align*}
243+
$$
244+
245+
가 된다.
246+
그러면 $m\gt n$일 때
247+
248+
$$
249+
\begin{align*}
250+
d(x_n,x_m)
251+
&\le d(x_n,x_{n+1})+d(x_{n+1},x_{n+2})+\cdots+d(x_{m-1},x_m)\\
252+
&\le c^nd(x_0,x_1)+c^{n+1}d(x_0,x_1)+\cdots+c^{m-1}d(x_0,x_1)\\
253+
&=\frac{c^n(1-c^{m-n})}{1-c}d(x_0,x_1)\\
254+
&\le\frac{c^n}{1-c}d(x_0,x_1)\\
255+
\end{align*}
256+
$$
257+
258+
이다.
259+
첫번째 줄은 삼각부등식, 두번째 줄은 바로 위의 부등식, 세번째 줄은 등비수열의 합 공식을 사용했고 네번째 줄은 당연하다.
260+
그러면 임의의 양수 $\epsilon\gt0$에 대하여
261+
262+
$$\frac{c^N}{1-c}d(x_0,x_1)\lt\epsilon$$
263+
264+
을 만족시키는 자연수 $N$가 존재한다.
265+
따라서 $m\gt n\gt N$이면
266+
267+
$$
268+
d(x_n,x_m)
269+
\le\frac{c^n}{1-c}d(x_0,x_1)
270+
\le\frac{c^N}{1-c}d(x_0,x_1)\lt\epsilon
271+
$$
272+
273+
이므로 수열 $\\{x_n\\}$은 코시수열이다.
274+
그런데 $X$가 complete space이므로 이 수열은 어떤 점 $x^\ast$엔가에 수렴하게 된다.
275+
이때, $\phi$가 연속함수라는 것을 활용하면
276+
277+
$$\phi(x^\ast)=\lim_{n\to\infty}\phi(x_n)=\lim_{n\to\infty}x_{n+1}=x^\ast.$$
278+
279+
이다.
280+
즉, 고정점 $x^\ast$이 존재한다.
281+
282+
또한 만약 고정점이 두 개 $x^\ast$, $y^\ast$ 존재한다면
283+
284+
$$d(x^\ast,y^\ast)=d\left(\phi(x^\ast),\phi(y^\ast)\right)\le cd(x^\ast,y^\ast)$$
285+
286+
이 되어 $(1-c)d(x^\ast,y^\ast)\le0$, $d(x^\ast,y^\ast)=0$이 되어 $x^\ast=y^\ast$가 된다.
287+
즉 고정점 $x^\ast$는 유일하다.
288+
$\square$
289+
290+
## 4.5 proof (policy evaluation)
291+
292+
contraction principle을 활용하면 policy evaluation에 대한 증명이 가능하다.
293+
먼저 Bellman operator $\mathcal T^\pi$는 $\mathbb R^n$에서 $\mathbb R^n$으로 가는 함수인 것을 아까 봤다.

0 commit comments

Comments
 (0)