짝짓기 풀

Mating pool
유전자 알고리즘 프로세스 중에 짝짓기 풀의 위치를 시각적으로 나타냄.

짝짓기 풀(meating pool)은 진화적 계산에 사용되는 개념으로, 최적화 및 검색 문제를 해결하기 위해 사용되는 알고리즘 계열을 가리킨다.[1]

짝짓기 풀은 선택 운영자가 현재 모집단에서 가장 적합한 것으로 간주하는 후보 솔루션으로 구성된다. 짝짓기 풀에 포함된 솔루션을 부모라고 한다. 개별 솔루션은 짝짓기 풀에 반복적으로 포함될 수 있으며, 피트니스 값이 더 높은 개인은 여러 번 포함될 가능성이 더 높다. 그런 다음 부모에게 크로스오버 연산자를 적용하여 우월한 것으로 인식된 유전자의 재조합을 초래한다. 마지막으로 돌연변이 연산자를 통해 유전자의 무작위 변화가 유입되어 유전자 풀의 유전적 변이가 증가한다. 그 두 운영자는 새롭고 우수한 솔루션을 창출할 가능성을 높인다. 따라서 새로운 세대의 해결책이 만들어지고, 아이들은 다음 인구를 구성하게 될 것이다. 선발 방법에 따라 짝짓기 풀의 총 부모 수가 초기 모집단의 크기와 다를 수 있어 새로운 모집단이 작아지는 결과를 초래할 수 있다. 동일한 크기의 모집단으로 알고리즘을 계속하려면, 구 모집단의 무작위 개인을 선택하여 새로운 모집단에 추가할 수 있다.[1][2][3]

이 시점에서, 새로운 솔루션의 적합성 가치를 평가한다. 종료 조건이 충족되면 프로세스가 종료된다. 그렇지 않으면 반복된다.

단계가 반복되면 후보 솔루션이 시간이 지남에 따라 가장 최적의 솔루션을 향해 진화하는 결과를 낳는다. 이 유전자들은 가장 최적의 유전자를 향해 점점 더 균일해질 것이며, 이것은 융합이라고 불리는 과정이다. 인구의 95%가 같은 버전의 유전자를 공유한다면, 그 유전자는 융합된 것이다. 모든 개별적인 피트니스 가치가 최고의 개인의 가치, 즉 모든 유전자가 융합되었을 때, 모집단의 융합이 이루어진다.[1][4]

짝짓기 풀 생성

짝짓기 풀을 만드는 데 사용되는 부모 선택 방법.

짝짓기 풀을 만들기 위해 몇 가지 방법을 적용할 수 있다. 이 모든 과정은 한 모집단 내에서 특정 개체 수의 선택적 번식을 포함한다. 어떤 개인이 짝짓기 풀에 들어가고 어떤 사람이 남는지 결정하기 위해 채용될 수 있는 여러 가지 기준이 있다. 선택 방법은 피트니스 비례 선택, 순서형 선택, 임계값 기반 선택 등 세 가지 일반 유형으로 나눌 수 있다.

체력비례선택

피트니스 비례 선발의 경우, 수영장에 입장하기 위해 무작위 개인을 선택한다. 다만 체력 수준이 높은 사람은 고를 확률이 높아 다음 세대에 이목구비를 물려줄 확률이 높다.[1][4]

이러한 유형의 부모 선택에 사용되는 기술 중 하나는 룰렛 휠 선택이다. 이 접근방식은 가상의 원형 바퀴를 다른 슬롯으로 나누며, 그 크기는 각 잠재적 후보의 피트니스 값과 동일하다. 그 후에 바퀴가 회전하고 고정된 지점이 어떤 사람이 선택되는지를 결정한다. 개인의 피트니스 가치가 클수록 바퀴의 무작위 회전으로 부모로 선택될 확률이 높아진다. 또는 확률적인 범용 표본 추출이 구현될 수 있다. 이 선택법도 물레바퀴의 회전을 기본으로 한다. 그러나 이 경우 고정 지점이 두 개 이상 있으며 그 결과 모든 짝짓기 풀 부재가 동시에 선택된다.[4][5]

순서형 기반 선택

서수 기준 선발 방식에는 토너먼트와 랭킹 선택 등이 포함된다. 토너먼트 선택에는 모집단의 개인 무작위 선정과 그에 따른 체력 수준 비교가 포함된다. 이들 '관광객'의 우승자는 가장 높은 가치를 지닌 이들이며 부모로서 짝짓기 풀에 투입된다. 순위 선정에서 모든 개인은 자신의 건강 가치에 따라 분류된다. 그런 다음, 부모의 선발은 지원자의 계급에 따라 이루어진다. 모든 개인은 선택될 기회가 있지만, 높은 순위의 개인은 선호된다[4][5].

임계값 기반 선택

마지막 유형의 선택 방법을 임계값 기반 방법이라고 한다. 특정 성질에 대한 표현적 가치에 기초해 개인을 선별하고, 나중에 일정 임계값 이내인 비율을 부모로 선택하는 잘림 선택법이 여기에 포함된다.[6]

참조

  1. ^ a b c d Regupathi, R. "하이브리드 유전 알고리즘을 이용한 다층 Rc 프레임 구조의 비용 최적화" 국제공학기술연구저널(IRJET), vol. 04, no. 07, 2017년 7월, 페이지 890, www.irjet.net/archives/V4/i7/IRJET-V4I7211.pdf.
  2. ^ Schatten, Alexander (19 June 2002). "Genetic Algorithms".
  3. ^ Mitchell, Melanie; Taylor, Charles E. (November 1999). "Evolutionary Computation: An Overview". Annual Review of Ecology and Systematics. 30 (1): 593–616. doi:10.1146/annurev.ecolsys.30.1.593. ISSN 0066-4162.
  4. ^ a b c d 비즐리, D, Bull, D. R, & Martin, R. (1993) 유전자 알고리즘 개요: 제1부, 기본 원리. 대학 컴퓨터, 15(2), 56-69.
  5. ^ a b Ghandi, Sonali (4 September 2020). "A Comparative Analysis of Selection Scheme" (PDF). International Journal of Soft Computing and Engineering (IJSCE). 2: 131–134.
  6. ^ Hartmut, Pohlheim. "Evolutionary Algorithms 3 Selection". Geatbx. Retrieved 15 September 2020.