Coge un triángulo, un punto cualquiera y un dado. Tira el dado, mira a qué vértice le toca y mueve el punto a mitad de camino hacia ese vértice. Apunta dónde ha caído y repite. Parece la receta perfecta para un borrón de puntos sin orden, pero después de unos miles de tiradas aparece una figura perfecta, siempre la misma: el triángulo de Sierpinski, un fractal hecho de triángulos dentro de triángulos. Es el juego del caos, y con unas reglas casi iguales dibuja también un helecho.
Cómo funciona
El triángulo de Sierpinski lo describió el matemático polaco Wacław Sierpiński en 1915: se parte de un triángulo, se le quita el triángulo del centro que une los puntos medios de sus lados, y se repite lo mismo con los tres triángulos que quedan, y con los nueve siguientes, sin fin. El resultado es un fractal: una figura que se parece a sí misma a cualquier escala, porque cada una de sus tres esquinas es una copia exacta del todo, a la mitad de tamaño.
El juego del caos llega a la misma figura por un camino muy distinto, sin quitar nada. Lo popularizó el matemático británico Michael Barnsley en su libro Fractals Everywhere (1988). Estas son todas las reglas:
- Se marcan los tres vértices del triángulo: A, B y C.
- Se elige un punto de partida cualquiera.
- Se elige uno de los tres vértices al azar, con la misma probabilidad para cada uno (un dado sirve: 1 y 2 son A, 3 y 4 son B, 5 y 6 son C).
- Se mueve el punto a mitad de camino entre donde está y el vértice elegido, y se dibuja.
- Se vuelve al paso 3.
Pruébalo
La animación juega al juego del caos en tu navegador. Elige la figura y mira cómo aparece: los primeros puntos van uno a uno y después cada vez más deprisa, hasta más de cien mil. En el triángulo, cada punto toma el color del vértice al que acaba de saltar, y eso deja ver algo importante: todos los puntos azules forman la copia de arriba, los verdes la de la izquierda y los ámbar la de la derecha.
0 puntos
Por qué sale un triángulo y no un borrón
La clave está en ese reparto de colores. Saltar a mitad de camino hacia el vértice A es lo mismo que encoger toda la figura a la mitad, pegada a A. Lo mismo pasa con B y con C. Y el triángulo de Sierpinski es precisamente la única figura que, encogida a la mitad hacia cada uno de sus tres vértices, se convierte en sus tres esquinas, es decir, en sí misma. Por eso, una vez que un punto cae dentro del fractal, ya no puede salir: cada salto lo lleva a otra parte del fractal.
¿Y si el punto de partida está fuera? Cada salto reduce a la mitad la distancia al fractal, así que después de diez saltos el error es mil veces más pequeño, y después de veinte, un millón de veces. Por eso los programas suelen descartar los primeros puntos: son los únicos que pueden caer fuera. El azar se encarga del resto: como los vértices se eligen sin ningún patrón, los puntos acaban visitando todos los rincones de la figura.
Los matemáticos llaman a esto un sistema de funciones iteradas (IFS, por sus siglas en inglés): unas pocas transformaciones que encogen el plano, aplicadas una y otra vez en orden aleatorio. La figura a la que se acercan los puntos es su atractor.
El cuadrado: cuando una regla lo cambia todo
Si se juega igual con los cuatro vértices de un cuadrado, no sale ningún dibujo: los puntos rellenan el cuadrado entero, de manera uniforme. Pero basta añadir una regla, no elegir dos veces seguidas el mismo vértice, para que aparezca el fractal de la animación, con sus cruces y sus huecos en forma de cuadrado. Al prohibir un salto, desaparece la copia del cuadrado que ese salto habría dibujado, y desaparece también, a escala, dentro de todas las demás copias.
El helecho de Barnsley
Barnsley fue más allá: si las transformaciones no solo encogen, sino que también giran e inclinan, el atractor puede parecerse a una planta. Su helecho usa cuatro, cada una con su probabilidad:
| Transformación | Qué dibuja | Probabilidad |
|---|---|---|
x' = 0y' = 0.16·y | El tallo | 1 % |
x' = 0.85·x + 0.04·yy' = −0.04·x + 0.85·y + 1.6 | Cada hoja más pequeña, encima de la anterior | 85 % |
x' = 0.20·x − 0.26·yy' = 0.23·x + 0.22·y + 1.6 | La primera hoja de la izquierda | 7 % |
x' = −0.15·x + 0.28·yy' = 0.26·x + 0.24·y + 0.44 | La primera hoja de la derecha | 7 % |
La segunda es la que da la forma: copia el helecho entero un poco más pequeño y un poco girado, encima de sí mismo, y por eso cada hoja tiene a su vez hojas, y estas otras. Son veinticuatro números, y con ellos se dibuja una planta que se distingue con dificultad de una real.
El programa más corto
Para jugar al juego del caos no hace falta ninguna biblioteca. Este programa de Python dibuja el triángulo con caracteres en la terminal, en una rejilla de 64 por 32:
import random
ANCHO, ALTO = 64, 32
vertices = [(32, 0), (0, 32), (64, 32)] # arriba, abajo a la izquierda, abajo a la derecha
rejilla = [[" "] * ANCHO for _ in range(ALTO)]
x, y = random.uniform(0, 64), random.uniform(0, 32)
for paso in range(100_000):
vx, vy = random.choice(vertices) # un vértice al azar
x, y = (x + vx) / 2, (y + vy) / 2 # a mitad de camino
if paso >= 20: # los primeros puntos, fuera
rejilla[min(int(y), ALTO - 1)][min(int(x), ANCHO - 1)] = "#"
for fila in rejilla:
print("".join(fila).rstrip())salida ##
####
## ##
########
## ##
#### ####
## ## ## ##
################
## ##
#### ####
## ## ## ##
######## ########
## ## ## ##
#### #### #### ####
## ## ## ## ## ## ## ##
################################
## ##
#### ####
## ## ## ##
######## ########
## ## ## ##
#### #### #### ####
## ## ## ## ## ## ## ##
################ ################
## ## ## ##
#### #### #### ####
## ## ## ## ## ## ## ##
######## ######## ######## ########
## ## ## ## ## ## ## ##
#### #### #### #### #### #### #### ####
## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
################################################################Aunque cada ejecución elige vértices distintos, con cien mil puntos la salida es siempre exactamente la misma: lo comprobamos ejecutándolo varias veces. El tamaño de la rejilla tampoco es casual: con 32 filas, una potencia de dos, cada mitad de camino cae justo en el borde de una casilla, y la figura sale sin dientes.
Más allá de un truco bonito
El juego del caos se enseña porque muestra en pocas líneas una idea profunda: reglas simples y azar pueden producir un orden complejo y perfectamente predecible. No importa qué vértices salgan en cada tirada: el resultado final no depende del azar, solo de las reglas. La misma idea sirvió en los años noventa para comprimir imágenes describiéndolas como sistemas de funciones iteradas, y la naturaleza parece usar algo parecido: los helechos, las ramas de los árboles o el romanesco repiten su forma a distintas escalas. Y si quieres jugar con las reglas, prueba a cambiar en el programa la fracción del salto o el número de vértices: con un hexágono y saltos de dos tercios, por ejemplo, sale otra familia de fractales.
Fuentes: Michael F. Barnsley, Fractals Everywhere (Academic Press, 1988); las páginas de Wikipedia sobre el juego del caos, el helecho de Barnsley y el triángulo de Sierpinski. El programa se ejecutó con Python 3.13. La animación y las imágenes, incluida la portada, las genera el propio algoritmo: decodigo.com.
