Curva de Hilbert

La curva de Hilbert es una curva continua que llena un cuadrado . Fue descrito por primera vez por el matemático alemán David Hilbert en 1891 .

Dado que cubre un cuadrado, su dimensión de Hausdorff y su dimensión topológica son iguales a 2. Sin embargo, se considera parte de los fractales .

La longitud euclidiana de H n (la curva aproximada continua obtenida en la n -ésima iteración) es  ; por tanto, crece exponencialmente con n .

Para navegar en bases de datos multidimensionales, se propuso la curva de Hilbert en lugar de la curva de Lebesgue porque tiene un comportamiento que preserva mejor la localidad.

Construcción geométrica

Hilbert define la función como un límite de funciones dando las aproximaciones sucesivas de la curva de Hilbert.

1 2
0 3
Si conectamos los centros de estos cuadrados por segmentos, obtenemos la gráfica H 1 . Su punto inicial es el punto de coordenadas y su punto final es el punto de coordenadas . Es el arco parametrizado por una función f 1 que envía el intervalo [0, 1/4] de la parte de H 1 contenida en el cuadrado 0, el intervalo de la parte de H 1 contenida en el cuadrado 1, el intervalo de la parte de H 1 contenido en el cuadrado 2, y el intervalo de la parte de H 1 contenido en el cuadrado 3, siguiendo la dirección de desplazamiento.
1 2 1 2
0 3 0 3
3 2 1 0
0 1 2 3
El punto inicial del gráfico H n así obtenido es el punto inicial del gráfico H n -1 del cuadrado 0 en la parte inferior izquierda, y el punto final del gráfico H n es el punto final del gráfico H n -1 de cuadrado 3, en la parte inferior derecha. Las partes de H n contenidas en cada uno de los 4 n cuadrados pequeños del lado 1/2 n en orden de recorrido son las imágenes sucesivas por la función f n de cada uno de los intervalos sucesivos de longitud 1/4 n subdivididos .

Debido a la definición local de las gráficas H n , la secuencia de funciones continuas ( f n ) es uniformemente Cauchy , por lo tanto converge uniformemente a una función continua f cuya gráfica es la curva de Hilbert. Este gráfico es denso en el cuadrado . Además, es compacto como una imagen continua del compacto [0,1], por lo que es un denso cerrado de , por lo tanto es igual a . f es un mapa sobreyectivo. No es derivable en ningún momento.

Podemos demostrar por inducción que las gráficas H n , y por tanto la curva de Hilbert al cruzar el límite, son simétricas con respecto a la recta de la ecuación x = 1/2.

Definición recursiva

La parametrización f ( t ) = ( x ( t ), y ( t )) de la función de Hilbert previamente definida satisface, teniendo en cuenta las simetrías de la construcción:

para para para para

También f ( 0 ) = (0, 0) yf ( 1 ) = (1, 0).

También podemos traducir estas relaciones de la siguiente manera. Planteemos:

S 0 la simetría con respecto a la recta y = x S 1 la traslación del vector (0, 1) S 2 la traslación del vector (1,1) S 3 la simetría con respecto a la recta y = - x , compuesta con la traslación del vector (2,1).

Entonces, si donde u n son los 4 dígitos base de t , tenemos:

y iterando:

En particular, si t es un real que tiene un número finito n de dígitos en base 4 ( ), tenemos:

Por tanto, podemos calcular fácilmente el valor de cualquier cantidad y más especialmente el , que dan las coordenadas de los centros de los pequeños cuadrados cuando k varía de 1 a 4 n .

Construcción por aproximaciones discretas

Las coordenadas de los vértices del gráfico H n se pueden determinar directamente por inducción . Se llevará a cabo una traslación para que las coordenadas del vértice inicial se devuelvan a (0,0) (y no al centro de un pequeño cuadrado). No obstante, continuaremos denotando este gráfico traducido por H n . Utilizamos para eso una variable auxiliar a indicando la orientación del desplazamiento, pudiendo tomar los valores 0, 1, 2, 3. La orientación dada por a corresponderá a las cuatro siguientes direcciones posibles del gráfico H 1 o de sus simetriza:

Codificación de las posibles orientaciones utilizadas para la construcción de la curva de Hilbert.

También nos damos tres matrices:

