맵리듀스 기반 병렬 유전 알고리즘으로 해결하는 외판원 문제
초록
본 논문은 오픈소스 하둡 클러스터 위에서 MapReduce 프레임워크를 활용해 유전 알고리즘을 병렬화함으로써 외판원 문제(TSP)의 최적 경로를 효율적으로 탐색하는 방법을 제시한다. 유전 연산을 맵 단계와 리듀스 단계에 각각 매핑하고, 섬 모델(island model) 형태의 분산 진화 전략을 적용해 확장성과 처리 속도를 향상시킨다. 실험 결과, 데이터 규모와 클러스터 노드 수가 증가함에 따라 실행 시간이 거의 선형적으로 감소함을 확인하였다.
상세 분석
이 연구는 TSP와 같은 NP‑Hard 문제에 대해 전통적인 단일 머신 GA가 갖는 연산량 한계를 MapReduce 기반 분산 환경으로 극복하고자 한다. 먼저, 유전 알고리즘의 핵심 연산인 적합도 평가, 선택, 교차, 돌연변이를 각각 맵과 리듀스 작업에 매핑한다. 맵 단계에서는 각 유전자를(도시 순열) 키‑값 쌍으로 변환하고, 해당 순열의 총 거리를 계산해 적합도 값을 부여한다. 이때 적합도 계산은 완전 병렬이 가능하므로 대규모 개체군에서도 높은 처리량을 확보한다. 리듀스 단계에서는 동일 섬(island) 내에서 선택 연산(예: 룰렛 휠, 토너먼트)을 수행하고, 교차와 돌연변이 연산을 적용해 새로운 개체를 생성한다. 섬 모델을 도입함으로써 각 리듀스 작업이 독립적인 진화 집단을 유지하고, 주기적인 개체 교환(migration)으로 전역 탐색 능력을 보강한다.
또한, 하둡의 HDFS를 이용해 초기 개체군과 거리 행렬을 분산 저장함으로써 데이터 접근 병목을 최소화한다. 작업 흐름은 (1) 초기 개체군 파일을 HDFS에 업로드, (2) 맵 작업에서 적합도 계산, (3) 리듀스 작업에서 선택·교차·돌연변이, (4) 새로운 개체군을 HDFS에 기록하고 다음 세대로 반복한다. 이 순환 구조는 하둡의 잡 스케줄러가 자동으로 자원을 할당하고 실패 복구를 수행하게 하여 시스템 신뢰성을 높인다.
성능 평가에서는 노드 수를 2, 4, 8, 16대로 확장하면서 실행 시간, 속도 향상 비율, 그리고 최적 해의 품질을 측정하였다. 결과는 노드 수가 두 배 증가할 때마다 평균 1.8배 정도의 속도 향상이 나타났으며, 최적 해의 품질은 단일 머신 GA와 비교해 크게 손실되지 않았다. 이는 적합도 계산과 같은 데이터‑집중 연산이 충분히 병렬화될 경우, 통신 오버헤드가 제한적임을 시사한다.
하지만 몇 가지 한계점도 존재한다. 첫째, 교차·돌연변이 연산이 리듀스 단계에서 수행되므로 각 섬 간의 개체 교환 주기가 길어질 경우 탐색 다양성이 감소할 위험이 있다. 둘째, 하둡의 배치 처리 특성상 실시간 혹은 스트리밍 환경에 바로 적용하기는 어려우며, 잡 시작·종료 오버헤드가 작은 문제 규모에서는 오히려 성능 저하를 초래한다. 셋째, 거리 행렬이 메모리 내에 완전 저장돼야 하므로 도시 수가 수천 이상으로 확대될 경우 메모리 제한에 부딪힌다. 향후 연구에서는 Spark와 같은 인메모리 프레임워크를 이용해 교차·돌연변이 단계의 지연을 최소화하고, 동적 섬 구조와 적응형 마이그레이션 전략을 도입해 탐색 효율을 높이는 방안을 모색할 수 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기