Pythonの強化学習を学んでいますが、actionの列の出力をどうやってしたらいいかわかりません。

Pythonの強化学習を勉強しています。
下のプログラムで、各エピソードで経た「actionの列」を出力したいのですがどうやって行えばいいのかが検討もつきません。
printで出力する等、基本的な文法は理解しています。
新しい変数を作れば良いのか、「state」の列だけを取るようにしたら良いのか、またどうすればstateの列だけを取れるのか等、全くトンチンカンなことを言っているのかもしれませんが教えて頂きたいです。

import random from environment import Environment class Agent(): def __init__(self, env): self.actions = env.actions def policy(self, state): return random.choice(self.actions) def main(): # Make grid environment. grid = [ [0, 0, 0, 1], [0, 9, 0, -1], [0, 0, 0, 0] ] env = Environment(grid) agent = Agent(env) # Try 10 game. for i in range(10): # Initialize position of agent. state = env.reset() total_reward = 0 count = 0 done = False while not done: action = agent.policy(state) next_state, reward, done = env.step(action) total_reward += reward count = count + 1 state = next_state print(action) print(state) print("Episode {}: Agent gets {} reward.".format(i, total_reward)) print(count) if __name__ == "__main__": main()

コメントを投稿

0 コメント