# Why a Random Reward in One-step Dynamics MDP?

I am reading the 2018 book by Sutton & Barto on Reinforcement Learning and I am wondering the benefit of defining the one-step dynamics of an MDP as $$p(s',r|s,a) = Pr(S_{t+1},R_{t+1}|S_t=s, A_t=a)$$ where $$S_t$$ is the state and $$A_t$$ the action at time $$t$$. $$R_t$$ is the reward.

This formulation would be useful if we were to allow different rewards when transitioning from $$s$$ to $$s'$$ by taking an action $$a$$, but this does not make sense. I am used to the definition based on $$p(s'|s,a)$$ and $$r(s,a,s')$$, which of course can be derived from the one-step dynamics above.

Clearly, I am missing something. Any enlightenment would be really helpful. Thx!

• Could you explain why, to you, that "allow different rewards when transitioning from 𝑠 to 𝑠′ by taking an action 𝑎" does not make sense? It makes sense to me, but I cannot explain it to you, unless you give more details about what is wrong with the idea to you Mar 16 '19 at 22:39
• My understanding is that given a starting state and a target state, reachable by applying action $a$, there is only a single reward. If we have multiple rewards, then we are allowing the Markov Chain model (thought as a graph) being a multi-graph where we can go from $s$ to $s'$ (with $a$) over an edge with reward $r$ and another with reward $r'$. I thought this is not the right model ... but again ... I might be wrong ... Mar 16 '19 at 22:46

In general, $$R_{t+1}$$ is is a random variable with conditional probability distribution $$Pr(R_{t+1}=r|S_t=s,A_t=a)$$. So it can potentially take on a different value each time action $$a$$ is taken in state $$s$$.

Some problems don't require any randomness in their reward function. Using the expected reward $$r(s,a,s')$$ is simpler in this case, since we don't have to worry about the reward's distribution. However, some problems do require randomness in their reward function. Consider the classic multi-armed bandit problem, for example. The payoff from a machine isn't generally deterministic.

As the basis for RL, we want the MDP to be as general as possible. We model reward in MDPs as a random variable because it gives us that generality. And because it is useful to do so.

State is just an observation of the environment, in many case, we can't get all the variables to fully describe the environment(or maybe it's too time-consuming or space consuming to cover every thing). Just imagine you are designing an robot, you can't and don't need to define a state covering the direction of wind, the density of the atmosphere etc.

So, although you are in the same state(the same just means the variables you care about have the same value, but not all dynamics of the environment), you are not totally in the same environment.

So, we can say that, from one particular state to another particular state, the reward may be different, because the state is not the environment, and the environment can't never be the same, because time is flowing

• Very good explanation! Mar 24 '19 at 5:26