희소 그래프에서 최대 클리크 모두 나열하기 거의 최적 시간
이 논문은 그래프의 퇴화도 d를 매개변수로 하는 최대 클리크 열거 문제에 대해, 고전적인 Bron–Kerbosch 알고리즘을 변형하여 O(d n 3^{d/3}) 시간에 모든 최대 클리크를 출력할 수 있음을 보인다. 또한 퇴화도 d인 n‑정점 그래프가 가질 수 있는 최대 클리크 수가 (n‑d)·3^{d/3} 임을 증명함으로써 알고리즘이 최악의 출력 크기 Θ(
초록
이 논문은 그래프의 퇴화도 d를 매개변수로 하는 최대 클리크 열거 문제에 대해, 고전적인 Bron–Kerbosch 알고리즘을 변형하여 O(d n 3^{d/3}) 시간에 모든 최대 클리크를 출력할 수 있음을 보인다. 또한 퇴화도 d인 n‑정점 그래프가 가질 수 있는 최대 클리크 수가 (n‑d)·3^{d/3} 임을 증명함으로써 알고리즘이 최악의 출력 크기 Θ(d (n‑d) 3^{d/3})와 일치함을 확인한다.
상세 요약
논문은 먼저 그래프 이론에서 중요한 개념인 퇴화도(degeneracy)를 정의한다. 퇴화도 d는 모든 부분그래프가 최소 차수 d 이하의 정점을 포함한다는 의미이며, 희소 그래프를 특성화하는 데 널리 사용되는 파라미터이다. 기존의 최대 클리크 열거 알고리즘은 일반적으로 O(3^{n/3}) 와 같은 지수적 복잡도를 갖지만, 퇴화도가 작을 때는 더 효율적인 방법이 가능하다는 점에 착안한다.
핵심 아이디어는 Bron–Kerbosch 알고리즘에 정점 순서를 미리 정해주는 “퇴화 순서”(degeneracy ordering)를 적용하는 것이다. 퇴화 순서는 각 정점을 차례대로 제거하면서 현재 그래프의 최소 차수를 유지하도록 구성되며, 이 순서에 따라 재귀 호출 시 후보 집합(P)과 제외 집합(X)을 제한한다. 구체적으로, 현재 정점 v 를 기준으로 그보다 뒤에 오는 이웃만을 후보에 포함시킴으로써 재귀 깊이를 d 이하로 억제한다.
시간 복잡도 분석에서는 각 재귀 단계에서 최대 d 개의 후보만을 탐색하게 되므로, 전체 호출 트리의 크기는 O(3^{d/3}) 가 된다. 여기에 모든 정점에 대해 한 번씩 순회를 수행하는 O(n) 을 곱하면 최종 복잡도 O(d n 3^{d/3}) 를 얻는다. 이 복잡도는 퇴화도 d에 대해 선형에 가까운 형태이며, 특히 d 가 o(n) 일 때 거의 최적에 가깝다.
다음으로 논문은 하한을 구성한다. 퇴화도 d가 3의 배수이고 n ≥ d + 3 인 경우, (n‑d)개의 “핵심” 정점과 각각 d/3 개의 삼각형 구조를 결합한 그래프를 설계한다. 이 그래프는 정확히 (n‑d)·3^{d/3} 개의 서로 다른 최대 클리크를 포함한다. 따라서 어떤 알고리즘도 최악의 경우 이보다 적은 시간에 모든 클리크를 열거할 수 없으며, 제시된 알고리즘이 이 하한에 일치함을 보인다.
결과적으로, 퇴화도 d를 파라미터로 하는 고정‑파라미터 트랙터블(FPT) 알고리즘이 존재함을 증명했으며, 이는 기존의 일반적인 지수시간 열거 알고리즘을 크게 능가한다. 또한, 출력 크기와 시간 복잡도가 동일한 차수의 함수이므로 “near‑optimal”이라고 부를 만한 이론적 최적성을 확보한다.
📜 논문 원문 (영문)
🚀 1TB 저장소에서 고화질 레이아웃을 불러오는 중입니다...