Esempio n. 1
0
def eval_genome(genome, config):
    net = neat.nn.FeedForwardNetwork.create(genome, config)

    fitnesses = []

    for runs in range(runs_per_net):
        sim = Simulator(testNum=runs)

        # Run the given simulation for up to num_steps time steps.
        while sim.shouldContinue():
            inputs = sim.getInputActivations()
            action = net.activate(inputs)

            # Apply action to the simulated cart-pole
            sim.update(action[0], action[1])

        fitnesses.append(sim.getFitness())

    # The genome's fitness is its worst performance across all runs.
    return statistics.mean(fitnesses)