게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
파이썬 유전알고리즘 교차 관련. 반복되는 숫자
게시물ID : programmer_20895짧은주소 복사하기
작성자 : limetree
추천 : 0
조회수 : 2095회
댓글수 : 9개
등록시간 : 2017/06/27 12:48:42
옵션
  • 본인삭제금지
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]

현재 이렇게 단순히 교차 시키는거 까지 해놨는데 그다음을 어떻게 해야 할지 도저히 모르겠네요
도와주세요 ㅜㅜ
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호