Added save_data attribute to be able to turn off saving the population to the database.

This commit is contained in:
danielwilczak
2021-05-04 23:39:37 -04:00
parent f54c188136
commit b4de63eb48
3 changed files with 32 additions and 14 deletions

View File

@ -1,18 +1,33 @@
import matplotlib.pyplot as plt
import EasyGA
import random
for _ in range(2):
# Create a new genetic algorithm each.
ga = EasyGA.GA()
ga.evolve()
ga.print_population()
# Create the Genetic algorithm
ga = EasyGA.GA()
# Graph the average of the two runs
plt.subplot(1, 2, 1)
ga.graph.highest_value_chromosome("average")
ga.save_data = False
plt.subplot(1, 2, 1)
ga.graph.highest_value_chromosome("all")
def is_it_5(chromosome):
"""A very simple case test function - If the chromosomes gene value is a 5 add one
to the chromosomes overall fitness value."""
# Overall fitness value
fitness = 0
# For each gene in the chromosome
for gene in chromosome.gene_list:
# Check if its value = 5
if(gene.value == 5):
# If its value is 5 then add one to
# the overal fitness of the chromosome.
fitness += 1
ga.graph.show()
return fitness
ga.fitness_function_impl = is_it_5
# Create random genes from 0 to 10
ga.gene_impl = lambda: random.randint(0, 10)
ga.evolve()
# Print your default genetic algorithm
ga.print_generation()
ga.print_population()