Esempio n. 1
0
if(pool.get_size() == 0):
    pool.seed(100)
    pool.race(top=10, games_per_snake=5)

for epoch in range(5):

    Log("--- Epoch #{} ---".format(epoch))

    pool.populate(pool_size=100, alpha = ALPHA)
    snakes, scores = pool.race(top=10, games_per_snake=5)

    for i,score  in enumerate(scores):
        snake = snakes[i]
        Log("Rank #{} - [{}] Gen: {} - Fitness = {}".format(i, snake.get_id(), snake.get_generation(), score))
    
    Log("")

pool.save(POOL_NAME)

#test best snake
snake = pool.get_snakes()[0]
best_game, worst_game = test_snake(snake, number_of_games=100, board_size=BOARD_SIZE, max_moves=MAX_MOVES, predictor=network)

#replay best & worst games
animator = Animator()
animator.animate(best_game, fps=FPS)
animator.animate(worst_game, fps=FPS)