Computer/최적화

유전 알고리즘(Genetic Algorithm)이란? 장/단점?

젊은 동네 2023. 4. 27. 22:09
728x90

 유전 알고리즘(Genetic Algorithm, GA)은 자연 선택과 유전학의 개념에 기반한 유명한 최적화 알고리즘입니다. 복잡하고 고차원적인 검색 공간을 효율적으로 검색할 수 있기 때문에 다양한 분야에서 널리 사용되고 있습니다.

 

 유전 알고리즘은 초기값 추측과 최적값 포함 여부를 결정하는 초기화(population initialization) 과정부터 시작합니다. 이 단계에서는 초기 집단(population)인 a와 b의 세트가 "염색체(chromosome)"라고 불리며, 무작위 균일 함수를 사용하여 a와 b의 초기값을 생성합니다.

 

 다음 단계는 "선택(selection)" 단계입니다. 이 과정에서는 각 염색체의 적합성을 평가하고, 선택 기준을 충족하는 일부 염색체를 선택합니다. 선택된 염색체는 다음 단계의 부모(Parents)로 사용됩니다.

 

 그 다음 "교차(crossover)" 단계에서는 부모 염색체에서 무작위로 선택된 염색체의 일부 유전자(gene)를 교환하여 새로운 자손 염색체(offspring chromosome)를 생성합니다.

 

 "돌연변이(mutation)" 단계에서는 새로운 자손 염색체에 대해 무작위로 일부 유전자를 변이시키는 작업을 수행합니다.

 

 이러한 선택, 교차, 돌연변이 과정을 통해 새로운 세대의 염색체 집단이 생성됩니다. 이를 반복하여 최적의 염색체 집단을 찾을 때까지 계속합니다.

 

 마지막으로, "엘리트 그룹(elite group)"을 추출합니다. 이 그룹은 가장 적합한 염색체들로 이루어진 그룹입니다. 이러한 엘리트 그룹을 사용하여 최종 최적값을 추정합니다.

 

 즉, 유전 알고리즘은 초기 값을 무작위로 추정한 후 적합성 평가, 선택, 교차, 돌연변이 과정을 통해 새로운 염색체 집단을 생성하며, 최종적으로 가장 적합한 염색체들로 이루어진 엘리트 그룹을 추출하여 최적화 문제를 해결하는 알고리즘입니다.

 

아래에는 유전 알고리즘의 장/단점과 또 다른 최적화 방법을 소개하였습니다.

 

유전자 알고리즘의 장점:

  1. 검색 공간 탐색: GA는 많은 수의 후보 솔루션을 생성하고 평가하여 문제에 대한 광범위한 잠재적 솔루션을 탐색할 수 있습니다. 이를 통해 문제 공간의 많은 부분을 검색할 수 있습니다.
  2. 유연성: GA는 다목적 최적화, 비선형 최적화 및 조합 최적화를 포함한 광범위한 최적화 문제에 적용할 수 있습니다.
  3. 다른 최적화 방법과의 Hybridization : GA는 더 나은 솔루션 품질, 효율성 및 실행 가능한 솔루션 보장을 위해 chemical reaction optimization 및 image denoising methods과 같은 다른 최적화 방법과 쉽게 Hybridization할 수 있습니다.

유전자 알고리즘의 단점:

  1. 느린 수렴 속도: GA는 특히 large-scale 문제의 경우 최적의 솔루션으로 수렴하는 데 오랜 시간이 걸릴 수 있습니다. 이는 GA가 많은 수의 평가가 필요한 확률적 검색 방법을 사용하기 때문입니다.
  2. 조기 수렴: GA는 특히 모집단 크기가 너무 작거나 selection pressure가 너무 높은 경우 GA가 최적이 아닌 솔루션으로 조기에 수렴할 수 있습니다.
  3. 올바른 매개변수 집합 결정의 어려움: GA에서는 인구 규모, 교차 및 돌연변이 확률, 선택 체계와 같은 적절한 매개변수를 선택해야 합니다. 올바른 매개변수 세트를 결정하는 것은 어려울 수 있으며 최적의 매개변수 세트는 문제마다 다를 수 있습니다.

기타 최적화 방법:

  1. PSO(Particle Swarm Optimization): PSO는 새와 물고기의 사회적 행동에서 영감을 받은 인구 기반 최적화 알고리즘입니다. 연속 최적화 문제에 자주 사용되며 복잡한 최적화 문제를 해결하는 데 효과적인 것으로 나타났습니다. PSO의 장점은 빠른 수렴과 단순성을 포함하는 반면, 단점은 조기 수렴과 불연속 변수 처리가 어렵습니다.
  2. ACO(Ant Colony Optimization): ACO는 개미 군체의 행동에서 영감을 받은 개체군 기반 최적화 알고리즘입니다. combinatorial 최적화 문제에 자주 사용되며 외판원 문제와 같은 문제를 해결하는 데 효과적인 것으로 나타났습니다. ACO의 장점은 불연속 변수를 처리하는 능력과 양질의 솔루션을 찾는 능력을 포함하는 반면, 단점은 느린 수렴 속도와 매개변수 설정에 대한 민감도와 같은 것이 있습니다.