82. (Marzo 2017) Música fractal (I)
Imprimir
Escrito por Paco Gómez Martín (Universidad Politécnica de Madrid)   
Miércoles 15 de Marzo de 2017

1. Introducción

Un tema que lleva tiempo pendiente en esta columna, quizás más del deseable, es el de la música fractal, tema fascinante donde los haya. Y ha llegado la hora de dedicarle una serie con la profundidad que se merece. Los artículos de los próximos meses estarán dedicados a la música fractal. Empezaremos con el del mes de marzo, que es una introducción a los fractales desde un punto de vista matemático. Esperamos dar el tono adecuado para no aburrir a nuestros lectores matemáticos y a la vez ser claros y amenos para nuestros lectores músicos. También esperamos que las conexiones entre los fractales y la composición musical despierten el interés de nuestros lectores a lo largo de esta serie de artículos. La música fractal se puede pensar como una forma de composición algorítmica. Recientemente, hicimos una serie sobre composición algorítmica (véase [Góm16]), pero no incluimos la música fractal porque, dada su entidad, consideramos que merecía una serie por sí misma. Empezaremos este artículo con una sucinta reseña histórica de los fractales; a continuación, entraremos a definir de modo intuitivo qué son y daremos varios ejemplos importantes; por último, daremos una definición más formal.

2. Historia de los fractales

El término fractal fue inventado por Benoît Mandelbrot para designar conjuntos con ciertas características de autosemejanza. Sus investigaciones sobre fractales empezaron en los años 60 (véase el artículo How Long Is the Coast of Britain? Statistical Self-Similarity and Fractional Dimension [Man67]), pero no es hasta 1975 cuando Mandelbrot empieza a usar el término fractal. Ya en su libro Fractals: Form, Chance and Dimension [Man77] lo presenta formalmente y lo emplea con toda su potencia conceptual. El término está tomado del latín, de fractus, que significa fracturado. Más tarde escribe The fractal geometry of nature [Man83], libro que populariza los fractales definitivamente. Una primera definición, intuitiva y sencilla, es que un fractal es un conjunto de autosemejanza infinita, esto es, un conjunto que cuando se reduce o se agranda su escala el conjunto no cambia. Esta idea ya conlleva una cierta idea del infinito dentro de sí. En la figura 1 vemos un famoso fractal, el triángulo de Serpienski, que ilustra la idea de fractal. Con frecuencia los fractales se construyen mediante un proceso infinito que, sin embargo, se especifica con una serie de reglas finitas. En el caso del triángulo de Serpienski, el proceso empieza con un triángulo equilátero; se sigue dividiendo este triángulo en cuatro insertando un triángulo a escala un tercio en el centro. Esto genera cuatro triángulos y, de los nuevos triángulos, el del centro permanece tal cual está y en el resto se repite este proceso hasta el infinito. El fractal es el resultado de este proceso infinito. Los fractales definidos de esta manera están fuertemente relacionados con la recursión [Wik17c]; la recursión es la definición de un objeto en términos de sí mismo. En el caso de este fractal, la definición empieza por un objeto fijo, que es el triángulo equilátero inicial y continúa con una definición recursiva, que es que en cada paso se subdividan ciertos triángulos y se aplique el proceso de construcción otra vez.

PIC

Figura 1: El triángulo de Serpienski

La autosemejanza se puede manifestar de múltiples maneras:

  • Autosemejanza exacta, donde el mismo patrón o conjunto se repiten idénticamente a cualquier escala, como en el ejemplo anterior.
  • Autosemejanza aproximada, donde el mismo patrón o conjunto se repite aproximadamente a cualquier escala. Por aproximadamente quiere decir que el patrón puede aparecer con algún tipo de distorsión.
  • Autosemejanza estadística, donde los patrones se repite y lo que se preserva son ciertas medidas estadísticas.
  • Autosemejanza cualitativa, donde ciertas propiedades cualitativas se conservan; ejemplos de esto aparecen en los mercados y los modelos de volatilidad.

