123456
431265
이 두개를 3번째 자리부터 5번째 자리까지 교차 시킨다고 하면
121265
433455
이렇게 두개가 나오는데 3번째에서 5번째 자리 까지는 고정하고
나머지 3개 자리. 1번째 2번째 6번째 숫자를 겹치지 않는 다른 수로 바꾸려면 어떻게 해야할까요?
def crossover(self):
self.r = random.random()
if (self.r >= self.crossover_prob):
index_1 = random.randint(0,8)
index_2 = random.randint(0,8)
if index_2 > index_1:
print('Crossover 동작')
for i in range(index_1,index_2+1):
self.gene_list[0][i],self.gene_list[1][i] = self.gene_list[1][i],self.gene_list[0][i]
현재 이렇게 단순히 교차 시키는거 까지 해놨는데 그다음을 어떻게 해야 할지 도저히 모르겠네요
도와주세요 ㅜㅜ