190 likes | 375 Views
MDP Reinforcement Learning. Markov Decision Process. “Should you give money to charity?”. “Should you give money to charity?”. “Would you contribute?”. “Would you contribute?”. $. Charity MDP. State space : 3 states
E N D
Markov Decision Process “Should you give money to charity?” “Should you give money to charity?” “Would you contribute?” “Would you contribute?” $
Charity MDP • State space : 3 states • Actions : “Should you give money to charity” ,“Would you contribute” • Observations : knowledge of current state • Rewards : in final state, positive reward proportional to amount of money gathered
So how can we raise the most money (maximize the reward)? • I.e. What is the best policy? • Policy : optimal action for each state
Lecture Outline • Computing the Value Function • Finding the Optimal Policy • Computing the Value Function in an Online Environment
Useful definitions Define: to be a policy (j) : the action to take in j R(j) the reward from a certain state f(j,) : the next state, starting from state j and performing action
Computing The Value Function • When the reward is known, we can compute the value function for a particular policy • V(j), the value function : Expected reward for being in state j, and following a certain policy
Calculating V(j) • Set V0 (j) = 0, for all j • For i = 1 to Max_i • Vi (j) = R(j) + V(i-1) (f(j, (j))) • = the discount rate, measures how much future rewards can propagate to previous states Above formula depends on the rewards being known
Value Fn forthe Charity MDP • Fixing at .5, and two policies, one which asks both • questions, and the other cuts to the chase • What is V3 if : • Assume that the reward is constant at the final state • (everyone gives the same amount of money) • 2. Assume that if you ask if one should give to charity, the • reward is 10 times higher.
Given the value function, how can we find the policy which maximizes the rewards?
Policy Iteration • Set 0 to be an arbitrary policy • Set i to 0 • Compute Vi(j) for all states j • Compute (i+1)(j) = argmax Vi(f(j,)) • If (i+1) = i stop, otherwise i++ and back to step 3 What would this for the charity MDP for the two cases?
Lecture Outline Computing the Value Function Finding the Optimal Policy Computing the Value Function in an Online Environment
MDP Learning • So, the rewards are known, we can calculate the optimal policy using policy iteration. • But what happens in the case where we don’t know the rewards?
Lecture Outline Computing the Value Function Finding the Optimal Policy Computing the Value Function in an Online Environment
Deterministic vs. Stochastic Update Deterministic : Vi (j) = R(j) + V(i-1) (f(j, (j))) Stochastic : V(n) = (1 - ) V(n) + [r + V(n’)] • Difference in that stochastic version averages over all visits to the state
MDP extensions • Probabilistic state transitions • How should you calculate the value function for the first state now? “Would you like to contribute?” .8 ““Would you like to contribute?” .2 Mad Happy +10 -10
Probabilistic Transitions • Online computation strategy works the same even when state transitions are unknown • Works in the case when you don’t know what the transitions are
Online V(j) Computation • For each j initialize V(j) = 0 • Set n = initial state • Set r = reward in state n • Let n’ = f(n, (n)) • V(n) = (1 - ) V(n) + [r + V(n’)] • n = n’, and back to step 3
1-step Q-learning • Initialize Q(n,a) arbitraily • Select as policy • n = initial state, r = reward, a = (n) • Q(n,a) = (1 - ) Q(n,a) + [r + maxa’Q(n’,a’)] • n = n’, and back to step 3