Los índices de fila varían de 0 a 3 (y no de 1 a 4 como es habitual) y estos índices corresponden a valores tomados por a . Los índices de columna también varían de 0 a 3 y corresponden a valores tomados por los dígitos en base 4 de un parámetro t dado. Los elementos de X serán las abscisas y los de Y las ordenadas de un vértice que se busca calcular; los elementos de A darán las distintas orientaciones a seguir durante el cálculo.

En el paso n , la gráfica (traducida de) H n tiene 4 n vértices. Tomados en el orden de navegación, se asociarán con los 4 n elementos t de cuya descomposición en base 4 comprende exactamente n dígitos (posiblemente incluidos los ceros finales):

, .

Así que dejemos que ese número sea. Las coordenadas del vértice del gráfico H n correspondiente a se pueden calcular por inducción sobre k variando de 0 an , a partir de las coordenadas del vértice del gráfico H k correspondiente al número . Denotemos por las coordenadas de , y sea el valor del parámetro que da la orientación a adoptar para construir los cuatro puntos de la gráfica H k +1 resultantes de (incluyendo el vértice que corresponde a .

Para k = 0, el gráfico H 0 se reduce al punto (0,0) y la orientación adoptada para construir H 1 corresponde a a = 0. Por lo tanto, inicialmente tenemos:

Para k que varíe de 1 an , definimos por inducción las secuencias:

Efectivamente verificaremos que, si la orientación viene dada por el valor de , entonces las diferencias entre las coordenadas de los cuatro puntos del gráfico H k resultantes y las coordenadas de son, al factor 1/2 k , ubicadas en fila de índice de las matrices X e Y, dependiendo del último dígito de dar el índice de la columna a adoptar. Además, la nueva orientación a adoptar en el punto así obtenido para construir el punto es el número ubicado en la recta índice de la matriz A, nuevamente en función del último dígito de .

Al atravesar los valores de 0.00 ... 0 a 0.33 ... 3 (con n dígitos), los 4 n vértices ocupan la esquina inferior izquierda de los 4 n cuadrados pequeños siguiendo el orden del gráfico H n

Para obtener los centros de los cuadrados, simplemente agregue a cada coordenada de cada vértice .

Generalización en dimensión superior

La curva de Hilbert se puede generalizar a dimensiones superiores. Por ejemplo, en la dimensión 3, en el paso 1, basta con atravesar los ocho vértices del cubo desde un vértice hasta un vértice adyacente. Para ir del paso n -1 al paso n , cortamos el cubo unitario en ocho subcubos en los que tenemos una curva de Hilbert aproximada de orden n -1, pero de modo que el punto final de cada gráfico de orden n -1 sea como lo más cerca posible del vértice inicial del siguiente gráfico de orden n -1.

La generalización también se puede realizar mediante composición funcional. Por tanto, la curva de Hilbert de dimensión 4 puede definirse por f ( t ) = ( x ( x ( t )), y ( x ( t )), x ( y ( t )), y ( y ( t ))). Esta definición puede extenderse a dimensiones que son potencias de 2.

Representación del sistema L

La curva de Hilbert también se puede construir mediante un sistema L  :

Alfabeto  : L, R Constantes  : F, +, - Axioma  : L Reglas  : L → –RF + LFL + FR− R → + LF - RFR - FL +

Aquí, F significa "adelante", + significa "90 ° a la izquierda" y - significa "90 ° a la derecha".

Butz propone un algoritmo para calcular la curva de Hilbert en varias dimensiones.

Referencias

  1. (de) D. Hilbert , “  Über die stetige Abbildung einer Linie auf ein Flächenstück  ” , Math. Ana. , vol.  38,1891, p.  459-460 ( leer en línea ).
  2. Theodore Bially. Curvas de relleno de espacio: su generación y su aplicación a la reducción del ancho de banda. IEEE Transactions on Information Theory, IT-15 (6): 658–664, 1969. (Citado de Jonathan Lawder: Techniques for Mapping to and from Space-fill Curves , 1999 , p.  58 ).
  3. (en) Heinz-Otto Peitgen  (en) y Dietmar Saupe (eds.), La ciencia de las imágenes fractales , Springer ,2012( leer en línea ) , pág.  278.
  4. (en) Arthur Butz , "  Algoritmo alternativo para la curva de llenado de espacio de Hilbert  " , IEEE Trans. On Computers , vol.  20,De abril de 1971, p.  424-442.

Ver también

Artículos relacionados

enlaces externos