コード例 #1
0
ファイル: ga.py プロジェクト: ralphbean/ms-thesis
def IO_update(ID, generation, pop, max_gens):
    # Print update to stdout:
    print "\rL: %f  a: %f      (%%%i done.)" \
            % ( mtr.fitness(pop[0]), pop[0]['amplitude'],
                    100.0 * float(generation)/(max_gens-1)),
    sys.stdout.flush()

    # Log stuff to file with shelve
    d = shelve.open("dat/" + str(ID) + "/" +
                    str(ID) + "." + str(generation) + ".pop" )
    d['pop'] = pop
    d.close()
コード例 #2
0
ファイル: ga.py プロジェクト: ralphbean/ms-thesis
def IO_update(ID, generation, pop, max_gens):
    print "\rL:", mtr.fitness(pop[0]), "a:", pop[0]['amplitude'],
    print "%", 100.0 * float(generation)/(max_gens-1),
    print " First:", first,
    sys.stdout.flush()
    # Print stuff to stdout:
#    print ID
#    print "generation: ", generation

  #  print "  best:", mtr.fitness(pop[0]), "a:", pop[0]['amplitude']
  #  print "  secn:", mtr.fitness(pop[1]), "a:", pop[1]['amplitude']
  #  print "  wrst:", mtr.fitness(pop[-1]), "a:", pop[-1]['amplitude']

    # Log stuff to file with shelve
    d = shelve.open("dat/" + str(ID) + "." + str(generation) + ".pop" )
    d['pop'] = pop
    d.close()
コード例 #3
0
ファイル: ga.py プロジェクト: ralphbean/ms-thesis
def initialize_pop():
    # Some initialization constants:
    lower_size = 2
    upper_size = 50
    num = 100

    pop = []
    for j in range(num):
        print "\rInitializing Population             %", 100*float(j)/(num-1),
        sys.stdout.flush()
        org = { 'org':
           [[random()*2-1 for i in range(randint(lower_size, upper_size))],
            [0,0,0]],
           'amplitude' : random() * 0.1 + 0.05 }
        org['fitness'] = mtr.fitness(org)
        pop.append(org)
    print "  Done."
    return pop