def fitness_function(bin_string):
    from expression import eval_bin_string
    val = eval_bin_string(bin_string)
    if val == required_int:
        ret = float("inf")
    else:
        ret = 1 / abs(float(val - required_int))
    return ret
Пример #2
0
def fitness_function(bin_string):
    from expression import eval_bin_string
    val = eval_bin_string(bin_string)
    if val == required_int:
        ret = float("inf")
    else:
        ret = 1 / abs(float(val - required_int))
    return ret
#! /usr/bin/env python


def fitness_function(bin_string):
    from expression import eval_bin_string
    val = eval_bin_string(bin_string)
    if val == required_int:
        ret = float("inf")
    else:
        ret = 1 / abs(float(val - required_int))
    return ret

if __name__ == '__main__':
    import genetic
    from expression import eval_bin_string, conv_to_expression
    global required_int
    required_int = int(raw_input('Input integer: '))
    genetic.initialize(50, 4, 100, fitness_function, 0.7, 0.001)
    while True:
        fittest = genetic.get_fittest(5)
        print "Most fittest:",
        for v in fittest:
            print eval_bin_string(v),
        print
        if eval_bin_string(fittest[0]) == required_int:
            break
        genetic.next_generation()
    print "Found expression: %s" % conv_to_expression(genetic.get_fittest(1)[0])
Пример #4
0
#! /usr/bin/env python


def fitness_function(bin_string):
    from expression import eval_bin_string
    val = eval_bin_string(bin_string)
    if val == required_int:
        ret = float("inf")
    else:
        ret = 1 / abs(float(val - required_int))
    return ret


if __name__ == '__main__':
    import genetic
    from expression import eval_bin_string, conv_to_expression
    global required_int
    required_int = int(raw_input('Input integer: '))
    genetic.initialize(50, 4, 100, fitness_function, 0.7, 0.001)
    while True:
        fittest = genetic.get_fittest(5)
        print "Most fittest:",
        for v in fittest:
            print eval_bin_string(v),
        print
        if eval_bin_string(fittest[0]) == required_int:
            break
        genetic.next_generation()
    print "Found expression: %s" % conv_to_expression(
        genetic.get_fittest(1)[0])