def run_agent(nb_episodes, args): env_class = environment.EnvironmentGridWorld() agent_class = arg_dico[args.agent] print("Running a single instance simulation...") name = args.agent my_runner = runner.Runner(env_class, agent_class(env_class), name) if name in ["RD", "QL", "SARSA"]: final_reward = my_runner.loop(nb_episodes) plot_results([final_reward], [args.agent]) elif name in ["PI", "VI"]: policy, V = my_runner.loop(nb_episodes) plot_policy(policy, V, name)
def main(): nb_episodes = 500 args = parser.parse_args() if args.agent != "ALL": run_agent(nb_episodes, args) else: list_final_reward = [] list_agent = [] for agent in ["RD", "QL", "SARSA"]: env_class = environment.EnvironmentGridWorld() agent_class = arg_dico[agent] print("Running a single instance simulation...") my_runner = runner.Runner(env_class, agent_class(env_class), agent) final_reward = my_runner.loop(nb_episodes) list_final_reward.append(final_reward) list_agent.append(agent) plot_results(list_final_reward, list_agent)