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)