보로노이 다이어그램(Voronoi diagram)
평면을 가장 가까운 기준점별로 나눈 지도. 어떤 거리로 재느냐에 따라 경계의 모양이 달라진다.
도시에 우체국이 몇 곳 있다고 합시다. 집집마다 가장 가까운 우체국에 맡기면 도시가 조각으로 나뉩니다. 이렇게 평면을 가장 가까운 기준점별로 나눈 지도가 보로노이 다이어그램이고, 조각 하나를 보로노이 영역(세포)이라고 부릅니다. 이름은 이 분할을 연구한 러시아 제국의 수학자 게오르기 보로노이에게서 왔습니다. '가장 가깝다'는 말에는 거리 함수(metric)가 필요하니, 거리를 바꾸면 지도도 바뀝니다.
거리는
유클리드 거리(Euclidean distance)에서 두 기준점 a, b까지의 거리가 같은 점들은 선분 ab의 수직이등분선입니다.
거리를 맨해튼 거리(Manhattan distance)나 체비쇼프 거리(Chebyshev distance)로 바꾸면 경계가 가로세로와 45° 선분으로 꺾입니다. 모든 기준점에서 같은 속도(velocity)로 그 거리의 '원'(마름모, 정사각형)을 부풀릴 때 먼저 닿은 쪽이 땅을 차지한다고 생각하면 됩니다. 경계의 모양이 Lp 노름(Lp norm)의 단위원(unit circle)을 닮는 까닭입니다. 이 두 거리에서는 거리가 똑같은 곳이 선이 아니라 넓은 면이 되기도 합니다(회색). 맨해튼 거리에서는 두 기준점이 정확히 45° 대각선 방향에 있을 때(가로 차와 세로 차가 같을 때), 체비쇼프 거리에서는 두 기준점이 가로나 세로로 나란할 때 그렇습니다. 이런 면을 어느 쪽에 줄지는 따로 약속해야 합니다. 넓이의 몫은 칸을 세어 구했는데, 칸을 잘게 할수록 참값에 다가가는 리만 합(Riemann sum)과 같은 생각입니다.
새 점을 분류할 때 가장 가까운 예의 이름표를 붙이는 최근접 이웃 분류(k = 1)는 보로노이 영역(Voronoi region)에 이름표를 붙이는 것과 같습니다. 영역 안의 점은 모두 그 기준점이 가장 가까우니까요. '무게중심으로 옮기기'를 여러 번 눌러 보세요. 점마다 가장 가까운 중심에 배정하고(보로노이 영역) 중심을 영역의 무게중심으로 옮기기를 되풀이하는 것은 k-평균 군집(k-means clustering)을 푸는 로이드 알고리즘입니다(1957년 벨 연구소의 스튜어트 로이드가 제안). 무게중심은 영역 안 점들까지의 유클리드 거리 제곱의 합을 가장 작게 하는 점이라, 한 번 옮길 때마다 그 합이 줄어들거나 그대로입니다. 되풀이하면 영역들이 고르게 퍼집니다. 다만 도착하는 배치는 출발점에 따라 다르고, 가장 좋은 배치라는 보장은 없습니다. 맨해튼 거리를 골랐을 때 이 합을 줄이려면 무게중심 대신 좌표별 중앙값(median)으로 옮겨야 합니다.
이어지는 곳.
- 곧은 거리 대신 도로를 따라 재면 그래프의 최단 경로(shortest path) 거리로 나눈 보로노이가 됩니다. 불이 났을 때 어느 소방서가 가장 빨리 닿는지 정하는 지도입니다.
- 지구 전체라면 대원(great circle)을 따른 측지선(geodesic) 거리로 구면을 나눕니다(구면기하, spherical geometry).
- 비트열을 해밍 거리(Hamming distance)로 나눈 영역은 오류 정정 부호(error-correcting code)의 해독 규칙입니다. 받은 비트열을 가장 가까운 부호어(codeword)로 읽기 때문입니다.
- 연속적인 신호 값을 몇 단계의 대표값으로 줄이는 양자화기(quantizer)는 값마다 가장 가까운 대표값으로 반올림합니다. 그러니 그 칸은 대표값들로 수직선을 나눈 1차원 보로노이 칸이고, 대표값을 잘 고르는 문제가 율–왜곡 이론(rate–distortion theory)으로 이어집니다.
- 수억 개의 문서 벡터(vector)를 k-평균(mean)으로 묶어 두고 질문과 가까운 묶음 안에서만 찾는 역색인(inverted file index)은 중심점들의 보로노이 다이어그램을 쓰는 것입니다(검색 증강 생성(retrieval-augmented generation)). 내적 점수가 가장 큰 전문가를 고르는 전문가 혼합(mixture of experts)의 라우터(router)도 입력 공간을 이와 닮은 볼록한 영역들로 나눕니다.
- 유클리드 거리에서 영역이 변을 맞댄 기준점끼리 선분으로 이으면, 기준점들을 둘러싼 가장 작은 볼록다각형의 안쪽이 삼각형들로 나뉩니다(네 기준점이 한 원 위에 놓이는 특별한 경우만 빼면). 1934년 러시아 수학자 보리스 들로네가 연구해 들로네 삼각분할(Delaunay triangulation)이라 합니다. 여기에는 모든 기준점을 가장 짧은 선분들로 잇는 최소 신장 트리(minimum spanning tree)가 언제나 들어 있어서, 트리(tree)를 찾을 때 모든 쌍 대신 이 선분들만 보면 됩니다.
- 기준점마다 가중치(weight)를 주어 무거운 기준점이 더 넓은 땅을 갖게 하면 파워 다이어그램(power diagram)이 됩니다. 한 분포를 정해진 몫만큼 여러 점에 나누어 옮기는 최적 수송(optimal transport) 문제의 답이 이런 모양입니다.
- 평면을 이렇게 겹치지 않는 조각들로 나누는 일(분할)은 1850년 디리클레, 1908년 보로노이가 연구했습니다. 1854년 런던 콜레라 때 존 스노가 집마다 가장 가까운 우물을 기준으로 동네를 나눠 본 지도가 이른 예로 자주 꼽힙니다.
이 개념이 나오는 긴 글
이 개념을 언급하는 페이지
- 최근접 이웃 분류
… 반대편 무리 안에 섞인 점 하나하나가 제 둘레에 작은 섬을 만듭니다. 이때 경계는 예들이 만드는보로노이 다이어그램의 칸 경계를 이어 붙인 것입니다. 섬이 많다고 좋은 것이 아닙니다. 예로 쓴 점은 자기 자신이 가장 …
- k-평균 군집
… 조금씩 움직이는 경사 하강법도 같은 국소 최솟값에 걸릴 수 있습니다. 배경의 영역은 중심들이 만드는보로노이 다이어그램입니다. 보로노이 칸은 늘 볼록하므로(칸 안의 두 점을 잇는 선분이 칸을 벗어나지 않으므로) k-평균의 …
- 거리 함수
… 곳. 거리가 정해지면 가장 가까운 것을 찾는 문제가 생깁니다. 평면을 가장 가까운 기준점별로 나눈 지도가보로노이 다이어그램입니다. 새 데이터를 가장 가까운 예와 같은 무리로 분류하는 방법이 최근접 이웃 분류입니다. 변수마다 …
- 맨해튼 거리
… 45° 돌린 관계라서, 좌표를 45° 돌리고 늘이면 한 거리가 다른 거리로 바뀝니다. 택시 거리로 그린보로노이 다이어그램은 경계가 45°로 꺾입니다. 이 거리의 '원'이 마름모이기 때문입니다. 이런 거리는 19세기 말 독일 …
- 체비쇼프 거리
… 않습니다. 제곱 평균으로 재면 수렴하지만 최대 오차로 재면 수렴하지 않는다는 뜻입니다. 이 거리로 그린보로노이 다이어그램은 '원'이 정사각형이라 경계가 가로세로와 45° 선분으로 꺾입니다. 물론 세 규칙을 모두 지키는 ⟦거리 …
- Lp 노름
… 마할라노비스 거리의 '원'입니다. p를 바꾸면 거리의 '원'이 바뀌니, 가장 가까운 기준점별로 나눈보로노이 다이어그램의 경계도 바뀝니다. 삼각부등식에서 두 길이를 덧셈 대신 (a^p + b^p)^{1/p} 로 이으면 p마다 …
- 해밍 거리
… 부호어(000)에 더 가깝습니다. 가장 가까운 부호어로 읽으면 오류가 고쳐집니다. 색은 해밍 거리로 나눈보로노이 영역입니다. 일반적으로 부호어 사이의 최소 거리가 d이면 d − 1개까지의 오류는 알아챌 수 있고(부호어가 …
- 하버사인 공식
… 거리는 세 규칙을 지키는 거리 함수이니, 가장 가까운 공항을 찾는 최근접 이웃 검색이나 구면 위의보로노이 다이어그램에도 그대로 쓰입니다.
- 최소 신장 트리
… 알려져 있고, 크러스컬(1956)과 프림(1957)의 방법이 뒤를 이었습니다. 평면 위의 점들에서는보로노이 다이어그램이 변 후보를 크게 줄여 줍니다. 보로노이 칸이 서로 맞닿은 두 점끼리만 이으면 삼각형 그물이 생기는데, …
- 오류 정정 부호
… 탐사선의 통신에 쓰였습니다. 이어지는 곳. 받은 비트열을 가장 가까운 부호어로 읽는 것은 부호어들로 나눈보로노이 영역가운데 어디에 떨어졌는지 보는 것이고, 좋은 부호를 찾는 일은 고차원 공간에 공을 빽빽이 채우는 문제와 …
- 통로 부호화 정리
… 이 정리가 섀넌–하틀리 정리가 되고, 부호어의 잡음 구름을 고차원 공간에 겹치지 않게 채우는 그림은보로노이 영역과 차원의 저주로 이어집니다. 약간의 왜곡을 허용할 때의 한계는 율–왜곡 이론이 다룹니다. 잡음 …
- 섀넌–하틀리 정리
… 총용량을 가장 크게 하는 답이 이 모양입니다. 받은 신호를 가장 가까운 단계로 읽는 일은 신호점들로 나눈보로노이 영역가운데 어디에 떨어졌는지 보는 일입니다.
- 율–왜곡 이론
… 칸의 경계는 이웃한 두 대표값의 한가운데이고(표본을 가장 가까운 대표값으로 보내므로, 칸은 1차원보로노이칸입니다), 대표값은 자기 칸에 떨어지는 표본의 평균, 곧 무게중심입니다. 두 조건을 번갈아 맞추는 것이 …
- 전문가 혼합
… 정리⟧: 입력마다 섞는 비율이 바뀌는 혼합 분포를 학습하는 방법과, 담당 확률의 계산. 결정 트리와보로노이 다이어그램: 입력 공간을 영역으로 나눠 맡긴다는 점이 닮았습니다. 경사 하강법: 부하 균형 손실을 줄이는 방법. …
- 검색 증강 생성
… 묶어 두고, 질문과 가까운 묶음 몇 개 안에서만 찾습니다. 각 묶음이 맡는 영역은 중심점들의보로노이 다이어그램입니다. 곱 양자화(2011년 에르베 제구 등)는 벡터를 몇 토막으로 나눠 토막마다 가까운 대표 벡터의 …