삼각형 분할을 위한 시간 복잡도 개선 연구

삼각형 분할을 위한 시간 복잡도 개선 연구

초록

본 논문은 Koivisto가 제시한 제한된 크기의 집합 분할 알고리즘을 삼각형 분할 문제에 특화시켜 시간 복잡도를 약간 개선한다. 기존 O*(2ⁿ) 수준의 알고리즘을 부분집합 컨볼루션과 고속 푸리에 변환 기법을 결합함으로써 O*(cⁿ) (c < 2) 형태로 가속화한다.

상세 분석

Koivisto의 일반적인 k‑집합 분할 방법은 포함‑배제 원리를 이용해 모든 부분집합에 대해 동적 계획법(DP)을 수행하고, 이를 빠른 제트 변환(FZT) 혹은 푸리에 변환을 통해 O*(2ⁿ) 시간에 해결한다. 그러나 삼각형 분할, 즉 그래프의 정점을 서로 겹치지 않는 3‑클릭(삼각형)으로 완전히 커버하는 문제는 구조적 제약이 강하다. 논문은 이 구조적 특성을 활용해 두 단계의 최적화를 제시한다. 첫 번째는 “가능한 삼각형 후보 집합”을 미리 열거하고, 각 후보를 비트마스크 형태로 표현해 부분집합 DP의 상태 공간을 실제 사용 가능한 삼각형 조합만으로 제한한다. 두 번째는 부분집합 컨볼루션을 수행할 때 고속 Walsh‑Hadamard 변환(FWHT)을 적용해 합성 연산을 O*(2ⁿ·log n)에서 O*(cⁿ) (c≈1.88) 수준으로 감소시킨다. 핵심 아이디어는 삼각형이 3개의 정점만을 포함하므로, 두 삼각형이 겹치지 않을 조건을 비트 연산으로 간단히 검증할 수 있다는 점이다. 이를 통해 DP 전이식 F(S)=∑_{T⊆S, T∈Δ} F(S\T) (Δ는 삼각형 후보 집합) 를 효율적으로 계산한다. 또한, 논문은 메모리 사용량을 O*(2^{n/2}) 로 줄이기 위해 “meet‑in‑the‑middle” 전략을 도입, 전반적인 시간·공간 복잡도 균형을 맞춘다. 최종적으로 제시된 알고리즘은 기존 Koivisto 방식 대비 상수 팩터가 감소한 O*(1.88ⁿ) 의 실행 시간을 보이며, 실험적으로도 n ≤ 30 정도의 무작위 그래프에서 평균 15 % 정도의 속도 향상을 확인한다.