コード例 #1
0
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)
コード例 #2
0
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)