def __init__(self): self.generation = 0 evolver.TIME = time.time() evolver.SAVE_BEST = False evolver.CODON_SIZE = 100 evolver.ELITE_SIZE = 0 evolver.POP_SIZE = 200 evolver.GENERATION_SIZE = 1 evolver.GENERATIONS = 50 evolver.DEFAULT_FIT = 100000 evolver.MUTATION_PROBABILITY = 0.015 evolver.CROSSOVER_PROBABILITY = 0.0 evolver.GRAMMAR_FILE = "grammars/support2.bnf" evolver.FITNESS_FUNCTION = evolver.StructuralFitness() evolver.IMG_COUNTER = 0 self.popSize = evolver.POP_SIZE self.grammar = evolver.Grammar(evolver.GRAMMAR_FILE) self.individuals = evolver.initialise_population(evolver.POP_SIZE) for idx, indiv in enumerate(self.individuals): indiv.UID = idx if idx > 0: indiv.genome = None evolver.evaluate_fitness(self.individuals, self.grammar, evolver.FITNESS_FUNCTION) self.best_ever = min(self.individuals) self.individuals.sort() evolver.create_meshes(self.individuals) evolver.print_stats(1, self.individuals)
def __init__(self): self.generation = 0 evolver.TIME = time.time() evolver.SAVE_BEST = True evolver.CODON_SIZE = 100 evolver.ELITE_SIZE = 1 evolver.POPULATION_SIZE = 35 evolver.GENERATION_SIZE = 35 evolver.FRONT_FOLDER = "frontData" evolver.GENERATIONS = 5 evolver.DEFAULT_FIT = 100000000000000 evolver.MUTATION_PROBABILITY = 0.015 evolver.CROSSOVER_PROBABILITY = 0.7 evolver.GRAMMAR_FILE = "grammars/jon_pylon10.bnf" evolver.FITNESS_FUNCTION = evolver.StructuralFitness() evolver.IMG_COUNTER = 0 self.pop_size = evolver.POPULATION_SIZE self.grammar = grammar.Grammar(evolver.GRAMMAR_FILE) self.individuals = evolver.initialise_population(evolver.POPULATION_SIZE) for idx, indiv in enumerate(self.individuals): indiv.uid = idx self.selection = lambda x: evolver.tournament_selection(x, evolver.POPULATION_SIZE) evolver.evaluate_fitness(self.individuals, self.grammar, evolver.FITNESS_FUNCTION) self.best_ever = min(self.individuals) self.fronts = [] self.individuals.sort() print "creating meshes" evolver.create_meshes(self.individuals) evolver.print_stats(1, self.individuals)
def step(self): """creates next generation""" print("no. of indivs: " + str(len(self.individuals))) self.individuals, self.fronts, self.best_ever = evolver.step( self.individuals, self.fronts, self.grammar, self.selection, evolver.FITNESS_FUNCTION, self.best_ever) evolver.print_stats(self.generation, self.individuals) sys.stderr.write("Gen: " + str(self.generation) + "\n") self.generation += 1