MDP를 푼다는 것은 optimal policy 를 구한다는 것과 동일하며, 이는 결국 Bellman optimality equation를 푸는 것과 동일하다. 여기서는 non-linear equation인 Bellman optimality equation를 푸는 알고리즘에 대해서 소개한다.
Prediction and Control
우선 알고리즘을 소개하기 전, prediction과 control에 대해 정의하자.
-
Prediction: 주어진 MDP와 policy 에 대해서, value function 를 찾아내는 것
-
Control: 주어진 MDP에 대해, optimal policy 또는 optimal value function 를 찾아내는 것
Iterative Policy Evaluation
Policy evaluation은 prediction 방법 중 하나로, 일반적으로 dynamic programming을 통해 이를 진행한다. 특히, Bellman expectation equation을 iterative하게 적용하여 converge 시키는 방법을 이용하기 때문에 iterative policy evaluation이라고도 한다.
해당 알고리즘은 다음과 같이 동작한다.
-
모든 state에 대해 임의의 state-value를 생성한다.
-
Value function에 대한 Bellman expectation backup을 반복적으로 적용한다.
- Backup: 현재 state value를 다음 state의 value와 reward에 따라 update하는 것을 의미
-
Value function이 수렴하면 종료
- for a small
위 과정은 action-value function 에 대해서도 동일하게 적용된다.
Iterative policy evaluation은 임의의 value 값에 대해서도 convergence가 보장이 되어있다. 이는 contraction mapping theorem에 의한 것으로, 자세한 설명은 생략한다.
Policy Improvement
Policy evaluation을 통해 얻은 현재 policy 의 value function을 이용해 더 나은 policy 을 얻을 수 있다. 이를 policy improvement라고 한다.
Policy improvement는 무척 간단한데, 단순하게 현재 value function 또는 기준으로 greedy하게 행동하는 policy를 얻으면 된다.
이렇게 얻은 새로운 policy 는 모든 state에 있어서 기존 policy 보다 같거나 더 높은 value를 가지도록 행동하기 때문에, 기존 policy보다 더 나은 policy임을 쉽게 알 수 있다.
Policy Iteration
Policy iteration이란 policy evaluation과 policy improvement의 반복되는 과정을 말한다. 즉, 현재 policy에서 value function을 얻고, 더 나은 policy를 얻고, 이를 이용해 다시 value function을 얻고, 다시 더 나은 policy를 얻는 과정을 계속적으로 반복한다.

Policy iteration 과정에서 가장 시간이 많이 소요되는 부분은 policy evaluation이다. 하지만, Bellman 연산자는 MDP에서 convergence가 보장되어 있기 때문에, 꼭 policy evaluation을 끝까지 수행하지 않아도 policy iteration을 통해 optimal policy를 얻을 수 있다.
단, 모든 state가 1번씩은 update되어야 optimal policy에 도달할 수 있다.
Value Iteration
Value iteration은 Bellman optimality backup을 반복적으로 적용하는 것으로 optimal policy를 얻는 control 방법이다.
Value iteration은 policy iteration과 다르게 policy를 따로 참조하지 않고, 함수를 통해 이를 대신한다.
Value iteration은 1-step policy evaluation + argmax policy improvement로 볼 수 있다.
Value iteration 역시 contraction mapping thoerem에 의해 convergence가 보장되어 있다.
Summary
| 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 |
개의 action과 개의 state가 있을 때, state-value function 를 이용한 알고리즘은 , action-value function 를 이용한 알고리즘은 의 시간복잡도 (iteration 당)을 갖는다.