def team_test(load=False): game = Game(100, 100) agent1 = Agent() agent1b = Agent() agent2 = QLearningAgent(epsilon=0.5, alpha=.2, alpha_decay=1.0) agent2b = QLearningAgent(epsilon=0.5, alpha=.2, alpha_decay=1.0) if load: agent2.load_weights("team_weights.txt") agent2.alpha = 0 # add agents game.add_agent(agent1, (47, 30), 0) game.add_agent(agent1b, (53, 30), 0) game.add_agent(agent2, (0, 0), 1) game.add_agent(agent2b, (0, 50), 1) # simulate game iterations = 10000 atexit.register(lambda: agent2.save_weights("team_weights.txt")) game.start() # agent2.debug = True if not load: run_for_iterations(game, iterations) game.add_listener(GraphicsListener(game)) agent2.epsilon = 0.01 agent2b.epsilon = 0.01 for _ in xrange(iterations): game.loop() time.sleep(.05)
def single_agent_test(load=False): game = Game(100, 100) agent = QLearningAgent(alpha=.2, alpha_decay=1.0, epsilon=.5) if load: agent.load_weights("single_agent_weights.txt") agent.alpha = 0 agent.epsilon = .01 # add agents game.add_agent(agent, (25, 15), 0) # simulate game iterations = 50000 atexit.register(lambda: agent.save_weights("single_agent_weights.txt")) game.start() # agent.debug = True if not load: run_for_iterations(game, 10000) game.add_listener(GraphicsListener(game)) for _ in xrange(iterations): game.loop() time.sleep(.05)