def get_possible_next_states(self, state, action):
        assert self.observation_space.contains(state)
        assert self.action_space.contains(action)

        x = state / self.n_col
        y = state % self.n_col
        coords = np.array([x, y])

        increments = np.array([[0, -1], [1, 0], [0, 1], [-1, 0]])
        next_coords = np.clip(
            coords + increments[action],
            [0, 0],
            [self.n_row - 1, self.n_col - 1]
        )
        next_state = next_coords[0] * self.n_col + next_coords[1]
        state_type = self.desc[x, y]
        next_state_type = self.desc[next_coords[0], next_coords[1]]
        if next_state_type == 'W' or state_type == 'H' or state_type == 'G':
            return [(state, 1.)]
        else:
            return [(next_state, 1.)]
Given the state and action, return a list of possible next states and their probabilities. Only next states
dataset/ETHPy150Open rllab/rllab/rllab/envs/grid_world_env.py/GridWorldEnv.get_possible_next_states