Example #1
0
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
Example #2
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='')