Beispiel #1
0
    plt.show()


def sample_fitness(genome):
    sum_weight = sum(
        [conn.weight for conn in genome.connection_genes.values()])
    if sum_weight > 50:
        return 1.0
    return 0.0


if __name__ == "__main__":
    i = Innovator()
    r = Random()
    e = Evaluator(sample_fitness, i, [TestNode])

    iters = 100

    e.initialize_population(size=(1, 2))
    for _ in progressbar.progressbar(range(iters)):
        e.evolve_generation()

    pop = list(e.previous_generation.items())
    pop.sort(key=lambda x: x[1].fitness, reverse=True)
    for (genome_id, genome) in pop[:1]:
        genome.vizualize_genome(
            genome_id, "genome {} -- {}".format(
                genome_id, 1 / genome.fitness if genome.fitness > 0 else 0))

    plt.show()