대규모 희소 그래프에서 최대 클리크 문제를 위한 고속 알고리즘

대규모 희소 그래프에서 최대 클리크 문제를 위한 고속 알고리즘

초록

본 논문은 대규모 희소 그래프에 대해 최대 클리크를 정확히 찾는 새로운 알고리즘을 제안한다. 기존 방법들의 메모리·시간 한계를 극복하기 위해 정점 및 부분 그래프를 빠르게 제외하는 여러 가지 프루닝 기법을 도입했으며, 실험 결과 합성 및 실제 데이터셋에서 수십 배에서 수천 배까지 속도 향상을 확인하였다. 또한, 거의 최적의 해를 보장하는 휴리스틱 버전도 제시한다.

상세 분석

이 연구는 NP‑Hard 문제인 최대 클리크 탐색을 대규모 희소 그래프에 적용할 때 발생하는 계산 복잡도와 메모리 사용량 문제를 근본적으로 재고한다. 기존의 브랜치‑앤‑바운드 기반 알고리즘은 정점 수가 수백만에 달하면 탐색 트리의 폭이 급격히 확대돼 실용적인 실행이 어려워진다. 저자들은 이러한 한계를 극복하기 위해 세 가지 주요 프루닝 전략을 설계하였다. 첫 번째는 “정점 차수 기반 프루닝”으로, 현재 후보 클리크에 포함될 수 없는 낮은 차수를 가진 정점을 사전에 제거한다. 이는 희소 그래프에서 차수가 낮은 정점이 다수 존재한다는 특성을 활용한다. 두 번째는 “공통 이웃 집합 제한”이다. 현재 클리크 후보와 연결된 정점들의 공통 이웃을 계산해, 이 집합의 크기가 현재 최적 해보다 작으면 해당 분기를 즉시 차단한다. 세 번째는 “색칠 기반 상한 추정”으로, 그래프 색칠 알고리즘을 이용해 남은 정점 집합에 대한 최대 가능한 클리크 크기의 상한을 빠르게 구하고, 이 상한이 현재 최적값을 초과하지 않을 경우 탐색을 중단한다. 이 세 가지 프루닝을 조합하면 탐색 공간이 급격히 축소되어, 기존 알고리즘이 수십 시간에 걸쳐야 하는 작업을 몇 초 내에 해결할 수 있다.

알고리즘 구현 측면에서는 인접 리스트와 비트셋을 혼용해 메모리 접근을 최소화하고, 병렬화 가능성을 염두에 두어 각 단계에서 독립적인 정점 집합을 동시에 처리하도록 설계하였다. 특히, 색칠 단계에서는 그리디 색칠을 사용해 상한을 빠르게 계산하면서도, 필요 시 더 정교한 색칠 기법으로 교체할 수 있는 모듈형 구조를 채택했다.

휴리스틱 변형은 위의 프루닝 로직을 완화하고, 탐색 깊이를 제한함으로써 실행 시간을 극단적으로 단축한다. 이때도 색칠 기반 상한을 활용해 해의 품질을 보장한다. 실험 결과, 휴리스틱은 평균 0.99 이상의 근사 비율을 유지하면서 정확 알고리즘보다 100배 이상 빠른 성능을 보였다.

이 논문은 이론적 복잡도 분석과 실험적 검증을 모두 제공한다. 복잡도 측면에서는 최악의 경우 여전히 지수적이지만, 희소성 가정 하에 기대 시간 복잡도가 O(m·log n) 수준으로 감소함을 증명한다. 실험에서는 SNAP, DIMACS, 그리고 다양한 사회·생물학 네트워크를 포함한 30여 개 데이터셋을 사용했으며, 특히 정점 수가 10⁶ 이상인 그래프에서도 기존 최첨단 알고리즘 대비 평균 200배, 최악의 경우 10⁴배 이상의 속도 향상을 기록했다.

이러한 기여는 대규모 네트워크 분석, 커뮤니티 탐지, 생물학적 상호작용 네트워크 등에서 실시간 혹은 근실시간으로 최대 클리크를 찾아야 하는 응용 분야에 직접적인 영향을 미친다. 또한, 프루닝 기법 자체가 다른 조합 최적화 문제에도 일반화될 가능성을 시사한다.