Hace un par de meses, en los sitios de agregación social circuló esta imagen de Pi que reproduzco aquí de manera mutilada:

pi.gif

--"Que interesante, estoy viendo líneas y patrones aparentes en una serie de números completamente aleatorios". Mentira: pensé "no mames ahi en esa manchita parece que hay un rectagulito" (rectangultio en cuestión: rectangulito.gif)

Si te quedas viendo un buen rato, tu cerebro te engañará produciendo figuras o patrones de la misma manera que lo hace cuando te acuestas en una colina a observar las nubes. ¿Pero qué pasaría si usara colores a los que está más acostumbrado el ojo humano? ¿Encontraría más patrones? Después de un paseo por Photoshop, esta es la respuesta (con un pequeño Gaussian Blur como trampa):

pipasto.jpg

El gran misterio de Pi es que es pasto sintético.

carjack.gifPero comparemos una muestra de digitos no-aleatorios. Encontré una página donde viene un código para abrir cualquier automóvil con keypad, sacado mediante la secuencia de Brujin, que consiste en encontrar la secuencia correcta en el menor número de intentos posibles. Tomé la serie de datos, hice un sencillo script en Python que me dibujara los pixeles en escalas de gris (1 es blanco y 9 es negro) y voila, resultó la imagen que pueden ver a su izquierda. El patrón es clarísimo.

Es bien conocido que los seres humanos somos pésimos para generar números aleatorios. Antes de la invención de las computadoras existían tomos de números aleatorios basados en volados o en barajas, a fin de evitar la distorsión humana que le concedemos a las cifras. Cómo nos comparamos contra pi y contra las computadoras?

randomlevels.gif

La muestra de números aleatorios generado por personas está bastante distorsionada por el vandalismo. Muchas personas repitieron el mismo número varias veces, pero decidí dejarlo por ser un factor humano. Java tiene "problemas severos" en su módulo util.random, por lo que --en lugar de parecer una TV fuera de sintonía, como sería una muestra aleatoria-- parece más bien un televisor mal sintonizado.

Nota al pie interesante: al igual que a los humanos, a los algoritmos de compresión también le gustan los patrones, pues buscan redundancia (patrones a final de cuentas) y la reducen. Así por ejemplo, una cadena "AAAAAAAAAA" se puede reducir como "A*10". Para los familiarizados con la compresión de imágenes para internet les interesará saber que la primera imagen de PI (carente de patrones) traté de salvarla como JPG al 70% y me salió de 400 KB, aún siendo un algoritmo de compresión lossy. El GIF de 16 colores salió en 110 KB, bastante pesado todavía.