# How would I compute the optimal state-action value for a certain state and action?

I am currently trying to learn reinforcement learning and I started with the basic gridworld application. I tried Q-learning with the following parameters:

• Learning rate = 0.1
• Discount factor = 0.95
• Exploration rate = 0.1
• Default reward = 0
• The final reward (for reaching the trophy) = 1

After 500 episodes I got the following results:

How would I compute the optimal state-action value, for example, for state 2, where the agent is standing, and action south?

My intuition was to use the following update rule of the $$q$$ function:

$$Q[s, a] = Q[s, a] + \alpha (r + \gamma \max_{a'}Q[s', a'] — Q[s, a])$$

But I am not sure of it. The math doesn't add up for me (when using the update rule).

I am also wondering either I should use the backup diagram to find the optimal state-action q value by propagating the reward (gained from reaching the trophy) to the state in question.

For reference, this is where I learned about the backup diagram.

• by using the update rule in the question then you are implicitly using the backup diagram. the way to calculate the optimal q-values is using the update rule in the question. – David Ireland Feb 21 at 21:02
• So basically if I want to compute the optimal state 2 action South (where the agent is standing) considering the old q value =0.9 (q value of the red arrow where the agent is standing) and the max q(s',a') is the q value of the red arrow in the state beneath it ? – Rim Sleimi Feb 21 at 21:07
• the value of taking south from the agents current location is equal to the immediate reward it receives + the (discounted) q-value for the state it transitions into and action it takes under the current policy. as you're interested in the optimal policy then you want the action to be the one that maximises the q-value so yes it would be $r + \gamma Q(s', 'south')$ where $s'$ is the state directly below the agents current state. – David Ireland Feb 21 at 21:10
• remember though that if you would like to calculate the values 'from scratch' then using the Q-learning update rule is how you would go about it. The way I described is just the definition of a q-value. – David Ireland Feb 21 at 21:18
• Yeah I realized that there is a difference between the update rule and the definition of Q value. Thanks again! – Rim Sleimi Feb 21 at 22:25

$$Q(s, a) = r + \gamma \max_{a'} Q(s', a)\;;$$
where $$s'$$ is the state we transitioned into (note that this only holds when obtaining the optimal Q-value, if we were using a stochastic policy then we would have to introduce expectations).