APO 알고리즘의 완전성 및 성능 개선
초록
본 논문은 비동기 부분 오버레이(APO) 알고리즘이 특정 상황에서 서브문제 크기가 기대대로 증가하지 않아 종료되지 않는 문제를 지적하고, 이를 해결하기 위한 수정안을 제시한다. 수정된 알고리즘인 CompAPO는 완전성을 보장하며, 형식적 증명과 광범위한 실험을 통해 기존 DisCSP 알고리즘 대비 성능을 비교한다. 또한 최적화 버전인 CompOptAPO를 소개하고 평가한다.
상세 분석
APO 알고리즘은 분산 제약 만족 문제(DisCSP)를 해결하기 위해 각 에이전트가 부분 문제를 정의하고, 중재자(mediator)를 통해 협력적으로 탐색을 진행한다. 원래의 완전성 증명은 “중재자가 포함하는 변수 집합이 점진적으로 확대된다”는 가정에 기반했으며, 이는 결국 모든 변수와 제약을 포함하는 하나의 서브문제로 수렴한다는 논리였다. 그러나 저자들은 특정 초기 배치와 메시지 지연 상황에서 중재자가 새로운 변수를 추가하지 못하고, 기존 서브문제의 크기가 정체되는 현상을 발견했다. 이 경우 중재자 간의 교착 상태가 발생해 알고리즘이 무한히 진행되거나 조기에 종료되지 않는다.
문제의 핵심은 두 가지 메커니즘에 있다. 첫째, 중재자 선택 규칙이 “가장 높은 우선순위”를 가진 에이전트를 기준으로 하지만, 우선순위가 동등하거나 충돌이 발생하면 동일한 중재자가 반복 선택될 위험이 있다. 둘째, “conflict set” 업데이트 과정에서 누락된 변수 정보가 전파되지 않아, 실제 충돌이 존재함에도 불구하고 중재자가 이를 인식하지 못한다. 이러한 결함은 특히 비동기 환경에서 메시지 순서가 뒤바뀔 때 두드러진다.
저자들은 이를 해결하기 위해 두 가지 주요 수정점을 도입한다. 첫째, 중재자 선출 시 “최소 충돌 집합 크기”를 보조 기준으로 삼아, 가능한 한 많은 변수를 포함하도록 강제한다. 둘째, 충돌 집합을 전파할 때 누락된 변수를 보완하기 위한 “재전파 메커니즘”을 추가한다. 이로써 중재자는 항상 최신의 충돌 정보를 갖게 되고, 서브문제는 점진적으로 확대된다.
새롭게 정의된 알고리즘을 CompAPO(Complete Asynchronous Partial Overlay)라 명명하고, 형식적 증명을 통해 소리성(soundness)과 완전성(completeness)을 입증한다. 증명은 (1) 모든 충돌이 결국 중재자에 의해 감지되고, (2) 중재자가 포함하는 변수 집합이 유한한 단계 내에 전체 변수 집합으로 확장됨을 보인다. 또한, 알고리즘이 무한 루프에 빠지지 않도록 “진전 보장 조건”을 명시한다.
성능 평가에서는 표준 DisCSP 벤치마크(랜덤 그래프, 균등 제약 밀도, 다양한 도메인 크기)를 사용해 CompAPO와 기존 APO, ADOPT, DPOP, SyncBB 등을 비교한다. 실험 결과, CompAPO는 평균 메시지 수와 실행 시간에서 기존 APO와 동등하거나 약간 우수한 수준을 보였으며, 특히 충돌이 빈번한 고밀도 인스턴스에서 조기 종료 없이 안정적으로 해결한다. 최적화 버전인 CompOptAPO는 서브문제 크기 최소화를 목표로 추가적인 히스토리 기반 변수 선택 전략을 적용해, 동일한 인스턴스에서 메시지 오버헤드를 10~15% 감소시켰다.
이 논문은 APO 알고리즘의 근본적인 설계 결함을 정확히 짚어내고, 실용적인 수정안을 제시함으로써 분산 제약 해결 분야에 중요한 기여를 한다. 특히 비동기 환경에서의 안정성을 확보한 점은 향후 대규모 분산 시스템, 사물인터넷, 멀티 로봇 협업 등에 적용 가능성을 크게 확대한다.