A Genetic Algorithm for the Maximal Covering Problem

유전 알고리즘을 이용한 Maximal Covering 문제의 해결

  • 박태진 (부산대학교 컴퓨터 공학과) ;
  • 이용환 (부산대학교 컴퓨터 공학과) ;
  • 류광렬 (부산대학교 컴퓨터 공학과)
  • Published : 2002.11.01

Abstract

Maximal Covering 문제(MCP)란 행렬 상에서 n개의 열(column) 중 p개를 선택하여 m개의 행(row)중 최대한 많은 행을 cover하는 문제로 정의된다. 본 논문에서는 MCP를 유전 알고리즘(Genetic Algorithm)으로 해결하기 위해 문제에 적합하게 설계된 교차 연산자(crossover operator)와 비발현 유전인잔(unexpressed gene)를 가진 새로운 염색체 구조를 제시한다. 해결하고자 하는 대상 MCP의 규모가 매우 큰 경우 전통적인 임의교차(random crossover) 방법으로는 좋은 결과를 얻기가 힘들다. 따라서 본 연구에서는 그리디 교차(greedy crossover) 방법을 제시하여 문제를 해결한다. 그러나 이러한 그리디 교차를 사용하더라도 조기 수렴 등의 문제로 인해 타부 탐색 등의 이웃해 탐색 방법에 비해 그리 좋은 결과를 얻기가 힘들다. 본 논문은 이러한 조기 수렴 문제를 해결하고 다른 이웃에 탐색 방법보다 더 좋은 결과를 얻기 위해 비발현 유전인자(unexpressed gene)를 가진 염색체를 도입하여 해결함을 특징으로 한다. 비발현 유전인자는 교차 과정에서 자식 염색체의 유전인자로 전달되지 않은 정보 중 나중에라도 유용할 가능성이 보이는 정보를 보존하는 역할을 하여 조기 수렴 문제를 해결하는데 도움을 주어 보다 나은 결과를 얻을 수 있게 해준다. 대규모 MCP를 해결하는 실험에서 새로운 비발현 유전인자를 적용한 유전 알고리즘이 기존의 유전 알고리즘뿐만 아니라 다른 탐색 기법에 비해 더욱 좋은 성능을 보여줌을 확인하였다.

Keywords