def main(): args = parser.parse_args() if args.popsize < 1: print('Must specify a popsize of at least 1.', file=sys.stderr) return 1 if args.recurrent: from maw.rbrain import RBrain, brain_constructor klass = RBrain else: from maw.brain import Brain, brain_constructor klass = Brain print('Reading ' + str(klass) + ' from stdin...', file=sys.stderr) model_brain = klass.from_string(sys.stdin.read()) ga = GA(brain_constructor(model_brain.spec()), evaluator.evaluate) prepop = int(ELITISM * args.popsize) ga.add_individual(model_brain, prepop) ga.add_individual(count=args.popsize - prepop) # Random remaining brains print("# gen minFit maxFit meanFit sdFit", file=sys.stderr) while ga.generation < args.generations and not exit_early: ga.step() print_stats(ga) sorted_pop = sorted(ga.population, lambda x, y: cmp(x.fitness, y.fitness)) fittest = sorted_pop[-1] print(fittest) return 0
def main(): args = parser.parse_args() if args.recurrent: from maw.rbrain import brain_constructor else: from maw.brain import brain_constructor ctor = brain_constructor(args.sizes, randomize=not args.zeros) print(ctor(), end='')