La definición técnica que dio Mandelbrot es la de que un fractal es un objeto cuya dimensión de Haussdorf no es un entero. En la siguiente sección explicaremos con detalle esta definición; es más sencillo de lo que parece y es el lenguaje matemático que aquí puede intimidar un poco al principio.

Sin embargo, aunque Mandelbrot bautizó a estos conjuntos tan peculiares, los fractales habían aparecido mucho antes en la historia de las matemáticas y más recientemente en la computación. Los fractales están fuertemente relacionados con la idea del infinito y está ya había aparecido con frecuencia en las matemáticas, por ejemplo, en las series infinitas. Las series infinitas son sumas infinitas de números. Uno pensaría a primera vista que la suma infinita de números tiene que dar infinito, pero sin embargo eso no es cierto. Por ejemplo, la suma de

1-+ -1 + -1 + -1 + ... 2   22   23   24

que es una suma infinita da simplemente 1. Pickover [Pic09] (página 310) documenta los primeros rastros de los fractales en la obra del matemático y filósofo del siglo XVII Gottfried Leibniz, quien estudió las series infinitas. Esos rastros consisten en especulaciones sobre estructuras recursivas autosemejantes en los que se acerca mucho a la idea de dimensión fraccionaria. Crilly y sus coautores [CEJ91] localizan indicios de fractales en la obra de Durero (1471–1528), que es anterior a Leibniz. Durero tiene una construcción de pentágonos similar a la de Serpienski.

Dos siglos más tarde, a finales del siglo XIX, Cantor encontró una serie de conjuntos en la recta real, que se conocen hoy en día como conjuntos de Cantor, y que tenían propiedades muy peculiares. Con la terminología moderna, resultan ser ejemplos de estructuras fractales. Los conjuntos de Cantor se construían a partir de reglas recursivas como las del triángulo de Serpienski. Otros matemáticos, como Felix Klein y Henri Poincaré, trabajaron con conjuntos que son netamente fractales, en particular en los fractales autoinversos.

El artista Mauritus Escher tenía una fascinación por la recursividad y la autosemejanza. En la figura de abajo tenemos uno de sus grabados; en él se la idea de la autosemejanza así como la de la simetría y recubrimiento. Las figuras negras delimitan a las figuras blancas y entre las dos cubren el círculo; las figuras van reduciendo su escala según se acercan a la circunferencia.

PIC

Figura 2: Grabado de M. C. Escher con un motivo autosemejante

Otros matemáticos que trabajaron con los fractales fueron Peano, Hilbert y von Koch, quienes dieron conjuntos fractales cada vez más complejos; Haussdorf, quien generalizó el concepto de dimensión; y más modernamente Julia y Fatou, quienes extendieron las ideas fractales al plano complejo. Con la invención de los ordenadores ya era posible visualizarlos. Las visualizaciones de los fractales producen imágenes muy atractivas y sus aplicaciones han demostrado ser ubicuas (paisajes de videojuegos, compresión de imágenes, arte en sí mismo). En la feria de computación más importante, SIGGRAPH, Loren Carpenter en 1980 hizo una presentación del primer software para generar paisajes fractales. A partir de ahí se popularizaron enormemente. Véanse los libros The fractal geometry of nature [Man83] y Fractal and Chaos [CEJ91] para más información sobre la historia de los fractales. Otros libros interesantes sobre fractales son los siguientes: como un libro para profundizar más sobre fractales, véase [Fel12]; sobre la presencia de los fractales en diversos campos, véase [DeC15]; para la programación de fractales, véase el libro de Ben Trube [Tru13]; para modelos fractales del comportamiento de los mercados, véase [PP94].

3. ¿Qué son los fractales?

