Dynamic Programming
Dynamic : sequential or temporal component to the problem
Programming : optimising a โprogramโ c.f. linear programming
๋ณต์กํ ๋ฌธ์ ๋ฅผ ํธ๋ ๋ฐฉ๋ฒ์ ์๋ฏธ
Requirements for Dynamic Programming
โข
Optimal substructure
โข
Overlapping subproblems
DP๋ 2๊ฐ์ง ์์ฑ์ ๊ฐ์ง ๋ฌธ์ ๋ค์ ์ํ ์ผ๋ฐ์ ์ธ ์๋ฃจ์
๋ฐฉ๋ฒ์ด๋ค.
Markov decision processes attribute
1.
Bellman equation gives recursive decomposition
2.
Value function stores and reuse solutions
Planning by Dynamic Programming
Planning ์ด๋ ๋ชจ๋ธ์ ์๊ณ ์์ ๋, MDP๋ฅผ ํธ๋ ๋ฌธ์ ๋ฅผ ์๋ฏธํ๋ค.
โ ์ต์ ์ policy๋ฅผ ์ฐพ๋ ๊ฒ์ ์๋ฏธ
ํ๋ค์ ์๋ฏธ๋ก 2๊ฐ์ง ์ข
๋ฅ๊ฐ ์๋ค.
1.
prediction
2.
control
Prediction โ value function์ ์ฐพ๋ ๊ฒ
MDP ์์ P๋ transition matrix ๋ก์จ ํ๋ฅ ์ด ๋ด๊ฒจ ์๋ค.
์ฌ๊ธฐ์ policy pi๋ optimal ์ด ์๋์ด๋ ๋๋ค.
์ด๋ ํ policy๋ฅผ ๋์ ธ ์ฃผ๋ฉด ๊ทธ์ ๋ง๋ value function์ ๋ฐํํด์ฃผ๋ ๊ฒ์ prediction์ ํธ๋ ๊ฒ์ด๋ผ ํ๋ค.
Control โ optimal policy๋ฅผ ์ฐพ๋ ๊ฒ
Policy Evaluation
Iterative Policy Evaluation
Problem : evaluate a given policy pi
Solution : iterative application of Bellman expectation backup
backup์ memory์ ์ ์ฅํ๊ฒ ๋๋ค.
๋ชจ๋ iteration๋์์ ์กด์ฌํ๋ ๋ชจ๋ state S์ ๋ํด v(k(sโ)) ๋ก๋ถํฐ v(k+1(s))๋ฅผ ์
๋ฐ์ดํธ ํ๋ ๊ฒ์ synchronous backups๋ผ ํ๋ค.
sโ๋ s์ ์ด์ด์ง๋ state๋ฅผ ์๋ฏธํ๋ค.
์์ ๊ฐ์ ๊ณ์ฐ์ ๊ณ์ํ๋ค๋ณด๋ฉด v(pi)์ ์๋ ดํ๋ค.
Iterative Policy Evaluation
๊ฐ์ฅ ์์ ์กด์ฌํ๋ state์ value function์ ์ด์ ์ state๋ค์ value function ๋ค๋ก ๋ถํฐ ์
๋ฐ์ดํธ๋๋ค.
Policy Iteration
How to Improve a Policy
Given a policy ฯ
โข
Evaluate the policy ฯ
โข
Improve the policy by acting greedily with respect to v(ฯ)
But this process of policy iteration always converges to ฯโ
์์์ ์ด์ํด๋ ๋์ optimal ๋ก ์๋ ดํ๋ ๊ฒ์ ๋ณผ ์ ์์.
โข
Policy evaluation : Estimate v(ฯ) Iterative policy evaluation
โข
Policy improvement : Generate ฯโฒ โฅ ฯ Greedy policy improvement
Value Iteration
Principle of Optimality
Any optimal policy can be subdivided into two components:
โข
An optimal first action Aโ
โข
Followed by an optimal policy from successor state Sโฒ
Deterministic Value Iteration
์ ์์ nolinear function ๋๋ฌธ์ inverse๋ฅผ ๊ตฌํ์ง ๋ชปํด ์ง์ ์ ์ธ ์๋ฃจ์
์ ๊ณ์ฐํ ์์์ด iterative ๋ฐฉ์์ผ๋ก ๊ตฌํด์ผํ๋ Optimality Equation ์ด๋ค.
๋ค์์ ๊ฐ ์ ์๋ state์์์ optimal value function์ ๊ฐ์ง๊ณ ํ์ฌ state์์์ optimal value๋ฅผ ์ฐพ๋๋ค๋ ๊ฑด ์ง๊ด์ ์ผ๋ก ์ต์ข
reward๋ก๋ถํฐ ์์ํด์ ๊ฑฐ๊พธ๋ก ์์ ํฅํด ์ฐพ์๋๊ฐ๋ค ๊ฒ์ ์๋ฏธํ๋ค.
Value Iteration
โข
Unlike policy iteration, there is no explicit policy
โข
Intermediate value functions may not correspond to any policy
Synchronous Dynamic Programming Algorithms
Problem | Bellman Equation | Algorithm |
Prediction | Bellman Expectation Equation | Iterative Policy Evaluation |
Control | Bellman Expectation Equation + Greedy Policy Improvement | policy Iteration |
Control | Bellman Optimality Equation | Value Iteration |
โข
Algorithms are based on state-value function v(ฯ(s)) or v(โ(s))
โข
Complexity O(mn2) per iteration, for m actions and n states
Cost๊ฐ ๋งค์ฐ ๋์
Asynchronous Dynamic Programming
์ง๊ธ๊น์ง์ DP ๋ฐฉ์์ synchronous backup ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
โ ๋ชจ๋ state๋ค์ด parallel ํ๊ฒ ๋ฐฑ์
์ด ๋์๋ค.
Asynchronous Dynamic Programming ๋ฐฉ์์ ์๋ฌด ์์๋ก๋ state๋ค์ ๊ฐ๋ณ์ ์ผ๋ก ๋ฐฑ์
ํ๋ค.
โ ์ ํ๋ ๊ฐ๊ฐ์ state์ ๋ํด์๋ง ์ ์ ํ ๋ฐฑ์
์ ์ํํ๋ค.
๋ชจ๋ state๋ค์ด ๊ณจ๊ณ ๋ฃจ ๋ค ๋ฝํ๋ค๋ฉด Convergence๋ฅผ ๋ณด์ฅํ๋ค.