Activa las notificaciones para estar al tanto de lo más nuevo en tecnología.

Generación de números al azar y pseudoazarosos, ya no hay ‘mano santa’

El cómputo moderno —escribía un programador de HP en la revista Communications of ACM hace unos años— requiere que todo programa contenga alguna función al...

El cómputo moderno —escribía un programador de HP en la revista Communications of ACM hace unos años— requiere que todo programa contenga alguna función al azar. En realidad lo decía porque su artículo trataba de funciones al azar y pseudoazarosas (porque dudo que pueda probar su afirmación)  y el problema que representa esto en los programas. La dificultad nace en la misma naturaleza de la computadora, que no puede generar procesos realmente aleatorios porque para ello necesitaría un mecanismo que fuese totalmente al azar. Para paliar la situación, se construyen secuencias de números pseudoaleatorios a partir de algoritmos específicos que pueden funcionar sin problemas.

Así, hay rutinas de números pseudoazarosos (PRG, por sus siglas en inglés, pseudorandom generator), que son en realidad procedimientos determinísticos que mapean una semilla al azar a una cadena pseudoazarosa de manera que en principio no se pueda distinguir entre la salida del generador y una distribución al azar. La semilla es una cadena binaria que sale de una distribución uniforme. Así, la misma semilla genera siempre los mismos números al azar.

Para quienes requieren de números verdaderamente al azar, se pueden hacer de hardware específico que si produce números totalmente azarosos. Por ejemplo, en este sitio el autor del mismo ha creado lo que se llama un generador verdadero de números al azar (TRNGs), que produce números al azar basándose en procesos azarosos como tirar un dado o el sonido de un oscilador o una resistencia. La verdadera naturaleza azarosa de estos números se puede utilizar en muchas aplicaciones criptográficas. También se usa para otras aplicaciones, como resonancia estocástica, algoritmos genéticos, simulaciones del método Monte Carlo, creación de números de la lotería, video–ruleta, etc.

Si usted necesita un generador de números al azar verdadero, puede comprarle al sitio mencionado un pequeño dispositivo que genera números al azar de 5 bits basado en choques eléctricos. Este generador consume algo así como 0.1 watts y se conecta al puerto en paralelo (¿aún las máquinas tienen puerto paralelo?). No se requiere de baterías o cables y cuesta unos 100 euros.

Y todo esto viene a discusión porque en el video–artículo del generador de iconos para la PC, unocero.com regaló algunos libritos de ajedrez y sudoku. Había 19 libros, por lo cual procedimos a generar 19 números al azar (de los 30 que escribieron algún comentario en dicho artículo), y queríamos que fuese lo más al azar posible. Para cuestiones prácticas, nos metimos al sitio https://stattrek.com/statistics/random-number-generator.aspx y generamos la lista de números ganadores. Cada número corresponde al autor de comentario i-ésimo. unocero.com se comunicará con los ganadores en estos días.

Así que no existe ya ninguna ‘mano santa’ para decidir los números ganadores. Ahora es la computadora, la que está en la red, quien hace la tarea rápida y eficientemente.

Comentarios