INNER CODE UNIT · Python
next_value_table
rlcode/reinforcement-learning · 1-grid-world/1-policy_iteration.py:19
next_value_table = [[0.00] * self.env.width
for _ in range(self.env.height)]
# Bellman Expectation Equation for the every states
for state in self.env.get_all_states():
value = 0.0
# keep the value function of terminal states as 0
if state == [2, 2]:
next_value_table[state[0]][state[1]] = value
continue
for action in self.env.possible_actions:
next_state = self.env.state_after_action(state, action)
reward = self.env.get_reward(state, action)
next_value = self.get_value(next_state)
value += (self.get_policy(state)[action] *
(reward + self.discount_factor * next_value))