nb_generations = 100 size_population = 100 # size_population = len(authors_features.keys()) population = tw.init_population_mask(size_population, len(base_vector), mask_chromosome, 500) fitness_population = [float(f) for f in run_chromosomes(population, cmd, history)] history = make_history(population, fitness_population) for i in xrange(nb_generations) : # print 'select' selected = tw.selection(population, fitness_population) #mutate mutants = [] for chromosome in selected : if random.randint(0,1) == 1 : mutants.append(tw.mutate(chromosome, 500)) current = selected + mutants #lobotomize lobos = [] for chromosome in current : if random.randint(0,1) == 0 : lobos.append(tw.lobotomize(chromosome)) #trisofy trisos = [] for chromosome in current : if random.randint(0,1) == 0 : trisos.append(tw.trisofy(chromosome))
size_population = 10 population = tw.init_population(size_population, len(base_vector)) fitness_population = [float(f) for f in run_chromosomes(population,cmd)] # for chromosome in population : # fitness_population.append(run_chromosome(chromosome, cmd))# tw.fitness(chromosome, base_vector, authors_features, authors_test)) print fitness_population for i in xrange(nb_generations) : selected = tw.selection(population, fitness_population) #mutate mutants = [] for chromosome in selected : if random.randint(0,1) == 1 : mutants.append(tw.mutate(chromosome)) #lobotomize lobos = [] for chromosome in selected : if random.randint(0,1) == 1 : lobos.append(tw.lobotomize(chromosome)) #crossover crossed = [] for chromosome1, chromosome2 in itertools.combinations(selected, 2) : if random.randint(0,10) == 1 : crossed.append(tw.crossover(chromosome1, chromosome2)) population = mutants + crossed + selected + lobos # fitness_population = [] fitness_population = [float(f) for f in run_chromosomes(population,cmd)]
#crossover crossed = [] for chromosome1, chromosome2 in itertools.combinations(selected, 2): if random.randint(0, 10) == 1: offspring1, offspring2 = tw.crossover2(chromosome1, chromosome2) crossed.append(offspring1) crossed.append(offspring2) # crossed.append(tw.crossover(chromosome1, chromosome2)) current = selected + crossed #mutate mutants = [] for chromosome in current: if random.randint(0, 1) == 1: mutants.append(tw.mutate(chromosome)) #lobotomize # lobos = [] # for chromosome in current : # if random.randint(0,1) == 1 : # lobos.append(tw.lobotomize(chromosome)) #trisofy # trisos = [] # for chromosome in current : # if random.randint(0,1) == 1 : # trisos.append(tw.trisofy(chromosome)) population = selected + crossed + mutants # + lobos + trisos # population = selected + mutants + crossed
population = tw.init_population_mask(size_population, len(base_vector), mask_chromosome, 500) fitness_population = [ float(f) for f in run_chromosomes(population, cmd, history) ] history = make_history(population, fitness_population) for i in xrange(nb_generations): # print 'select' selected = tw.selection(population, fitness_population) #mutate mutants = [] for chromosome in selected: if random.randint(0, 1) == 1: mutants.append(tw.mutate(chromosome, 500)) current = selected + mutants #lobotomize lobos = [] for chromosome in current: if random.randint(0, 1) == 0: lobos.append(tw.lobotomize(chromosome)) #trisofy trisos = [] for chromosome in current: if random.randint(0, 1) == 0: trisos.append(tw.trisofy(chromosome))