Los fractales aparecen en muchos contextos y se pueden generar de múltiples formas. Las más comunes caen en las siguientes categorías (que no son exhaustivas ni mucho menos; véanse [Man83CEJ91Wik17a] para más información):

  • Reglas recursivas de subdivisión. Estos fractales corresponden al tipo del triángulo de Serpienski. Se definen una serie de reglas recursivas a través de las cuales se construye el conjunto fractal.
  • Iteración de funciones. Una función se evalúa repetidamente en un punto inicial. La función puede ser de tipo determinista o estocástica.
  • Atractores. Se usan soluciones de un sistema de ecuaciones (diferencial o de otro tipo), sobre todo de ecuaciones que son muy sensibles a las condiciones iniciales.
  • Sistemas L. Se basan en cadenas y su generación a través de reglas de escritura. Suelen generar fractales asociados a procesos de ramificaciones.
  • Fractales aleatorios. Son los fractales que aparecen en procesos aleatorios tales como movimiento browniano, paisajes fractales y otros.

Vamos a empezar dando unos cuantos ejemplos de conjuntos fractales y, tras haber adquirido intuición, pasaremos a definiciones más formales.

3.1. Fractales construidos por reglas recursivas

El primer conjunto que presentamos es el conjunto de Cantor. Es un fractal que se construye recursivamente. Se toma el intervalo [0,1] de la recta real y se le quita el tercio central, (1 3,2 3). Nos quedan los intervalos [0,1 3] y [2 3,1]. A continuación, se repite el proceso en estos intervalos de manera recursiva y ad infinitum. En la figura 3 tenemos cómo resulta el conjunto de Cantor para las primeras iteraciones.

PIC

Figura 3: El conjunto de Cantor

En cada paso de la construcción del conjunto de Cantor se extrae un tercio del conjunto anterior. Por ejemplo, en el primer paso, se extrae el intervalo [1 3,2 3]; en el segundo, los intervalos [19,29] y [79,89]; y así sucesivamente. Si sumamos todas las longitudes de esos intervalos tenemos

1-+ 2 ⋅ 1 + 22 ⋅-1 + 23 ⋅ 1-+ ... 3      32      33       34

Usando la fórmula clásica de la suma de progresiones geométricas, sale que la suma de estos intervalos es 1, que es un resultado que al menos a primera vista es sorprendente. Hemos quitado un conjunto infinito de puntos del intervalo [0,1] y lo que resta aun suma 1, la longitud de dicho intervalo.

El siguiente fractal que vamos a presentar es el copo de nieve de Koch. Se empieza con un triángulo equilátero, digamos de lado 1, y recursivamente se modifica cada lado como sigue:

  1. Divídase los lados en tres segmentos de igual longitud.
  2. Dibújese un triángulo equilátero sobre el segmento central obtenido en el paso 1 de manera que apunte hacia fuera.
  3. Quítese el segmento central sobre el que se basa el triángulo equilátero del paso 2

En la figura 4 se puede ver a la izquierda el detalle de las reglas recursivas y a la derecha el copo de nieve de Koch.

PIC PIC

Figura 4: El copo de nieve de Koch

