Visualización de datos aleatoriosArtículos
Hace un par de meses, en los sitios de agregación social circuló esta imagen de Pi que reproduzco aquí de manera mutilada:
—"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: )
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):
El gran misterio de Pi es que es pasto sintético.
Pero 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?
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.
Bastante interesante, pero no solo hay que tomar en cuenta el hecho de que somos una maquina para reconocer patrones.
El otro es que visualmente depende del ratio del rectangulo , se haran visibles determinadas configuraciones, por ejemplo si el ratio es de 1:3, se vera muy distinto de un 1:1,5 o de un 1:5 .
Esta misma inquietud de los patrones fue expuesta por Carl Sagan en su novela de Contacto, en relacion a la posible presencia divina en numeros irracionales.
Exelente post. Por ahi tambien lei que la mente humana es tan buena para encontrar patrones que incluso los encuentra donde no los hay. (Quisas por eso hay tanta superticion).
Sin embargo respecto a la imagen que genero los numeros de pi, ¿que pasaria se se cambia el ancho y alto de la imagen? ¿abra un punto donde todos los colores se alinearan o donde si haya claramente patrones? Sinceramente no creo.
Benjamín y Rob: aquí hay una versión de Pi al que le puedes cambiar el ratio. Y efectivamente: no hay patrones visibles.
Sobre lo de Pi, solo recuerdo que es irracional, lo que no estoy seguro si toda sucesion de decimales de un irracional es "sin patrones", no porque sean valores al azar, sino por la naturalez misma de no poder representarse en forma del cociente de dos numeros. Debe haber algo en la red...
Y asi es, los generadores de numeros aleatorios algunas veces son evaluados a traves de visualizacion, cuando se encuentran patrones, quiza en estrias diagonales, entonces estos "pseudo" aleatorios, no son tan buenos y nuevas ecuaciones son replanteadas.
Mark, lo del blur, no se porque lo hiciste. Aplicar un filtro de "campana" realiza el promedio ponderado en una vecindad de 8 pixeles, aunque al final (por la naturaleza del filtro) acabarias con una mancha "sin bordes", eventualmente se te formarian "cumulos" en esta "nube" que se iria formando a partir con la aplicacion sucesiva del filtro.
Omar: Aquí hay un artículo que detalla la aleatoriedad de π, el resumen es que es una buena fuente pero hay algunos generadores de números aleatorios que funcionan mejor.
De lo del blur, sólo lo apliqué para que tuviera una apriencia más fotográfica. En el mundo real no vemos todo con perfecta definición.
il9i,k0pñ9nmh089up7op0
un gustazo ver esfuerzos en escudriñar el analizador-clasificador de nuestra percepción y de los modelos mentales que "acaparan" las señales.
luis
Estoy de acuerdo con lo que escribiste, es algo muy importante para tener en cuenta.