유사 힐베르트 곡선
다차원 데이터를 효율적으로 처리하고 분석하는 것은 현대 컴퓨터 과학의 근본적인 도전 과제 중 하나다. 데이터의 차원이 증가함에 따라 공간의 부피는 기하급수적으로 팽창하여, 데이터 포인트들이 극도로 희소(sparse)해지는 현상이 발생한다. ‘차원의 저주(Curse of Dimensionality)’라 불리는 이 현상은 거리 기반의 분석이나 인덱싱 알고리즘의 성능을 급격히 저하시킨다. 이러한 문제를 해결하기 위한 핵심 전략 중 하나는 고차원 데이터를 그 본질적인 구조, 특히 데이터 간의 근접성을 최대한 보존하면서 저차원 공간, 주로 1차원으로 매핑하는 것이다. 공간 채움 곡선(Space-Filling Curve, SFC)은 이러한 요구에 부응하는 가장 우아하고 강력한 수학적 도구로 부상하였다.1 1차원으로 변환된 데이터는 B-트리(B-tree)와 같이 고도로 최적화된 기존의 1차원 데이터 구조를 통해 효율적으로 저장, 관리 및 질의될 수 있기 때문이다.3
초기 공간 채움 곡선에 대한 연구는 순수 수학적 탐구에서 시작되었다. 1890년, 이탈리아 수학자 주세페 페아노(Giuseppe Peano)는 단위 구간 $I$의 모든 점과 단위 정사각형 $I^2$의 모든 점 사이에 연속적인 전사 함수(surjective function)가 존재함을 보임으로써, 1차원 선이 2차원 면을 ‘채울’ 수 있다는, 당시로서는 직관에 반하는 개념을 처음으로 제시했다.1 페아노의 발견은 1차원과 2차원의 기수(cardinality)가 같다는 게오르크 칸토어(Georg Cantor)의 집합론적 증명을 기하학적으로 구현한 것이었다. 그러나 페아노 곡선은 수학적 존재 증명에는 성공했지만, 데이터 처리 관점에서는 한계를 보였다. 이에 1891년, 독일의 수학자 다비트 힐베르트(David Hilbert)는 페아노 곡선의 변형으로, 훨씬 뛰어난
지역성 보존(Locality Preservation) 특성을 갖는 새로운 공간 채움 곡선을 제안했다.6 지역성 보존이란, 원래의 다차원 공간에서 서로 가까이 위치한 두 데이터 포인트가 1차원으로 매핑된 후에도 여전히 가까운 위치를 유지하는 성질을 의미한다.6 이 특성은 데이터베이스의 클러스터링 효율, CPU 캐시의 적중률, 공간 질의(spatial query) 성능에 직접적인 영향을 미치므로, 공간 채움 곡선의 실용성을 평가하는 가장 중요한 척도로 간주된다.12
이처럼 초기 연구가 ‘가능한가?’라는 존재론적 질문에 집중했다면, 현대의 공간 채움 곡선 연구는 ‘어떻게 더 효율적으로, 더 범용적으로 만들 것인가?’라는 공학적 문제 해결로 패러다임이 전환되었다. 힐베르트 곡선은 Z-order 곡선(페아노 곡선의 이산적 형태) 등 다른 공간 채움 곡선에 비해 월등한 지역성 보존 능력 덕분에 데이터베이스, 이미지 처리, 고성능 컴퓨팅 등 다양한 분야에서 사실상의 표준(de facto standard)으로 자리 잡았다.6 하지만 표준 힐베르트 곡선은 그 생성 원리상 반드시 변의 길이가 2의 거듭제곱인 정사각형, 즉
$2^k \times 2^k$ 형태의 영역에서만 정의될 수 있다는 치명적인 제약을 안고 있다.17 현실 세계의 데이터는 대부분 1024x768 해상도의 이미지나 비정형 격자처럼 임의의 크기를 갖기 때문에, 이 제약은 표준 힐베르트 곡선의 직접적인 적용을 가로막는 심각한 장벽이 된다.
이러한 한계를 극복하기 위해 ‘유사 힐베르트 곡선(Pseudo-Hilbert Curve)’이라는 개념이 등장했다. 이는 표준 힐베르트 곡선의 우수한 지역성 보존 특성을 최대한 유지하면서도, 임의의 크기와 형태를 갖는 영역에 적용할 수 있도록 일반화한 모든 변형 곡선을 총칭한다. 본 보고서는 이 유사 힐베르트 곡선에 대한 심층적 고찰을 목적으로 한다. 먼저 표준 힐베르트 곡선의 수학적 정의와 생성 원리를 명확히 하고, 이를 바탕으로 유사 힐베르트 곡선의 필요성과 다양한 생성 알고리즘들을 비교 분석한다. 나아가 지역성 보존과 같은 핵심 특성을 정량적으로 평가하고, 컴퓨터 과학 및 공학의 여러 분야에 걸친 응용 사례를 통해 그 실제적 가치와 미래 연구 방향을 제시하고자 한다. 이 과정에서 ‘지역성’이라는 개념이 단일한 절대적 속성이 아니라, 응용 분야의 데이터 특성과 질의 패턴에 따라 최적화되어야 하는 상대적 목표임을 규명할 것이다.
유사 힐베르트 곡선을 논하기에 앞서, 그 원형이 되는 표준 힐베르트 곡선(Standard Hilbert Curve)의 수학적 정의, 생성 방식, 그리고 핵심적인 특성을 명확히 이해하는 것이 필수적이다. 표준 힐베르트 곡선은 그 완벽한 수학적 구조가 곧 실용적 한계의 원인이 되는 역설을 내포하고 있으며, 이는 유사 힐베르트 곡선의 등장을 필연적으로 만들었다.
수학적으로 힐베르트 곡선은 단위 구간(unit interval) $I$에서 단위 정사각형(unit square) $I \times I$으로의 전사(surjective) 연속 함수(continuous map) $h: I \to I^2$로 정의된다.7 이 곡선은 직접적으로 정의되기보다는, 유한한 차수(order) $n$을 갖는 일련의 근사 곡선, 즉 ‘힐베르트 다각형(Hilbert polygon)’의 극한(limit)으로 구성된다.6
이러한 근사 곡선의 생성 과정은 재귀적 사분면 분할에 기반한다.
- 1차 힐베르트 다각형 ($H_1$): 단위 정사각형을 4개의 동일한 부분 정사각형(사분면)으로 분할한다. 그리고 각 사분면의 중심을 좌하단에서 시작하여 좌상단, 우상단, 우하단 순서로 연결하는 기본적인 ‘U’자 형태의 경로를 만든다. 이것이 가장 기본적인 구성 단위가 된다.9
- 2차 힐베르트 다각형 ($H_2$): 1차 다각형 $H_1$을 기본 패턴으로 삼는다. 4개의 각 사분면을 다시 $H_1$의 축소되고 변형된 버전으로 채운다. 구체적으로, 좌하단 사분면에는 $H_1$을 반시계 방향으로 90도 회전시키고 상하로 반사한 형태를, 좌상단과 우상단 사분면에는 $H_1$의 원래 형태를, 그리고 우하단 사분면에는 $H_1$을 시계 방향으로 90도 회전시키고 상하로 반사한 형태를 배치한다. 그 후, 이 4개의 작은 곡선들의 시작점과 끝점을 연결하여 더 복잡하고 정교한 단일 경로를 형성한다.23
- n차 힐베르트 다각형 ($H_n$): 이 과정은 재귀적으로 무한히 반복될 수 있다. $n$차 곡선 $H_n$은 4개의 $n-1$차 곡선 $H_{n-1}$을 적절히 축소, 회전, 반사하여 조합함으로써 생성된다.27
차수 $n$이 증가함에 따라 곡선은 정사각형 내부를 점점 더 촘촘하게 채우게 된다. $n$차 곡선의 총 길이는 $2^n - 2^{-n}$으로, $n$에 따라 기하급수적으로 증가하지만 곡선 전체는 여전히 단위 정사각형 내부에 머무른다.6 수학적으로 이 함수열 $(H_n)$은 균등 수렴(uniformly convergent)하며, $n \to \infty$일 때의 그 극한 함수 $h$가 바로 ‘참 힐베르트 곡선(true Hilbert curve)’이다.9
기하학적 구성 외에도 힐베르트 곡선은 형식적인 규칙 시스템을 통해 엄밀하게 정의될 수 있다. 이러한 표현은 곡선의 생성 원리를 알고리즘으로 구현하는 데 직접적인 토대를 제공한다.
-
L-System (Lindenmayer System): 힐베르트 곡선은 간단한 문자열 치환 규칙인 L-System으로 완벽하게 기술될 수 있다. 이는 거북이 그래픽스(turtle graphics)를 통해 쉽게 시각화될 수 있으며, 곡선의 ‘문법(grammar)’을 정의하는 것으로 해석할 수 있다.6
- 알파벳:
A, B (상태를 나타내는 변수)
- 상수:
F (선 그으며 전진), + (왼쪽으로 90도 회전), - (오른쪽으로 90도 회전)
- 공리(Axiom):
A (시작 상태)
- 생성 규칙(Production Rules):
A -->> +BF−AFA−FB+
B -->> −AF+BFB+FA−
이 규칙에 따라 공리 ‘A’에서 시작하여 문자열을 반복적으로 치환하고, 그 결과를 거북이 그래픽스 명령어로 해석하면 모든 차수의 힐베르트 다각형을 생성할 수 있다. 여기서 ‘A’와 ‘B’는 곡선의 방향성과 회전 패턴을 결정하는 두 가지 다른 국소적 상태를 나타내며, 생성 규칙은 한 단계 더 높은 차수의 곡선을 만들기 위해 이 상태들이 어떻게 네 개의 하위 상태로 분기되는지를 정의한다.
-
반복 함수 시스템 (Iterated Function System, IFS): 힐베르트 곡선은 4개의 아핀 변환(affine transformations)으로 구성된 IFS의 유일한不动점(attractor)으로도 표현될 수 있다. 각 아핀 변환은 전체 정사각형을 4개의 사분면 중 하나로 축소, 회전, 이동시키는 역할을 한다. 이 방식은 힐베르트 곡선의 자기 유사성(self-similarity)을 수학적으로 가장 명확하게 보여준다.31
힐베르트 곡선은 여러 독특한 수학적 특성을 지니며, 이는 프랙탈 기하학의 중요한 연구 대상이 된다.
- 연속성 및 미분 불가능성: 힐베르트 곡선은 곡선 위의 모든 점에서 연속(continuous)이지만, 동시에 모든 점에서 미분 불가능(nowhere differentiable)하다.8 이는 곡선이 무한히 많은 ‘뾰족한’ 모서리를 가지고 있음을 의미하며, 바이어슈트라스 함수(Weierstrass function)와 같은 프랙탈 객체의 전형적인 특징이다.
- 차원: 힐베르트 곡선은 차원에 대한 흥미로운 이중성을 보여준다. 곡선의 상(image), 즉 곡선이 지나가는 점들의 집합은 단위 정사각형 전체이므로, 그 하우스도르프 차원(Hausdorff dimension)은 2이다. 하지만 곡선 자체의 그래프(graph)는 1차원인 단위 구간과 위상동형(homeomorphic)이므로, 그래프의 하우스도르프 차원은 1이다.6
- 단사성(Injectivity): 힐베르트 곡선은 단위 정사각형의 모든 점을 지나가는 전사 함수이지만, 단사(injective) 함수는 아니다. 즉, 일부 점들을 여러 번 통과하는 경우가 존재한다. 그러나 이러한 점들은 유한하며, 대부분의 점은 한 번만 지나간다.1
- 핵심 제약 조건: 표준 힐베르트 곡선의 가장 큰 실용적 한계는 바로 그 생성 원리에서 비롯된다. 재귀적으로 공간을 4개의 ‘동일한’ 부분 정사각형으로 나누는 과정은 필연적으로 전체 영역이 가로와 세로의 크기가 같고, 그 크기가 2의 거듭제곱($2^k \times 2^k$) 형태일 것을 요구한다.17 이 완벽한 대칭적 구조는 힐베르트 곡선의 우수한 지역성 보존 능력의 근원이지만, 동시에 임의의 크기를 갖는 현실 세계의 데이터에 직접 적용하는 것을 불가능하게 만드는 족쇄가 된다. 즉, 표준 힐베르트 곡선의 ‘수학적 완벽성’이 그 자체로 ‘공학적 불완전성’의 원인이 되는 것이다. 이 근본적인 딜레마를 해결하기 위한 시도가 바로 유사 힐베르트 곡선 연구의 출발점이다.
표준 힐베르트 곡선이 지닌 수학적 아름다움과 이론적 우수성에도 불구하고, 실제 응용 환경에서는 그 엄격한 제약 조건으로 인해 직접 사용하기 어려운 경우가 많다. 이러한 간극을 메우기 위해 ‘유사 힐베르트 곡선(Pseudo-Hilbert Curve)’이라는 개념이 등장했다. 이 장에서는 해당 용어의 의미를 명확히 하고, 이것이 왜 다양한 공학적 문제 해결에 필수적인지를 논한다.
‘유사 힐베르트 곡선’이라는 용어는 문헌에 따라 두 가지 주요한 의미로 사용되어 혼동을 일으킬 수 있다. 따라서 본 보고서의 논의를 명확히 하기 위해 두 의미를 구분하여 정의할 필요가 있다.
- 유한 차수 근사 (Finite-order Approximation): 많은 문헌에서 ‘유사 힐베르트 곡선’은 무한한 극한으로 정의되는 ‘참 힐베르트 곡선(true Hilbert curve)’과 대비되는 개념으로, 유한한 차수 $n$의 반복으로 생성된 이산적인 근사 곡선을 지칭하는 데 사용된다.24 이 곡선들은 실제로 컴퓨터에서 생성하고 시각화할 수 있는 대상이다. 본 보고서에서는 이러한 의미의 곡선을 ‘n차 힐베르트 다각형’ 또는 ‘이산 힐베르트 근사’로 명명하여, 아래에서 다룰 핵심 주제와 명확히 구분한다.
- 임의 영역 일반화 (Arbitrary-domain Generalization): 본 보고서의 핵심 주제로서, ‘유사 힐베르트 곡선’은 표준 힐베르트 곡선의 엄격한 $2^k \times 2^k$ 제약 조건을 완화하여, 임의의 크기(arbitrary size), 특히 $W \times H$ 형태의 직사각형 영역에 적용할 수 있도록 일반화한 모든 변형 곡선을 총칭하는 용어로 사용한다.17
이러한 관점에서 ‘유사(Pseudo)’라는 접두사는 ‘가짜’나 ‘모조’와 같은 부정적 뉘앙스가 아니라, 수학적 이상향을 현실의 제약 조건에 맞게 ‘실용적으로 적응(Pragmatic Adaptation)’시킨 결과물이라는 긍정적 의미로 해석되어야 한다. 표준 곡선이 이상적인 모델이라면, 유사 곡선은 현실의 복잡성을 다루기 위해 변형된 실용적인 모델이다. 따라서 ‘유사’는 성능의 저하가 아닌, 적용 범위의 확장을 의미하는 중요한 개념이다.
유사 힐베르트 곡선의 필요성은 실제 응용에서 마주하는 데이터의 본질적인 특성에서 비롯된다.
- 현실 세계 데이터의 비정형성: 디지털 이미지, 지리 정보 시스템(GIS)의 지도 데이터, 과학 시뮬레이션의 계산 격자 등 우리가 다루는 대부분의 다차원 데이터는 $2^k \times 2^k$라는 이상적인 형태를 따르지 않는다.18 예를 들어, 일반적인 HD 영상의 해상도는 1920x1080으로, 2의 거듭제곱과는 거리가 멀다.
- 패딩(Padding)의 한계: 이 문제를 해결하는 가장 간단한 방법은 임의의 $W \times H$ 영역을 완전히 포함하는 가장 작은 $2^k \times 2^k$ 정사각형으로 확장하고, 남는 공간을 특정 값으로 채우는 ‘패딩’ 기법을 사용하는 것이다. 그러나 이 방식은 여러 단점을 가진다. 첫째, 원본 데이터에 포함되지 않은 불필요한 패딩 영역을 함께 처리해야 하므로 메모리 낭비와 계산 오버헤드가 발생한다. 둘째, 데이터가 없는 영역이 추가됨으로써 전체 데이터 공간의 밀도가 불균일해지고, 이는 힐베르트 곡선의 핵심 장점인 지역성 보존 효과를 희석시켜 클러스터링 및 질의 성능을 저하시킬 수 있다.10
- 직접적인 매핑의 필요성: 따라서 추가적인 오버헤드나 성능 저하 없이, 주어진 임의의 영역을 직접 효율적으로 스캔하고 인덱싱할 수 있는 일반화된 곡선, 즉 ‘유사 힐베르트 곡선’이 필수적으로 요구된다.19 이는 특히 대용량 데이터를 다루거나 실시간 처리가 중요한 응용 분야에서 그 필요성이 더욱 절실해진다.35
결론적으로, 유사 힐베르트 곡선에 대한 연구는 표준 곡선이 제시한 ‘공간을 어떻게 채울 것인가(filling)’라는 문제에서, ‘임의의 공간을 어떻게 효율적으로 분할하고 연결할 것인가(partitioning and connecting)’라는 보다 실용적인 문제로의 전환을 의미한다. 다음 장에서는 이러한 문제에 대한 다양한 알고리즘적 해법들을 심도 있게 살펴볼 것이다.
표준 힐베르트 곡선의 제약을 극복하기 위해 다양한 유사 힐베르트 곡선 생성 알고리즘이 제안되었다. 이 알고리즘들은 공통적으로 표준 곡선의 완벽한 대칭성을 포기하는 대신, 임의의 영역에 대한 적용 유연성을 확보하는 것을 목표로 한다. 이들은 모두 ‘파괴된 대칭성 하에서 어떻게 경로의 연속성을 유지할 것인가’라는 근본적인 트레이드오프에 대한 각기 다른 해법을 제시한다. 본 장에서는 주요 알고리즘들을 핵심 원리를 기준으로 분류하고, 그 장단점을 심도 있게 비교 분석한다.
이 접근법들은 표준 힐베르트 곡선의 재귀적 생성 방식을 변형하여 임의의 사각형에 적용한다.
- Zhang, Kamata, Ueshige (ZKU) 알고리즘: 이 알고리즘은 임의의 사각형을 재귀적으로 4개의 블록으로 분할하는 아이디어를 기반으로 한다. 표준 곡선과 달리, 분할된 블록들의 크기는 서로 다를 수 있으며 2의 거듭제곱이 아닐 수도 있다.33 각 블록을 스캔하는 방법은 해당 블록의 가로 및 세로 크기가 홀수인지 짝수인지에 따라 미리 정의된 여러 스캐닝 패턴(예: 양방향 래스터 스캔) 중 하나를 선택하여 적용한다.33 또한, 블록의 크기가 특정 임계값(예: 4x4) 이상으로 클 경우, 단순 래스터 스캔보다 효율적인 힐베르트 방식의 스캔을 적용하는 최적화가 포함되기도 한다.33 이 방식은 개념적으로 명확하지만, 다양한 블록 크기와 형태에 대응하기 위한 스캐닝 규칙이 복잡해질 수 있다는 단점이 있다.33
- ‘gilbert’ 알고리즘 (Jakub Červený): 이 알고리즘은 사각형을 ‘위(up)’, ‘오른쪽(right)’, ‘아래(down)’의 세 영역으로 비대칭적으로 분할하는 독특한 재귀 방식을 채택한다.34 이 방식의 핵심은 분할 과정에서 홀수 크기의 차원이 발생하는 것을 최대한 회피하려는 전략에 있다. 예를 들어, 사각형의 높이를 반으로 나눌 때 그 결과가 홀수가 되면, 1을 더해 짝수로 만들어 줌으로써 하위 재귀 호출에서 경로의 연속성을 유지하기 용이하게 만든다. 이는 경로에 불필요한 대각선 이동이 발생하는 것을 최소화하기 위함이다.34 표준 힐베르트 곡선의 엄격한 4분할 대칭성을 포기하는 대신, 유연한 3분할 구조를 통해 임의의 사각형에 대한 적응성을 높인 창의적인 접근법이라 할 수 있다.
이 기법은 실시간 성능이 중요한 응용을 위해 계산 속도를 극대화하는 데 초점을 맞춘다. ZKU 알고리즘의 아이디어를 발전시킨 것으로, 자주 사용되는 작은 크기의 블록(예: 2x2, 3x2, 4x2, 4x4 등)에 대한 최적의 스캔 패턴과 좌표 변환 규칙을 미리 계산하여 룩업 테이블(LUT)에 저장해 둔다.18 실제 인코딩 또는 디코딩 시에는 복잡한 재귀 호출 대신, 간단한 비트 연산과 테이블 조회를 통해 좌표와 힐베르트 인덱스 간의 변환을 매우 빠르게 수행할 수 있다.35 이러한 접근법은 이미지 압축이나 실시간 톤 매핑과 같이 픽셀 단위의 빠른 처리가 요구되는 분야에서 특히 강력한 성능을 발휘한다.35 그러나 미리 정의된 테이블에 의존하기 때문에 새로운 크기나 형태의 블록에 대한 유연성이 떨어지며, 3차원 이상으로 확장하기가 복잡할 수 있다는 단점이 있다.34
이 접근법은 미국 국립생물공학정보센터(NCBI) 관련 논문 등에서 제안된 방식으로, 가능한 한 표준 힐베르트 곡선의 구조를 최대한 보존하려는 시도이다. 임의의 $W \times H$ 사각형이 주어지면, 먼저 폭 $W$보다 작거나 같은 최대 2의 거듭제곱 $2^{m_1}$을 찾는다. 그 후, $2^{m_1} \times H$ 크기의 부분 사각형에 대한 수정된 힐베르트 곡선을 생성한다. 이 과정에서 높이 $H$가 $2^{m_1}$과 다를 경우, 그 차이만큼 곡선을 ‘늘리거나 줄이는’ 정교한 기법을 적용하여 경로의 연속성을 유지한다.20 이 단계가 끝나면, 남은 $(W - 2^{m_1}) \times H$ 크기의 사각형에 대해 이 전체 과정을 재귀적으로 반복한다. 이때, 남은 영역의 폭과 높이의 대소 관계에 따라 다음 단계의 스캔 방향(수평 또는 수직)이 동적으로 결정될 수 있다.20 이 방식은 큰 영역에서는 표준 곡선과 매우 유사한 경로를 생성한다는 장점이 있다.
Wu 등이 제안한 이 방식은 ‘근사적 균등 분할(approximately even partition)’이라는 개념을 도입하여 문제를 해결한다.17 먼저 표준 힐베르트 곡선의 제약을 완화하여 임의의 크기를 갖는 ‘정사각형’ 영역을 처리할 수 있는 Hilbert* 곡선을 정의한다. ‘근사적 균등 분할’은 영역을 수학적으로 완벽하게 동일하지는 않지만, 거의 균등한 크기의 부분 영역들로 나누는 것을 목표로 한다. 이 접근법의 가장 큰 장점은, Chung 등의 이전 알고리즘처럼 사분면의 스캔 순서를 담은 부가적인 데이터 구조를 생성하고 관리할 필요가 없다는 점이다. 이로 인해 인코딩 및 디코딩 과정이 단순화되고 성능이 향상된다.17 실험 결과에 따르면, Hilbert* 곡선은 표준 힐베르트 곡선과 유사한 수준의 우수한 클러스터링 속성을 유지하면서도, 임의 크기 정사각형에 대한 처리 성능은 더 우수한 것으로 나타났다.17
이러한 알고리즘들의 발전 과정은 힐베르트 곡선이 시각화를 위한 ‘그리는 대상’에서, 데이터 처리를 위한 ‘계산하는 함수’로 그 역할이 변화했음을 명확히 보여준다.10 특히 곡선 전체를 생성하지 않고도 좌표와 인덱스 간의 변환을 직접 수행하는 인코딩/디코딩 알고리즘의 발전은 데이터베이스 인덱싱이나 실시간 처리와 같은 실용적 응용을 위한 필연적인 진화 과정이라 할 수 있다.
<표 4-1> 유사 힐베르트 곡선 생성 알고리즘 비교
| 알고리즘 |
핵심 원리 |
처리 영역 |
장점 |
단점 |
주요 참조 |
| ZKU (분할/스캔) |
4개 블록으로 재귀적 분할 후, 블록 크기의 홀/짝에 따라 다른 스캔 방식 적용 |
임의 사각형 |
개념적 명확성, 다양한 크기 적용 가능 |
스캔 규칙이 복잡함, 구현 난이도 높음 |
33 |
| ‘gilbert’ (3분할 재귀) |
‘위/오른쪽/아래’ 3개 영역으로 비대칭 재귀 분할, 홀수 크기 회피 |
임의 사각형 |
알고리즘이 비교적 직관적, 3차원 확장 용이, 대각선 이동 최소화 |
표준 곡선과의 구조적 차이 큼 |
34 |
| LUT 기반 |
작은 블록들의 스캔 패턴을 룩업 테이블에 저장하여 고속으로 인덱스 계산 |
임의 사각형 |
매우 빠른 인코딩/디코딩 속도, 실시간 처리에 유리 |
유연성 부족, 3차원 이상 확장 어려움, 테이블 관리 필요 |
18 |
| 최대 2의 거듭제곱 분해 |
가장 큰 $2^k \times H$ 부분에 대한 곡선을 먼저 생성하고 나머지에 대해 재귀 |
임의 사각형 |
표준 곡선의 구조를 최대한 보존, 큰 영역에서 높은 지역성 |
알고리즘이 복잡하고, 높낮이 조절 로직 구현이 까다로움 |
20 |
| Hilbert* (근사 균등 분할) |
근사적으로 균등한 분할을 통해 임의 크기 정사각형 처리, 부가 데이터 구조 불필요 |
임의 정사각형 |
우수한 인코딩/디코딩 성능, 표준 곡선과 유사한 클러스터링 속성 |
임의 ‘직사각형’에 대한 직접적 해법은 아님 (분해 후 적용) |
17 |
힐베르트 곡선 계열의 가장 중요한 가치는 다차원 공간의 지역성을 1차원 순서상에 얼마나 잘 보존하는지에 있다. 유사 힐베르트 곡선은 적용 범위를 넓히기 위해 필연적으로 표준 곡선의 완벽한 구조를 일부 변형하므로, 이로 인한 지역성 보존 능력의 변화를 정량적으로 평가하는 것은 매우 중요하다. 본 장에서는 지역성 측정을 위한 다양한 지표를 소개하고, 이를 바탕으로 여러 공간 채움 곡선들의 성능을 비교 분석한다.
‘지역성이 좋다’는 정성적인 표현을 넘어, 곡선의 성능을 객관적으로 평가하기 위한 여러 정량적 지표가 존재한다.
- 유클리드 거리와 힐베르트 거리의 상관관계: 가장 직관적인 방법은 2차원 공간상의 두 점 간 유클리드 거리와, 이 두 점에 해당하는 1차원 힐베르트 인덱스 값의 차이(힐베르트 거리) 사이의 상관관계를 분석하는 것이다.10 높은 양의 상관관계는 지역성이 잘 보존됨을 의미한다.
- 클러스터링 속성(Clustering Property): 이미지 처리나 데이터 클러스터링에서 중요한 지표로, 공간적으로 인접한 픽셀이나 데이터 포인트들이 1차원 배열에서도 얼마나 가깝게 뭉쳐 있는지를 측정한다. 이는 압축 알고리즘의 효율이나 데이터 접근의 지역성에 직접적인 영향을 미친다.12
- Purdue 대학 연구의 ‘Description Vector’: Walid G. Aref 연구팀은 공간 채움 곡선의 경로를 5가지 유형의 기본 세그먼트로 분해하고 그 비율을 계산하여 곡선의 특성을 하나의 벡터로 표현하는 체계적인 분석틀을 제안했다.2 이 지표들은 곡선의 미시적인 경로 특성을 정량화하여 보여준다.
- Jump (J): 곡선 상에서 연속된 두 점이 공간적으로는 인접하지 않고 멀리 떨어져 있는 경우. 이 비율이 낮을수록 클러스터링에 유리하며, 디스크 헤드 이동과 같은 물리적 비용을 줄일 수 있다.
- Contiguity (C): 연속된 두 점이 공간적으로도 맨해튼 거리 1만큼 인접한 경우. 이 비율이 높을수록 지역성 보존이 잘 된다고 볼 수 있다.
- Reverse (R) / Forward (F): 특정 축을 기준으로 좌표값이 감소(Reverse)하거나 증가(Forward)하는 방향으로 이동하는 경우. 이 비율은 스캔 방향의 편향성을 나타낸다.
- Still (S): 연속된 두 점 사이에서 특정 축의 좌표값이 변하지 않는 경우.
- 공정성(Fairness): 곡선이 특정 축 방향으로 편향되지 않고 모든 차원을 얼마나 공평하게 다루는지를 나타내는 지표. 각 차원에 대한 세그먼트 비율의 표준편차로 측정할 수 있다. 힐베르트 곡선은 다른 곡선들에 비해 공정성이 매우 높은 것으로 알려져 있다.2
이러한 다차원적인 품질 벡터를 통해 곡선을 평가하는 것은, 단순히 ‘지역성이 좋다/나쁘다’는 단일 점수로 평가하는 것보다 훨씬 깊은 통찰을 제공한다. 최적의 곡선은 응용 분야의 요구사항 벡터와 곡선의 특성 벡터가 얼마나 잘 정합(alignment)되는지에 따라 결정되기 때문이다.
유사 힐베르트 곡선은 임의의 영역을 처리하기 위해 표준 곡선의 완벽한 대칭 구조를 포기하므로, 어느 정도의 지역성 손실은 이론적으로 불가피하다. 그러나 여러 연구들은 잘 설계된 유사 힐베르트 곡선이 실용적으로 충분히 우수한 지역성을 유지함을 보여준다.
Wu 등의 연구에 따르면, Hilbert* 곡선은 표준 힐베르트 곡선과 ‘유사한(similar)’ 클러스터링 속성을 보존하는 것으로 나타났다.17 ZKU 알고리즘에 기반한 곡선 역시 ‘가능한 한 많이(as much as possible)’ 이웃 관계를 보존하도록 설계되었다고 주장한다.36 이는 유사 힐베르트 곡선을 평가하는 기준이 ‘수학적 이상’인 표준 곡선에 얼마나 가까운가보다는, 래스터 스캔이나 Z-order 곡선과 같은 ‘실용적 대안’에 비해 얼마나 실질적인 성능 향상을 제공하는가에 맞춰져야 함을 시사한다. 즉, 약간의 이론적 손실을 감수하더라도, 다른 간단한 방법에 비해 월등한 지역성을 보이면서 계산 비용이 합리적이라면 그 자체로 큰 가치를 지닌다.
유사 힐베르트 곡선의 성능을 평가할 때 가장 중요한 비교 대상은 Z-order 곡선(또는 Morton 코드)이다.
- Z-order 곡선의 특성: Z-order 곡선은 각 차원 좌표의 비트들을 번갈아 섞는(interleaving) 매우 간단한 방식으로 생성된다.38 이 방식은 계산이 극도로 빠르고 하드웨어로 구현하기도 용이하여 많은 시스템에서 널리 사용된다.
- 지역성 비교: 그러나 지역성 보존 측면에서는 힐베르트 곡선이 Z-order 곡선보다 전반적으로 우수하다는 것이 정설이다.10 Z-order 곡선은 재귀적으로 분할된 영역(사분면)의 경계를 넘어갈 때, 1차원 인덱스 상으로는 바로 다음 순서임에도 불구하고 공간적으로는 매우 멀리 떨어진 위치로 이동하는 큰 ‘점프’가 빈번하게 발생한다.11 반면 힐베르트 곡선은 이러한 점프를 최소화하도록 경로가 설계되어 있다.
- 성능 트레이드오프: 결국 두 곡선 사이에는 근본적인 트레이드오프가 존재한다. Z-order는 계산이 매우 빠르지만 지역성 보존 능력이 다소 떨어지고, 힐베르트 곡선은 지역성이 우수하지만 계산이 더 복잡하다.39 따라서 응용 분야가 실시간성을 극도로 요구하는지, 아니면 데이터 클러스터링을 통한 질의 성능이 더 중요한지에 따라 선택이 달라질 수 있다.
- 데이터 비대칭성의 영향: 한편, 스웨덴 예테보리 대학(GUPEA)의 연구는 흥미로운 관점을 제시한다. 실제 센서 데이터와 같이 특정 차원의 값 범위가 다른 차원보다 훨씬 큰 비대칭적(asymmetric) 데이터의 경우, 힐베르트 곡선과 Z-order 곡선 간의 성능 차이가 줄어들거나, 특정 패턴을 검색하는 작업에서는 오히려 Z-order가 더 유리할 수도 있음을 보였다.16 이는 힐베르트 곡선의 이론적 우월성이 모든 실제 데이터와 응용 시나리오에서 항상 보장되지는 않음을 시사하며, 실제 데이터를 이용한 벤치마킹의 중요성을 강조한다.
- <표 5-1> 주요 공간 채움 곡선 특성 비교
| 곡선 유형 |
지역성 보존 (정성적) |
계산 복잡도 (인코딩) |
Jump 비율 (예시) |
Fairness (예시) |
주요 장점 |
| 표준 힐베르트 |
최상 |
재귀/비트연산 (복잡) |
0% 2 |
매우 높음 (편향 적음) 2 |
최상의 클러스터링 |
| 유사 힐베르트 |
우수 |
알고리즘에 따라 다양 (재귀, LUT 등) |
낮음 (0에 가까움) |
높음 |
임의 영역 적용 가능 |
| Z-order (Morton) |
보통 |
비트 인터리빙 (매우 빠름) |
상대적으로 높음 |
낮음 (축 편향 존재) |
매우 빠른 계산, 간단한 구현 |
| 스캔 (Raster) |
낮음 |
단순 산술 (매우 빠름) |
0% 2 |
매우 낮음 (강한 축 편향) |
가장 간단함 |
유사 힐베르트 곡선은 이론적 흥미를 넘어, 다양한 실제 문제 해결에 기여하는 강력한 도구이다. 그 핵심 가치는 단순히 다차원 데이터를 1차원으로 변환하는 것을 넘어, 기존 알고리즘이나 시스템의 입력 데이터를 재배열하는 ‘전처리기(preprocessor)’ 역할을 수행함으로써 성능을 극대화하는 데 있다. 더 나아가, 어려운 고차원 문제를 다루기 쉬운 저차원 문제로 ‘변환’하는 패러다임을 제공하기도 한다. 본 장에서는 주요 응용 분야를 중심으로 유사 힐베르트 곡선의 구체적인 활용 사례와 그 효과를 심도 있게 탐구한다.
공간 데이터베이스에서 유사 힐베르트 곡선은 다차원 객체를 효율적으로 인덱싱하고 질의하는 데 핵심적인 역할을 한다.
- 다차원 인덱싱: 다차원 공간 객체들을 힐베르트 순서로 정렬하여 그 순서(인덱스) 값을 키로 삼아 B+-Tree와 같은 1차원 인덱스 구조에 저장할 수 있다. 이는 복잡한 다차원 인덱스 구조를 직접 구현하지 않고도 효율적인 공간 인덱싱을 가능하게 한다.3
- 힐베르트 R-tree: R-tree는 공간 객체를 계층적인 최소 경계 사각형(MBR)으로 묶어 관리하는 대표적인 다차원 인덱스 구조이다. R-tree의 노드를 채울 때, 삽입될 객체들을 힐베르트 순서로 정렬한 후 순서대로 노드에 채워 넣으면, 공간적으로 인접한 객체들이 같은 노드에 묶일 확률이 높아진다. 이는 노드 간의 공간적 중첩(overlap)을 최소화하고 노드의 저장 공간 활용도를 높여, 전체적인 검색 성능을 크게 향상시킨다. 이를 ‘힐베르트 R-tree’ 또는 ‘힐베르트 패킹(Hilbert packing)’이라 부른다.2
- 질의 최적화: 힐베르트 순서는 공간적으로 인접한 데이터를 디스크의 물리적으로 가까운 위치에 저장되도록 유도한다. 따라서 특정 영역 내의 모든 객체를 찾는 범위 질의(range query)나 특정 객체와 가장 가까운 객체를 찾는 최근접 이웃 질의(nearest-neighbor query)를 수행할 때, 필요한 데이터들이 소수의 디스크 블록에 모여 있게 된다. 이는 불필요한 디스크 탐색(seek)과 읽기(I/O) 횟수를 획기적으로 줄여 질의 응답 시간을 단축시킨다.4
- 인덱스 생성 최적화: PostGIS와 같은 공간 데이터베이스에서 GIST(Generalized Search Tree) 인덱스를 생성할 때, 입력 데이터의 순서는 최종 인덱스의 품질에 큰 영향을 미친다. 데이터를 힐베르트 순서로 미리 정렬하여 인덱스를 생성하면, 무작위 순서로 입력할 때보다 더 균형 잡히고 효율적인 트리 구조가 만들어져 질의 성능이 향상되는 것으로 나타났다.13
유사 힐베르트 곡선은 이미지의 2차원 픽셀 배열을 1차원 시퀀스로 변환하면서 픽셀 간의 공간적 상관관계를 보존하는 특성 덕분에 이미지 처리 분야에서 다양하게 응용된다.
- 무손실 이미지 압축: 일반적인 이미지는 인접한 픽셀들끼리 유사한 색상 값을 갖는 경향이 있다. 2D 이미지 픽셀을 힐베르트 순서로 스캔하여 1D 시퀀스로 재배열하면, 이러한 값의 유사성이 1D 시퀀스 상에서도 유지된다. 이 1D 시퀀스에 RLE(Run-Length Encoding), LZW, Huffman 코딩과 같은 표준적인 1차원 압축 알고리즘을 적용하면, 일반적인 래스터 스캔(행 단위 스캔) 방식에 비해 훨씬 높은 압축 효율을 얻을 수 있다.20 유사 힐베르트 곡선은 이 강력한 기법을 임의 크기의 이미지에 적용할 수 있게 해준다.
- 디더링(Dithering) 및 톤 매핑: 그레이스케일 이미지를 흑백 이미지로 변환할 때 발생하는 양자화 오차를 다음 픽셀로 넘겨주는 에러 확산 디더링 기법에서, 힐베르트 순서를 따라 오차를 확산시키면 래스터 스캔에서 나타나는 인공적인 대각선 패턴을 줄이고 시각적으로 더 자연스러운 결과를 얻을 수 있다.6 또한, ZKU 연구팀은 유사 힐베르트 스캔을 HDR(High Dynamic Range) 이미지의 톤 매핑에 적용하여, 이미지의 지역적 대비(local contrast)를 효과적으로 보존하면서 일반 디스플레이에 표현하는 방법을 제안했다.35
- 이미지-오디오 변환: 시각 장애인을 위해 이미지 정보를 소리로 변환하는 창의적인 연구에서도 힐베르트 곡선이 활용되었다. 힐베르트 곡선은 이미지의 해상도가 변경되어도 특정 지점의 상대적인 위치가 곡선 경로상에서 크게 변하지 않는 특성을 가진다. 이 덕분에 사용자는 해상도가 다른 이미지를 듣더라도 새로운 소리-위치 연관성을 처음부터 다시 학습할 필요가 줄어든다.24
현대 컴퓨터 아키텍처에서 CPU와 메인 메모리 간의 속도 차이를 메우는 캐시 메모리의 효율적 활용은 성능에 결정적인 영향을 미친다.
- 메모리 접근 패턴 최적화: 다차원 배열에 대한 연산을 수행할 때, 데이터가 메모리에 어떻게 배치되고 어떤 순서로 접근되는지에 따라 캐시 적중률이 크게 달라진다. 다차원 배열을 힐베르트 순서에 따라 1차원 메모리 공간에 배치하고, 이 순서대로 데이터를 순회하면, 연산에 필요한 데이터들이 캐시에 함께 로드될 확률이 높아진다(공간적 지역성 향상). 이는 일반적인 행 우선(row-major) 또는 열 우선(column-major) 순회 방식에 비해 캐시 미스(cache miss)를 극적으로 줄여, 전체 연산 속도를 크게 가속화할 수 있다.44
- 병렬 컴퓨팅 및 부하 분산: 대규모 과학 시뮬레이션에서 계산 영역을 여러 프로세서에 분할하여 병렬 처리할 때, 힐베르트 곡선을 사용하여 전체 계산 영역을 1차원 경로로 만든 후, 이 경로를 균등하게 잘라 각 프로세서에 할당한다. 이렇게 하면 각 프로세서는 공간적으로 서로 인접하고 응집된 영역을 담당하게 된다. 이는 경계 영역에서 발생하는 프로세서 간 통신량을 최소화하여 병렬 처리의 확장성과 효율을 높이는 효과적인 부하 분산(load balancing) 전략이다.10
유사 힐베르트 곡선의 원리는 전통적인 컴퓨터 과학 분야를 넘어 최첨단 과학 및 공학 분야로 확장되고 있다.
- 양자 시스템 시뮬레이션: 2차원 양자 다체(many-body) 시스템을 시뮬레이션하는 것은 매우 어려운 문제이다. 한 가지 접근법은 이를 1차원 텐서 네트워크(Tensor Network) 모델로 매핑하여 푸는 것이다. 이때, 2차원 격자점을 1차원 체인으로 매핑하는 방식이 시뮬레이션의 정확도에 큰 영향을 미친다. 연구에 따르면, 단순한 ‘스네이크(snake)’ 방식보다 힐베르트 곡선을 사용하여 매핑할 경우, 양자 상호작용의 지역성이 훨씬 잘 보존되어 더 정확한 바닥 상태 에너지 계산 결과를 얻을 수 있다.47
- 화학정보학(Cheminformatics): 방대한 화합물 라이브러리에서 구조적으로 유사한 분자를 검색하고 시각화하는 것은 신약 개발의 중요한 과정이다. 유사 힐베르트 곡선을 기반으로 한 HCASE(Hilbert Curve Aided Scaffold Embedding) 방법은, 분자의 핵심 구조(scaffold)를 기준으로 정렬한 뒤, 이를 2D 공간의 유사 힐베르트 곡선 경로에 배치한다. 이를 통해 구조적으로 유사한 화합물들이 2D 맵 상에서 시각적으로 가깝게 군집화되어 직관적인 탐색과 분석이 가능해진다.48
- 의료 영상 분석(Radiomics): 3D 의료 영상(CT, MRI 등)에서 종양의 내부 이질성(heterogeneity)을 분석하는 것은 암의 진단과 예후 예측에 중요하다. 3D 복셀(voxel) 데이터를 직접 처리하는 3D CNN(Convolutional Neural Network)은 계산 비용이 매우 높다. 이를 해결하기 위해, 3D 힐베르트 곡선을 이용해 3D 복셀 데이터를 2D 이미지로 펼치는(flattening) 방법이 제안되었다. 이 변환 과정에서 3D 공간의 이웃 관계가 2D 이미지 상의 지역성으로 보존되므로, 상대적으로 더 가볍고 성숙한 2D CNN 아키텍처를 효과적으로 적용하여 3D 공간 정보를 분석할 수 있다.14 이는 어려운 3D 문제를 다루기 쉬운 2D 문제로 변환하는 ‘문제 변환’의 좋은 예시이다.
본 보고서는 표준 힐베르트 곡선의 수학적 원리에서 출발하여, 그 실용적 한계를 극복하기 위해 등장한 유사 힐베르트 곡선의 다양한 생성 알고리즘, 핵심 특성, 그리고 광범위한 응용 분야를 심층적으로 고찰하였다. 이 과정에서 유사 힐베르트 곡선이 단순한 근사를 넘어, 수학적 이상과 공학적 현실 사이의 간극을 메우는 실용적이고 창의적인 해법들의 집합체임을 확인하였다.
- 가치: 유사 힐베르트 곡선의 가장 큰 가치는 표준 힐베르트 곡선의 핵심 장점인 우수한 지역성 보존 특성을 계승하면서도, 그 적용 대상을 $2^k \times 2^k$의 제약에서 벗어나 현실 세계의 임의 크기 데이터로 확장했다는 데 있다. 이로 인해 데이터베이스 인덱싱, 이미지 압축, 고성능 컴퓨팅 등 다양한 분야에서 기존 방법론의 성능을 한 단계 끌어올리는 강력한 ‘프리미티브(primitive)’ 또는 ‘전처리기’로서의 역할을 수행하게 되었다. 더 나아가, 이는 복잡한 고차원 문제를 다루기 쉬운 저차원 문제로 변환하는 새로운 분석 패러다임을 제시하며 양자 컴퓨팅, 의료 영상 분석과 같은 최첨단 분야로까지 그 영향력을 넓히고 있다.
- 한계: 그럼에도 불구하고 유사 힐베르트 곡선은 몇 가지 내재적 한계를 가진다. 첫째, 임의의 영역에 적응하기 위해 표준 곡선의 완벽한 대칭 구조를 포기하는 과정에서 발생하는 약간의 지역성 손실은 불가피하다. 둘째, 다양한 영역 형태에 대응하기 위한 알고리즘의 복잡성이 증가하여 구현 및 분석이 어려울 수 있다. 셋째, ‘최적’의 유사 힐베르트 곡선은 데이터의 분포와 응용 분야의 요구사항에 따라 달라지므로, 모든 상황에 완벽하게 들어맞는 범용적인 단일 해법은 존재하지 않는다.
특정 응용에 가장 적합한 유사 힐베르트 곡선 알고리즘을 선택하기 위해서는 다음과 같은 실용적인 가이드라인을 고려해야 한다.
- 실시간 성능이 최우선인 경우: 이미지의 실시간 톤 매핑이나 빠른 인덱스 계산이 요구되는 시스템에서는 재귀 호출의 오버헤드를 제거한 룩업 테이블(LUT) 기반의 고속 인코딩/디코딩 알고리즘이 가장 유리하다.36
- 정확한 지역성이 중요한 경우: 데이터베이스 인덱싱이나 데이터 클러스터링과 같이 지역성 보존의 질이 최종 성능에 직결되는 응용에서는, 표준 곡선의 구조를 최대한 유지하려는 최대 2의 거듭제곱 분해 방식이나, 경로의 연속성을 중시하는 재귀적 분할 방식(‘gilbert’ 등)이 더 나은 클러스터링 결과를 제공할 수 있다.20
- 구현의 용이성과 유연성이 중요한 경우: 프로토타이핑이나 연구 초기 단계에서는 알고리즘의 개념이 비교적 직관적이고 3차원으로의 확장이 용이한 ‘gilbert’와 같은 재귀 알고리즘이 좋은 출발점이 될 수 있다.34
- 데이터 비대칭성이 심한 경우: 힐베르트 계열 곡선의 이론적 우월성에만 의존해서는 안 된다. 실제 데이터를 사용하여 Z-order 곡선과 같은 단순한 대안과 직접적인 벤치마킹을 수행하여, 특정 질의 패턴과 데이터 분포 하에서 어떤 곡선이 실질적으로 더 나은 성능을 보이는지 확인하는 과정이 필수적이다.16
유사 힐베르트 곡선 분야는 여전히 흥미로운 미해결 과제와 풍부한 연구 기회를 제공한다.
- 동적/적응형 유사 힐베르트 곡선: 현재의 알고리즘들은 대부분 정적인 데이터 분포를 가정한다. 데이터의 분포나 질의 패턴이 시간에 따라 변하는 동적 환경에서, 이에 맞춰 분할 및 스캔 전략을 실시간으로 최적화하는 ‘적응형(adaptive)’ 유사 힐베르트 곡선에 대한 연구가 필요하다. 이는 QUILTS 3와 같은 연구에서 제시된 아이디어를 동적 환경으로 확장하는 방향으로 나아갈 수 있다.
- 3차원 이상으로의 체계적 일반화: 대부분의 연구가 2차원에 집중되어 있다. 3차원 및 그 이상의 고차원으로 유사 힐베르트 곡선 생성 알고리즘을 효율적이고 체계적으로 일반화하는 연구는 여전히 초기 단계에 머물러 있다.20 특히, 고차원에서 발생하는 복잡성을 제어하면서도 지역성을 효과적으로 보존하는 새로운 분할 전략에 대한 탐구가 요구된다.
- 비(非)유클리드 공간으로의 확장: 현재의 곡선들은 모두 유클리드 공간의 격자(grid) 구조를 가정한다. 소셜 네트워크나 분자 구조와 같은 그래프나 복잡계 네트워크와 같은 비유클리드 공간에 지역성 보존 매핑의 개념을 적용하고, 이를 위한 새로운 ‘그래프 힐베르트 곡선’을 정의하는 연구는 전혀 새로운 응용 가능성을 열 수 있다.
- 이론적 성능 하한(Lower Bound) 연구: “임의의 $W \times H$ 사각형에 대해, 어떤 유사 힐베르트 곡선이라도 달성할 수 있는 지역성 보존의 이론적 한계는 어디까지인가?”라는 근본적인 질문에 대한 연구가 필요하다. 이는 다양한 알고리즘들의 성능을 평가하는 절대적인 기준점을 제공하고, 향후 알고리즘 설계의 방향성을 제시할 수 있을 것이다.5
유사 힐베르트 곡선은 수학적 우아함과 공학적 실용성이 결합된 매력적인 연구 분야이다. 앞으로도 더 많은 연구자들이 이 분야의 미해결 과제에 도전하여, 다차원 데이터를 이해하고 활용하는 우리의 능력을 한 단계 더 발전시킬 것을 기대한다.
- OVERVIEW OF SPACE-FILLING CURVES AND THEIR APPLICATIONS IN SCHEDULING - IJAET, 8월 1, 2025에 액세스, https://www.ijaet.org/media/0003/15I4OVERVIEW-OF-SPACE-FILLING-CURVES-AND-THEIR-APPLICATIONS-IN-SCHEDULING-Copyright-IJAET.pdf
- Performance of Multi-Dimensional Space- Filling Curves - Purdue e-Pubs, 8월 1, 2025에 액세스, https://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=2545&context=cstech
- Towards Designing and Learning Piecewise Space-Filling Curves - VLDB Endowment, 8월 1, 2025에 액세스, https://www.vldb.org/pvldb/vol16/p2158-li.pdf
- Towards a Painless Index for Spatial Objects - Rui Zhang, 8월 1, 2025에 액세스, https://www.ruizhang.info/publications/Tods2014_SSI_Index.pdf
- Neighbor-finding based on space-filling curves - ResearchGate, 8월 1, 2025에 액세스, https://www.researchgate.net/publication/220503592_Neighbor-finding_based_on_space-filling_curves
- Hilbert curve - Wikipedia, 8월 1, 2025에 액세스, https://en.wikipedia.org/wiki/Hilbert_curve
- 공간 채움 곡선 - 위키백과, 우리 모두의 백과사전, 8월 1, 2025에 액세스, https://ko.wikipedia.org/wiki/%EA%B3%B5%EA%B0%84%EC%B1%84%EC%9B%80%EA%B3%A1%EC%84%A0
- 공간 채움 곡선 - 오늘의AI위키, AI가 만드는 백과사전, 8월 1, 2025에 액세스, https://wiki.onul.works/w/%EA%B3%B5%EA%B0%84%EC%B1%84%EC%9B%80%EA%B3%A1%EC%84%A0
- 힐베르트 곡선 - 오늘의AI위키, AI가 만드는 백과사전, 8월 1, 2025에 액세스, https://wiki.onul.works/w/%ED%9E%90%EB%B2%A0%EB%A5%B4%ED%8A%B8_%EA%B3%A1%EC%84%A0
- Pseudo-Hilbert Curves for Computational Science / BijectiveHilbert.jl, 8월 1, 2025에 액세스, https://computingkitchen.com/BijectiveHilbert.jl/dev/hilbert/
-
| Data Locality and Multi-Dimensional Clustering in Data Lakehouse |
by Udaya Chathuranga, 8월 1, 2025에 액세스, https://medium.com/@udayaw/data-locality-and-clustering-ecaa53c5024d |
-
| Using Hilbert curve in image storing and retrieving |
Request PDF - ResearchGate, 8월 1, 2025에 액세스, https://www.researchgate.net/publication/221573810_Using_Hilbert_curve_in_image_storing_and_retrieving |
-
| Tricks for Faster Spatial Indexes |
Crunchy Data Blog, 8월 1, 2025에 액세스, https://www.crunchydata.com/blog/tricks-for-faster-spatial-indexes |
- Decoding intra-tumoral spatial heterogeneity on radiological images using the Hilbert curve, 8월 1, 2025에 액세스, https://pmc.ncbi.nlm.nih.gov/articles/PMC8557226/
- gupea.ub.gu.se, 8월 1, 2025에 액세스, https://gupea.ub.gu.se/bitstream/handle/2077/77963/CSE%2023-41%20AT%20AN.pdf?sequence=1#:~:text=The%20Hilbert%20curve%20is%20especially,it%20navigates%20the%20multidimensional%20space.
- Comparing the Locality Preservation of Z-order Curves … - GUPEA, 8월 1, 2025에 액세스, https://gupea.ub.gu.se/bitstream/handle/2077/77963/CSE%2023-41%20AT%20AN.pdf?sequence=1
- Approximately even partition algorithm for coding the Hilbert curve of arbitrary-sized image, 8월 1, 2025에 액세스, https://digital-library.theiet.org/doi/abs/10.1049/iet-ipr.2010.0242
- Approximately even partition algorithm for coding the Hilbert curve of arbitrary-sized image - Sci-Hub, 8월 1, 2025에 액세스, https://2024.sci-hub.se/4134/589ad42c0122df0e2929e48af0ba5d8b/wu2012.pdf
- A General Space-filling Curve Algorithm for Partitioning 2D Meshes - Marc Snir, 8월 1, 2025에 액세스, https://snir.cs.illinois.edu/listed/C96.pdf
- Modified Hilbert Curve for Rectangles and Cuboids and Its Application in Entropy Coding for Image and Video Compression, 8월 1, 2025에 액세스, https://pmc.ncbi.nlm.nih.gov/articles/PMC8304958/
- What can you do with this space? - Chalkdust, 8월 1, 2025에 액세스, https://chalkdustmagazine.com/features/what-can-you-do-with-this-space/
- Space-Filling Curves - arXiv, 8월 1, 2025에 액세스, https://arxiv.org/html/2501.04705v1
- 힐베르트 곡선 - 위키백과, 우리 모두의 백과사전, 8월 1, 2025에 액세스, https://ko.wikipedia.org/wiki/%ED%9E%90%EB%B2%A0%EB%A5%B4%ED%8A%B8_%EA%B3%A1%EC%84%A0
- Using Pseudo-Hilbert Curves to Assist People Perceive Images via Sound, 8월 1, 2025에 액세스, https://community.wolfram.com/groups/-/m/t/1862464
- First three stages in the generation of Hilbert’s space-filling curve - ResearchGate, 8월 1, 2025에 액세스, https://www.researchgate.net/figure/First-three-stages-in-the-generation-of-Hilberts-space-filling-curve_fig1_265074953
- Space-Filling Curves - MATHTICIAN, 8월 1, 2025에 액세스, http://mathtician.weebly.com/space-filling-curves.html
- Recursive patterns – the Hilbert curve - The Craft of Coding, 8월 1, 2025에 액세스, https://craftofcoding.wordpress.com/2024/02/20/recursive-patterns-the-hilbert-curve/
- Example of recursion: Hilbert Curves, 8월 1, 2025에 액세스, https://homes.cs.aau.dk/~normark/prog3-03/html/notes/fu-intr-2_themes-hilbert-sec.html
-
| Mapping the Hilbert curve |
bit-player, 8월 1, 2025에 액세스, http://bit-player.org/2013/mapping-the-hilbert-curve |
-
- 힐베르트 곡선 - velog, 8월 1, 2025에 액세스, https://velog.io/@jeukoh26/11737.-%ED%9E%90%EB%B2%A0%EB%A5%B4%ED%8A%B8-%EA%B3%A1%EC%84%A0
- An Iterated Function System based Method to Generate Hilbert-type Space-filling Curves - MECS Press, 8월 1, 2025에 액세스, https://www.mecs-press.org/ijitcs/ijitcs-v7-n12/IJITCS-V7-N12-2.pdf
- Hilbert’s curve cannot fill a space? : r/3Blue1Brown - Reddit, 8월 1, 2025에 액세스, https://www.reddit.com/r/3Blue1Brown/comments/us7y5d/hilberts_curve_cannot_fill_a_space/
- Pseudo Hilbert Curve for Arbitrary Rectangular Regions - Part 1 - Grant Trebbin, 8월 1, 2025에 액세스, https://www.grant-trebbin.com/2017/03/pseudo-hilbert-curve-for-arbitrary.html
- jakubcerveny/gilbert: Space-filling curve for rectangular … - GitHub, 8월 1, 2025에 액세스, https://github.com/jakubcerveny/gilbert
- Adaptive Tone Reproduction Based on the Pseudo … - CiteSeerX, 8월 1, 2025에 액세스, https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=ece10abbb0ba9eebbbd0d5b97ae950fe3b337124
- A Pseudo-Hilbert Scan for Arbitrarily-Sized Arrays - IEICE DIGITAL LIBRARY, 8월 1, 2025에 액세스, https://globals.ieice.org/en_transactions/fundamentals/10.1093/ietfec/e90-a.3.682/_p
- digital-library.theiet.org, 8월 1, 2025에 액세스, https://digital-library.theiet.org/doi/abs/10.1049/iet-ipr.2010.0242#:~:text=In%20this%20study%2C%20by%20using,of%20the%20standard%20Hilbert%20curve.
-
| Space-filling curves |
Bert’s blog, 8월 1, 2025에 액세스, https://bertvandenbroucke.netlify.app/2019/01/18/space-filling-curves/ |
- What is the difference between various space-filling curves?, 8월 1, 2025에 액세스, https://computergraphics.stackexchange.com/questions/1479/what-is-the-difference-between-various-space-filling-curves
-
| Z-Order Indexing for Efficient Queries in Data Lake |
by Nishant Chandra |
Medium, 8월 1, 2025에 액세스, https://medium.com/@nishant.chandra/z-order-indexing-for-efficient-queries-in-data-lake-48eceaeb2320 |
- Efficient Point Cloud Analysis Using Hilbert Curve, 8월 1, 2025에 액세스, https://www.ecva.net/papers/eccv_2022/papers_ECCV/papers/136620717.pdf
- Efficient Computation of the Hilbert Curve : r/rust - Reddit, 8월 1, 2025에 액세스, https://www.reddit.com/r/rust/comments/ma56rf/efficient_computation_of_the_hilbert_curve/
- Lossless compression of medical images using Hilbert space-filling curves - ResearchGate, 8월 1, 2025에 액세스, https://www.researchgate.net/publication/5603172_Lossless_compression_of_medical_images_using_Hilbert_space-filling_curves
- Space-filling Curves for High-performance Data Mining - arXiv, 8월 1, 2025에 액세스, https://arxiv.org/pdf/2008.01684
- Boosting Memory Access Locality of the Spectral Element Method with Hilbert Space-Filling Curves - arXiv, 8월 1, 2025에 액세스, https://arxiv.org/pdf/2104.08416
- Hilbert Space Filling Curve (HSFC), 8월 1, 2025에 액세스, https://sandialabs.github.io/Zoltan/ug_html/ug_alg_hsfc.html
- Hilbert curve vs Hilbert space: exploiting fractal 2D covering to increase tensor network efficiency - Quantum Journal, 8월 1, 2025에 액세스, https://quantum-journal.org/papers/q-2021-09-29-556/
- Hilbert-curve assisted structure embedding method - PMC - PubMed Central, 8월 1, 2025에 액세스, https://pmc.ncbi.nlm.nih.gov/articles/PMC11285582/