def simulate(self, policy):
    path = list()
    t = 1
    s = self.map[tuple(self.initial_state)]
    path.append(self.initial_state)
    next_s = self.__move(s, policy[s])
    path.append(self.states[next_s])
    T = 40
    while (t < T):
        s = next_s
        next_s = self.__move(s, policy[s])
        path.append(self.states[next_s])
        t += 1
    return path
def simulate(self, policy):
    path = list()
    t = 1
    s = self.map[tuple(self.initial_state)]
    path.append(self.initial_state)
    next_s = self.__move(s, policy[s])
    path.append(self.states[next_s])
    T = 40
    while (t < T):
        s = next_s
        next_s = self.__move(s, policy[s])
        path.append(self.states[next_s])
        t += 1
    return path