def mutation_move_queen(self, gene): queen_index_list = self.get_queen_index_list number_1 = queen_index_list[random.randrange(len(queen_index_list))] number_2 = random.randrange(len(gene)) if number_1 < number_2: gene = gene[:number_1] + gene[number_2] + gene[number_1+1:number_2] + gene[number_1] + gene[number_2+1:] else: gene = gene[:number_2] + gene[number_1] + gene[number_2+1:number_1] + gene[number_2] + gene[number_1+1:] return gene
def mutation_kill_queen(self, gene): queen_index_list = self.get_queen_index_list number = queen_index_list[random.randrange(len(queen_index_list))] gene = gene[:number] + '0' + gene[number+1:] return gene