# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text. from irlc.ex01.agent import train from irlc.pacman.pacman_environment import GymPacmanEnvironment from irlc.utils.video_monitor import VideoMonitor from irlc.ex03multisearch.multisearch_agents import GymMinimaxAgent layout_str = """ %%%%%%%%% % % % %%%% % % % % P % %%%% % %%%% .G % %%%% % %%%%%%%%% """.strip() def gminmax(layout='smallClassic', layout_str=layout_str, Agent=None, depth=3, **kwargs): zoom = 2 env = GymPacmanEnvironment(layout=layout, layout_str=layout_str, zoom=zoom, **kwargs) agent = Agent(env, depth=depth) from irlc import PlayWrapper agent = PlayWrapper(agent, env) env = VideoMonitor(env, agent=agent, agent_monitor_keys=tuple(), fps=10) train(env, agent, num_episodes=30) env.close() if __name__ == "__main__": d = 3 gminmax(layout='minimaxClassic', layout_str=layout_str, Agent=GymMinimaxAgent,depth=d) # gminmax(layout='minimaxClassic', layout_str=layout_str, Agent=GymAlphaBetaAgent, depth=d) # gminmax(layout='minimaxClassic', layout_str=layout_str, Agent=GymExpectimaxAgent,depth=d)