def main(): global POPULATION_COUNT, ITERATIONS, MAX_FUNC_DEPTH file = open('data.txt', 'w') if len(sys.argv) == 3: ITERATIONS = int(sys.argv[1]) if len(sys.argv) == 3: POPULATION_COUNT = int(sys.argv[2]) f, data = create_test_data() write_init_data(file, f, data) population = create_population(POPULATION_COUNT, MAX_FUNC_DEPTH) normalizator = Normalizator(data, mistake) functions = FunctoionContainer(choose_parent_pairs2, choose_to_kill, create_children) options = Options(0.4) mutator = Mutator(population, normalizator, options, functions) print 'population: ' #for s in population: print 'm: ', mistake(s.f, data), '\t\ts.f: ', s.f for i in range(ITERATIONS): print 'population ' + str(i) + ' : ' for j in range(5): s = population[(j + 1) * (-1)] print 'm: ', mistake(s.f, data), '\t\ts.f: ', s.f if j == 1: # ITERATION_NUMBER:MISTAKE:FUNCTION write_population_data(file, i, s, mistake(s.f, data)) mutator.make_children() mutator.kill_unused() # mutator.change_random() mutator.change_age() mutator.mutate() normalizator.compute_distribuante(population) population.sort() file.close()
def main(): global POPULATION_COUNT, ITERATIONS, MAX_FUNC_DEPTH file = open('data.txt', 'w') if len(sys.argv) == 3: ITERATIONS = int(sys.argv[1]) if len(sys.argv) == 3: POPULATION_COUNT = int(sys.argv[2]) f, data = create_test_data() write_init_data(file, f, data) population = create_population(POPULATION_COUNT, MAX_FUNC_DEPTH) normalizator = Normalizator(data, mistake) functions = FunctoionContainer(choose_parent_pairs2, choose_to_kill, create_children) options = Options(0.4) mutator = Mutator(population, normalizator, options, functions) print 'population: ' #for s in population: print 'm: ', mistake(s.f, data), '\t\ts.f: ', s.f for i in range(ITERATIONS): print 'population ' + str(i) + ' : ' for j in range(5): s = population[(j+1)*(-1)] print 'm: ', mistake(s.f, data), '\t\ts.f: ', s.f if j == 1: # ITERATION_NUMBER:MISTAKE:FUNCTION write_population_data(file, i, s, mistake(s.f, data)) mutator.make_children() mutator.kill_unused() # mutator.change_random() mutator.change_age() mutator.mutate() normalizator.compute_distribuante(population) population.sort() file.close()