El copo de nieve de Koch tiene la propiedad de que su perímetro es infinito, pero el área que encierra es finita. En efecto, llamemos Nn al número de lados del copo de nieve en el paso n. Se tiene que:

     { Nn =       3     si n = 1         Nn- 1 ⋅4 si n = 1

La anterior expresión es recursiva y con un poco de cálculo se puede ver que la forma explícita es Nn = 3 ⋅ 4n. Si Ln designa la longitud del lado que aparece en el copo de nieve en el paso n, entonces Ln es igual a porque la longitud se reduce a un tercio en cada paso. Por tanto, el perímetro Pn es igual a

     { Nn =       3     si n = 1         Nn- 1 ⋅4 si n = 1

Pn tiende a infinito cuando n tiende a infinito, pues 4∕3 es mayor que 1. De modo que la longitud del copo de nieve es infinito. Un cálculo con series infinitas prueba que, sin embargo, el área es finita e igual a 2√3- --5; véase [Wik17b] para los detalles de dicho cálculo (que solo requiere matemáticas de secundaria).

Esta curva también exhibe la sorprendente propiedad de que es continua en todos los puntos, pero no es diferenciable en ninguno. Probar que esto es así requiere matemáticas que van más allá del propósito de esta columna.

3.2. Fractales construidos por iteración de funciones

Hay otra gran familia de fractales, que son los que se basan en la iteración del valor de una función. Por ejemplo, si tenemos la función f(x) = x2 + 1 y tomamos un valor inicial, digamos x0 = 1, entonces las iteraciones sucesivas de f(x) en x0 son:

  • f(x0) = 1 2 + 1 = 3 2;
  • f(2)(x0) = f(f(x0)) = f(( )  3  2) = 3∕2-  2 + 1 = 7 4;
  • f(3)(x0) = f(f(2)(x0)) = f(7 4) = 7∕24 + 1 = 158;

Para un n arbitrario la n-ésima iteración es f(n)(x0) =  n+1 2-2n-1.

Los fractales de este tipo se desarrollan con los números complejos, de modo que las funciones son complejas y no reales. Los números complejos son números de forma x + yi, donde x,y son números reales habituales e i es la unidad imaginaria, que se define por la relación i2 = -1. El número x se llama la parte real e y la parte imaginaria. Los números complejos se pueden sumar y multiplicar. Solo hay que seguir las reglas habituales de cálculo. Si z1 = x1 + y1i y z2 = x2 + y2i son números complejos su suma y producto se calculan como sigue:

z1 + z2 = x1 + y1i+ x2 + y2i = x1 + x2 + (y1 + y2)i z ⋅z =  (x + y i)⋅(x +  yi) = x x +  x y i+ x y i+ y y i2 = x x - y y +  (x y  + x y )i  1  2     1   1     2    2     1 2    1 1    2 1    1 2      1 2   1 2     11    2 1

Consideremos ahora la función compleja f(z) = z2 + c, donde c = a + bi es una constante. Y consideremos también las iteraciones de f(z) en un punto inicial z0, esto es, f(z0),f(2)(z0),…,f(n)(z0). ¿A dónde tiene la iteración de f en z0 cuando n tiende a infinito? Hay varios posibles resultados, dependiendo del valor inicial:

  1. La iteración de f se queda fija. Si z0 = 0, obviamente f(n)(z0) = c, para todo n.
  2. La iteración de f converge a un punto al cual se acerca cada vez más; esto pasaría, por ejemplo, si hacemos que z0 = 1 2 - i1 2 y c = 1 2; de nuevo, se deja su comprobación al lector.
  3. La iteración de f diverge, esto es, f(n)(z0) se aleja infinitamente de z0. Por ejemplo, esto ocurre si tomamos z0 = 2 + 2i y c = 1 (el lector puede comprobar esto).
  4. También es posible que para algunos valores se produzca una serie cíclica de valores en las iteraciones.

Los casos 1 y 2 anteriores constituyen lo que llamamos el conjunto de puntos convergentes y los casos 3 y 4 el conjunto de puntos divergentes. El conjunto de Julia es el conjunto de puntos que son convergentes pero que están justo al lado de puntos divergentes; es, por así decir, la frontera entre los puntos convergentes y divergentes. El conjunto de Julia tiene naturaleza fractal como puede verse en la figura 5; este conjunto corresponde a la función z2 + c, con c = -0.8 + 0.156i.

PIC

Figura 5: El conjunto de Julia

La coloración de los píxeles (los puntos del plano) se establece en función del comportamiento de los puntos al converger o diverger. Se puede asignar un mismo color a todos los puntos del conjunto divergente o se puede asignar un color en función de la velocidad con que diverjan. Esto explica por qué en la figura 5 vemos más de un color y no dos como cabría esperar si solo asignásemos un color a cada conjunto de puntos convergentes y divergentes.

3.3. Definición matemática de fractal

Como dijimos más arriba, un fractal se puede definir como un objeto cuya dimensión de Haussdorff es fraccionaria. Analicemos esta definición con más detalle. Un punto tiene dimensión cero; una línea, dimensión uno, puesto que la podemos describir por un solo parámetro, que es la distancia desde un punto fijo. Un plano tiene dimensión dos y cualquier punto en él se puede localizar unívocamente con dos parámetros. En el espacio de tres dimensiones, alto, largo y ancho son las coordenadas que nos hacen falta para describir cualquier objeto en él. Los conjuntos de dimensiones superiores no se pueden visualizar, pero se pueden conocer y probar muchos resultados acerca de ellos.

Los conjuntos fractales que estamos considerando aquí no se acomodan de una manera tan clara en los espacios geométricos habituales. Tomemos, por ejemplo, el copo de nieve de Koch. Dado que es una curva parece que tiene dimensión uno. Sin embargo, la distancia entre dos puntos cualesquiera es infinito. Entonces, será un objeto bidimensional. Pero esta curva no rellena el espacio bidimensional en que se encuentra y, por tanto, difícilmente puede tener dimensión dos. Parece que su dimensión debe estar entre 1 y 2. Esta discusión prueba que necesitamos una definición de dimensión que dé cuenta de estos objetos que parecen estar en dimensiones no enteras. Esa definición es la llamada dimensión de Haussdorf o dimensión fractal. Para ilustrar cómo funciona nos centraremos en los fractales de construcción recursiva. Presentamos dos conceptos primero, el factor de escala f y el número de copias n. La dimensión de Haussdorf d se define como el número que cumple que

    ( 1)d n =  f-

o tomando logaritmos

d = -ln(n)-     ln(1∕f)

Calculemos unas cuantas dimensiones de los conjuntos vistos más arriba para ilustrar este concepto. En el conjunto de Cantor en cada paso tenemos un factor de escala de 1∕3 y aparecen dos copias nuevas. Entonces la dimensión es

    ln(2) d = -----= 0,6309     ln(3)

En el número final de la dimensión se ha tomado los cuatro primeros decimales; el número exacto no es relevante.

En el caso del triángulo de Serpienski tenemos 3 copias a escala 1∕2 cada una y, por tanto, su dimensión es

    ln(3) d = ln(2) = 1,5850

un número mayor que 1 y menor que 2.

Para la curva de Koch, observamos que hay 4 copias y cada una está a escala 1∕3. Por tanto:

    ln(4) d = ln(3) = 1,2619

Como vemos, todos los números anteriores son números fraccionarios. El lector ya se habrá dado cuenta de que en el caso de los fractales construidos por reglas recursivas, con la definición dada es fácil calcular la dimensión de Haussdorf, pero que no lo es en otros tipos de fractales, como pueden ser los construidos por iteración de funciones. La definición que dio Haussdorf permite calcular esa dimensión, pero los detalles se vuelven demasiado técnicos para exponerlos aquí; de nuevo, remitimos el lector al libro de Crilly y sus coautores [CEJ91] para una exposición asequible y clara de esta cuestión.

 

Bibliografía

[CEJ91] A. J. Crilly, R.A. Earnshaw, and H. Jones. Fractals and Chaos. Springer-Verlag, 1991.

[DeC15] William DeCotiis. The Fractal. Editado por el autor, 2015.

[Fel12] David P. Feldman. Chaos and Fractals: An Elementary Introduction. OUP Oxford, 2012.

[Góm16] P. Gómez. Composición algorítmica, mayo de 2016.

[Man67] Benoît Mandelbrot. How long is the coast of britain? statistical self-similarity and fractional dimension. Science, 156(3775), 1967.

[Man77] Benoît Mandelbrot. Fractals: Form, Chance and Dimension. W H Freeman and Co, 1977.

[Man83] Benoît Mandelbrot. The fractal geometry of nature. Macmillan, 1983.

[Pic09] Clifford Pickover. The Math Book: From Pythagoras to the 57th Dimension, 250 Milestones in the History of Mathematics. Sterling, 2009.

[PP94] Edgar E. Peters and Donada Peters. Fractal Market Analysis: Applying Chaos Theory to Investment and Economics. John Wiley and Sons, 1994.

[Tru13] Ben Trube. Fractals: A Programmer’s Approach. Editado por el autor, 2013.

[Wik17a] Wikipedia. Fractals, consultada en febrero de 2017.

[Wik17b] Wikipedia. Koch snowflake, consultada en febrero de 2017.

[Wik17c] Wikipedia. Recursion algorítmica, consultada en febrero de 2017.

 
Volver