프로젝터 알고리즘을 활용한 병렬 Voronoi 다이어그램 및 Delaunay 그래프 계산
초록
본 논문은 2차원 유클리드 평면에서 점 집합의 Voronoi 다이어그램을 계산하기 위한 새로운 ‘프로젝터 알고리즘’을 제안한다. 기존 알고리즘과 달리 각 Voronoi 셀을 독립적으로 처리할 수 있어 자연스럽게 병렬화가 가능하며, 선형계획법과 광학 원리를 차용한 투영 기법을 통해 셀 경계를 효율적으로 찾는다. 또한, 셀을 표현하는 새로운 조합 구조를 도입해 Convex Polytope 전반에 적용할 수 있고, 이 구조를 이용해 Delaunay 그래프를 거의 자동으로 유도한다.
상세 분석
프로젝터 알고리즘은 Voronoi 셀을 “광원”이라 가정하고, 모든 다른 점을 향해 광선을 발사한 뒤, 각 광선이 최초로 맞는 점(즉, 가장 가까운 사이트)과의 교차점을 찾아 셀 경계를 구성한다는 직관적인 아이디어에 기반한다. 이 과정은 실제 광학에서의 투영과 유사하게, 각 셀을 둘러싼 반평면들의 교집합을 구하는 문제로 환원된다. 논문은 이를 선형계획(LP) 문제로 모델링하여, 각 셀에 대해 제한된 수의 반평면(인접 사이트와의 중점을 지나는 직선)만을 고려하면 충분함을 증명한다. 따라서 셀당 연산량은 주변 이웃 수에 비례하고, 전체 복잡도는 평균적인 경우 O(n log n) 수준을 유지한다.
특히 주목할 점은 셀 별 독립성을 보장하는 “투영 파라미터화” 기법이다. 각 셀은 자신의 중심점과 주변 점들의 상대 위치만 알면 되므로, 다른 셀의 계산 결과에 의존하지 않는다. 이는 다중 코어 혹은 GPU 환경에서 셀들을 동시에 처리할 수 있음을 의미한다. 구현 측면에서는 각 셀에 대해 초기 반평면 집합을 구성하고, 이를 순차적으로 교차시켜 다각형 형태의 Voronoi 영역을 만든다. 교차 연산은 2차원에서 매우 간단한 선분-반평면 테스트로 구현 가능하며, 부동소수점 오차를 최소화하기 위한 정밀도 관리 기법도 논의된다.
또한 논문은 Voronoi 셀을 표현하기 위한 새로운 조합 구조, 즉 “반평면 리스트 + 경계 순환 리스트”를 제안한다. 이 구조는 셀의 정점, 변, 그리고 인접 셀 정보를 모두 O(1) 시간에 접근할 수 있게 하며, Convex Polytope 전반에 적용 가능하도록 일반화된다. 이러한 표현을 이용하면 Delaunay 그래프를 셀 간 인접 관계로부터 즉시 추출할 수 있다. 기존 알고리즘에서 별도의 삼각화 단계가 필요했지만, 프로젝터 알고리즘은 셀 경계 정보를 그대로 활용해 삼각형(또는 사각형) 연결을 자동으로 생성한다.
병렬 구현 실험에서는 8코어 CPU와 256코어 GPU 환경에서 각각 2배 이상, 10배 이상 속도 향상을 보였으며, 메모리 사용량도 기존 Fortune’s sweep line 알고리즘에 비해 비슷하거나 약간 낮았다. 특히 데이터가 균등하게 분포된 경우와 비균등하게 클러스터링된 경우 모두 안정적인 성능을 유지한다는 점이 강조된다.
이러한 특성은 대규모 지리정보 시스템(GIS), 실시간 로봇 경로 계획, 그리고 물리 시뮬레이션 등에서 실시간 Voronoi 계산이 요구되는 상황에 큰 장점을 제공한다.