Esempio n. 1
0
def run(rep="bubble_down"):
    variga.MINLEN = 100
    variga.MAXLEN = 100
    variga.PHENOTYPE_DISTANCE = tree_distance
    variga.FITNESS = srff
    if rep == "bubble_down":
        variga.GENERATE = generate_bubble_down_fn
    elif rep == "grow":
        variga.GENERATE = generate_grow_fn
    else:
        raise ValueError
    variga.MAXIMISE = False
    variga.SUCCESS = success
    variga.POPSIZE = 4000
    variga.GENERATIONS = 50
    variga.PMUT = 0.01
    variga.CROSSOVER_PROB = 0.7
    variga.ELITE = 1
    variga.TOURNAMENT_SIZE = 3
    variga.WRAPS = 1
    variga.main()
Esempio n. 2
0
def run(fitness_fn_key, rep="bubble_down"):
    fitness_fn = fitness.benchmarks(fitness_fn_key)
    gp.set_fns_leaves(fitness_fn.arity)
    variga.MINLEN = 100
    variga.MAXLEN = 100
    variga.PHENOTYPE_DISTANCE = gp.tree_distance
    variga.FITNESS = fitness_fn
    if rep == "bubble_down":
        variga.GENERATE = generate_bubble_down_tree_and_fn
    elif rep == "grow":
        variga.GENERATE = generate_grow_tree_and_fn
    else:
        raise ValueError
    variga.MAXIMISE = False
    variga.SUCCESS = success
    variga.POPSIZE = 1000
    variga.GENERATIONS = 100
    variga.PMUT = 0.01
    variga.CROSSOVER_PROB = 0.7
    variga.ELITE = 1
    variga.TOURNAMENT_SIZE = 3
    variga.WRAPS = 1
    variga.main()
Esempio n. 3
0
File: lccb.py Progetto: jmmcd/PODI
def run(fitness_fn, rep="bubble_down"):
    variga.MINLEN = 100
    variga.MAXLEN = 100
    variga.PHENOTYPE_DISTANCE = gp.tree_distance
    # run the fitness function as normal to get individuals' semantics
    variga.FITNESS = fitness_fn
    # but overwrite the individuals' fitness values
    variga.COEVOLUTIONARY_FITNESS = lambda pop: LCCB_coevo(fitness_fn, pop)
    if rep == "bubble_down":
        variga.GENERATE = lambda rng: generate_bubble_down_tree_and_fn_minn_maxn(10, 20, rng)
    elif rep == "grow":
        variga.GENERATE = generate_grow_tree_and_fn_maxd
    else:
        raise ValueError
    variga.MAXIMISE = False    
    variga.SUCCESS = lambda x: False # FIXME
    variga.POPSIZE = 50
    variga.GENERATIONS = 20
    variga.PMUT = 0.01
    variga.CROSSOVER_PROB = 0.7
    variga.ELITE = 1
    variga.TOURNAMENT_SIZE = 3
    variga.WRAPS = 1
    variga.main()
Esempio n. 4
0
File: ge.py Progetto: squeakus/PODI
    yield t[0], t, path + (0,)
    for i, item in enumerate(t[1:], start=1):
        if isinstance(item, str):
            yield item, item, path + (i,)
        else:
            for s in traverse(item, path + (i,)):
                yield s

# grammar = Grammar("grammars/symbolic_regression_2d.bnf")
grammar = Grammar("grammars/sr_2d_ne_test.bnf")
srff = fitness.benchmarks()["pagie_2d"]
MAX_CODON = 127
def generate(random):
    return random_str_mod(random, grammar)
def success(err):
    return False # let's just keep running so all runs are same length
variga.GENERATE = generate
variga.FITNESS = srff
variga.SUCCESS = success
variga.POPSIZE = 1000
variga.GENERATIONS = 40
variga.PMUT = 0.01
variga.CROSSOVER_PROB = 0.7
variga.MINLEN = 100 # ponyge uses 100 for all initialisation, no min/maxlen
variga.MAXLEN = 100
variga.MAXIMISE = False
variga.ELITE = 1
variga.TOURNAMENT_SIZE = 3
variga.WRAPS = 1
variga.main()