장애물을 고려한 공간 데이터 클러스터링
초록
본 논문은 물리적 장애물(강, 호수, 고속도로 등)이 존재하는 실제 환경에서 공간 데이터 클러스터링을 수행하기 위한 CPO 알고리즘을 제안한다. 공간 영역을 직사각형 셀로 분할하고, 각 셀을 밀집·비밀집, 장애물·비장애물 여부로 라벨링한다. 장애물 셀은 비장애물 서브셀로 재분할한 뒤, 비장애물 셀·서브셀을 너비우선 탐색으로 연결해 밀집 영역을 찾아 클러스터와 중심점을 산출한다.
상세 분석
CPO(Clustering with Obstacles) 알고리즘은 기존 클러스터링 기법이 장애물을 무시함으로써 발생하는 오류를 근본적으로 해결한다. 첫 단계에서 전체 탐색 영역을 균일한 크기의 직사각형 셀(grid)로 나누어, 셀 단위의 통계량(예: 포인트 수)을 저장한다. 이때 셀을 ‘밀집(dense)’ 혹은 ‘비밀집(non‑dense)’으로 구분하기 위해 사전 정의된 임계값을 적용한다. 동시에 각 셀이 장애물과 교차하는지를 판단해 ‘장애물 셀(obstructed)’과 ‘비장애물 셀(non‑obstructed)’으로 라벨링한다.
장애물 셀에 대해서는 단순히 배제하는 것이 아니라, 셀 내부를 다시 작은 서브셀로 분할하여 비장애물 영역을 추출한다. 이 과정은 장애물 형태가 복잡하거나 셀 크기에 비해 큰 경우에도 정확한 비장애물 영역을 확보할 수 있게 해준다. 서브셀 역시 동일한 밀집 기준을 적용해 라벨링한다.
그 다음 단계는 BFS(너비우선 탐색)를 이용한 연결성 분석이다. 비장애물 셀·서브셀 중 밀집으로 판정된 셀들을 인접 관계(4‑인접 혹은 8‑인접) 기반으로 그래프화하고, 연결된 컴포넌트를 하나의 클러스터로 정의한다. 이렇게 하면 장애물에 의해 분리된 두 밀집 구역이 동일 클러스터에 포함되는 오류를 방지한다.
클러스터 중심점은 해당 클러스터에 속한 모든 포인트의 평균 좌표를 사용하거나, 필요에 따라 최소 거리 중심(minimum‑distance‑center) 등을 선택할 수 있다. CPO는 셀 기반 구조 덕분에 메모리 사용량이 O(N) 수준이며, 셀 크기와 장애물 복잡도에 따라 선형 혹은 거의 선형 시간 복잡도를 보인다.
실험 결과는 기존 DBSCAN, OPTICS 등 장애물을 무시하는 알고리즘에 비해 클러스터 경계가 장애물에 정확히 맞춰지는 것을 확인한다. 또한, 셀 크기를 조정함으로써 정밀도와 실행 시간 사이의 트레이드오프를 유연하게 제어할 수 있다. 이와 같이 CPO는 대규모 공간 데이터베이스에서 실시간 혹은 근실시간 클러스터링이 요구되는 GIS, 스마트 시티, 물류 최적화 등 다양한 응용 분야에 적합한 솔루션이다.