예제 #1
0
def mutate_string_genome(string, p, char_set_size, **kwargs):
    if random.random() <= p:
        pos = random.randint(0, len(string) - 1)
        char_list = list(string)
        char_list[pos] = random.choice(char_set(char_set_size))
        string = char_list_to_str(char_list)

    return string
예제 #2
0
def mutate_string_genome(string, p, char_set_size, **kwargs):
    if random.random() <= p:
        pos = random.randint(0, len(string) - 1)
        char_list = list(string)
        char_list[pos] = random.choice(char_set(char_set_size))
        string = char_list_to_str(char_list)

    return string
예제 #3
0
def generate_initial_population(population_size, genome_size, char_set_size,
                                **kwargs):
    S = char_set(char_set_size)
    return tuple(
        char_list_to_str(random.choice(S) for _ in range(genome_size))
        for _ in range(population_size))
예제 #4
0
def generate_initial_population(population_size, genome_size, char_set_size, **kwargs):
    S = char_set(char_set_size)
    return tuple(
        char_list_to_str(random.choice(S) for _ in range(genome_size))
        for _ in range(population_size)
    )
예제 #5
0
def mutate_string_components(string, p, char_set_size, **kwargs):
    return char_list_to_str(random.choice(char_set(char_set_size)) if random.random() <= p else c for c in string)
예제 #6
0
def mutate_string_components(string, p, char_set_size, **kwargs):
    return char_list_to_str(
        random.choice(char_set(char_set_size)) if random.random() <= p else c
        for c in string)