대규모 희소 그래프를 위한 병렬 최대 클리크 알고리즘 및 네트워크 분석 응용
초록
본 논문은 소셜·정보 네트워크와 같은 대규모 희소 그래프에서 최대 클리크를 빠르게 찾기 위한 병렬 브랜치‑앤‑바운드 알고리즘을 제안한다. 핵심 정점의 코어 번호와 색칠 기반 상한을 활용한 공격적인 가지치기와 초기 휴리스틱 클리크 탐색을 결합하고, 탐색 트리를 다중 프로세스가 공유하면서 상·하한을 실시간으로 교환한다. 실험 결과 1천~1억 정점 규모의 실제 네트워크에서 거의 선형 시간 복잡도를 보이며, 1.8 억 엣지를 가진 소셜 네트워크에서도 20분 이내에 최댓값을 찾는다. 또한, 이 알고리즘을 이용해 시간 강한 연결성(temporal strong component) 계산과 그래프 압축 순서 생성 두 가지 응용을 시연한다.
상세 분석
이 연구의 핵심 기여는 세 가지 차원에서 기존 최대 클리크 탐색기와 차별화된다. 첫째, 입력 그래프의 코어 번호(K‑core)를 이용해 정점별 상한 K(v)+1을 빠르게 계산하고, 이를 색칠 기반 상한 L(G)와 결합함으로써 기존의 차수 기반 상한보다 훨씬 촘촘한 제한을 제공한다. 코어 번호는 O(|V|+|E|) 시간에 구할 수 있어 대규모 희소 그래프에 적합하고, 코어 번호가 높은 정점군은 잠재적 큰 클리크 후보가 될 가능성이 높아 탐색 공간을 크게 축소한다. 둘째, 초기 휴리스틱 단계에서 그래프의 최대 차수를 갖는 정점을 중심으로 탐색을 시작해 큰 클리크를 빠르게 발견한다. 이 초기 클리크가 최적인지 검증 후 바로 종료할 수 있어, 실제 데이터에서 17/32, 온라인 부록의 74개 네트워크 중 52개에서 최적 해를 바로 얻는다. 셋째, 병렬화 전략이 독특하다. 각 워커는 현재의 전역 상한(최대 클리크 크기)과 하한(발견된 클리크 크기)을 즉시 공유하고, 다른 워커가 높은 상한을 가진 서브트리를 탐색하면서 얻은 새로운 하한을 즉시 반영한다. 이로 인해 “슈퍼 선형” 속도 향상이 관찰되었으며, 특히 탐색 공간이 큰 정점(예: 고차수 코어)에서 다른 워커가 제공한 하한에 의해 조기에 가지치기가 이루어진다. 구현 측면에서는 암시적 그래프 편집과 주기적인 전체 그래프 업데이트를 통해 메모리 사용량을 최소화하고, 색칠과 코어 계산을 효율적인 데이터 구조(인접 리스트와 비트셋)로 구현했다. 실험에서는 16코어 공유 메모리 시스템에서 1.8 억 엣지(약 2 억 정점) 규모의 트위터‑리트윗 그래프를 20분 내에 처리했으며, 100 M 정점 수준에서도 선형 로그 복합 시간 O(|V|+|E|)·log|V|에 근접하는 실행 시간을 보였다. 응용 부분에서는 (1) 시간 강한 연결성(temporal strong component)을 찾기 위해 시간적 도달 가능성 그래프를 구성하고, 그 그래프에서 최대 클리크를 탐색함으로써 동적 네트워크의 가장 큰 강한 구성요소를 효율적으로 식별했다. (2) 그래프 압축에서는 클리크 기반 정점 순서를 사용해 인접 행렬을 지역화하고, 기존 압축 휴리스틱과 거의 동등한 압축 비율을 달성했다. 전체적으로 이 논문은 NP‑hard 문제인 최대 클리크를 실제 대규모 네트워크에 적용 가능한 수준으로 끌어올린 중요한 공헌이며, 코어 번호와 색칠 상한을 결합한 가지치기, 실시간 상·하한 공유 기반 병렬 탐색, 그리고 두 가지 실용적인 응용 사례를 통해 그 유용성을 입증한다.
댓글 및 학술 토론
Loading comments...
의견 남기기