Skip to content
Go back

Value Iteration and Policy Iteration

Edit page

Value Iteration

Step 1: Policy update

给定 vkv_k (初始化随机),argmax计算出新的policy,用来后面算新的value:

πk+1=argmaxπ(rπ+γPπvk)\pi_{k+1} = arg\max_\pi(r_\pi+\gamma P_\pi v_k)

Step 2: Value update

根据 step 1 中的新policy,计算一个v:

vk+1=rπk+1+γPπk+1vkv_{k+1} = r_{\pi_{k+1}} + \gamma P_{\pi_{k+1}} v_k

[!notice] 此处的是通过新的policy直接作用在 vkv_k 上来计算,注意并不是Bellman equation,所以不用迭代或者矩阵求解。 因为部署Bellman equation,所以这里所有的vv都不是state value。

Policy Iteration

Step 1: Policy evaluation (PE)

和上面的Value Iteration不同,这里给定 πk\pi_k ,去计算其对应的state value:

vπk=rπk+γPπkvπkv_{\pi_k} = r_{\pi_k} + \gamma P_{\pi_k}v_{\pi_k}

[!notice] 注意此处实际上是一个Bellman equation,实操时需要通过迭代法去求解state value。 和上面的Step 2不同!!!

Step 2: Policy improvement (PI)

在求得state value之后就可以去优化得到新的policy,同样是直接argmax:

πk+1=argmaxπ(rπ+γPπvπk)\pi_{k+1} = arg\max_\pi(r_\pi + \gamma P_\pi v_{\pi_k})

Intuition -> Truncated policy iteration


Edit page
Share this post on:

Previous Post
VisMem
Next Post
Lecture 3 - Architecture