Pedirle a una computadora que produzca algo impredecible plantea una contradicción interesante. Un procesador ejecuta instrucciones definidas de antemano y, ante las mismas condiciones, debería obtener siempre el mismo resultado.
Sin embargo, la informática necesita generar números aparentemente aleatorios constantemente. Se utilizan en criptografía, simulaciones científicas, videojuegos, sorteos digitales y numerosos procesos donde conocer de antemano el siguiente valor arruinaría todo el sistema.
La pregunta es entonces inevitable: ¿puede una máquina determinista producir auténtico azar?
La mayoría de las computadoras utiliza pseudoazar
La solución habitual son los llamados generadores de números pseudoaleatorios.
Estos algoritmos comienzan con un valor inicial conocido como semilla y realizan una serie de operaciones matemáticas capaces de producir secuencias que parecen desordenadas.
El resultado puede superar numerosas pruebas estadísticas y ser suficientemente impredecible para gran cantidad de aplicaciones. Pero existe una característica fundamental: si alguien conoce el algoritmo y la semilla exacta, puede volver a generar toda la secuencia.
Por eso hablamos de pseudoazar y no de aleatoriedad absoluta. Esta propiedad también tiene ventajas. En una simulación científica, por ejemplo, utilizar la misma semilla permite repetir exactamente un experimento y comprobar los resultados.
Un mal generador puede convertirse en un problema de seguridad
La apariencia caótica no garantiza que una secuencia sea segura.
Un algoritmo mal diseñado puede producir patrones, correlaciones o ciclos que terminen siendo descubiertos. Esto resulta especialmente peligroso en criptografía, donde predecir ciertos números podría permitir reconstruir claves o comprometer comunicaciones. El matemático John von Neumann ya ironizaba sobre esta cuestión al advertir de los peligros de intentar obtener números aleatorios únicamente mediante procedimientos aritméticos.
La informática moderna ha desarrollado generadores mucho más sofisticados, pero el problema fundamental continúa siendo el mismo: un algoritmo sigue siendo una regla.
Para conseguir azar real hay que mirar al mundo físico
Una alternativa consiste en utilizar procesos externos al propio cálculo.
Los dispositivos pueden medir pequeñas fluctuaciones eléctricas, ruido térmico de componentes electrónicos, tiempos de interacción del usuario o variaciones físicas imposibles de reproducir exactamente. Estos valores pueden alimentar sistemas que generan números mucho más difíciles de anticipar.
Los generadores conocidos como TRNG, o generadores de números verdaderamente aleatorios, utilizan precisamente este tipo de fenómenos físicos.
Randomness is hard to achieve.
It is why the security of 10% of the internet is secured by a wall of lava lamps watched by a camera to generate true randomness https://t.co/oriMqHbXgl pic.twitter.com/8RK58YzezV
— Ethan Mollick (@emollick) April 19, 2024
La física cuántica lleva la incertidumbre todavía más lejos
Algunos sistemas recurren incluso a eventos cuánticos.
Un ejemplo consiste en enviar fotones hacia dispositivos en los que existen varios resultados posibles y registrar cuál ocurre en cada caso.
Según la interpretación estándar de la mecánica cuántica, el resultado individual de determinados eventos no está simplemente oculto detrás de una variable desconocida, sino que posee una naturaleza fundamentalmente probabilística.
Por eso, los fenómenos cuánticos se consideran una de las fuentes más sólidas de aleatoriedad física disponibles actualmente.
¿Cómo sabemos que una secuencia es aleatoria?
No basta con observar varios números y comprobar que parecen desordenados.
Los investigadores utilizan grandes baterías de pruebas estadísticas para buscar repeticiones anómalas, distribuciones desiguales, correlaciones entre valores o patrones demasiado frecuentes. Pero existe una limitación importante: ninguna prueba puede demostrar definitivamente que una secuencia es completamente aleatoria.
Las pruebas pueden detectar numerosos fallos y demostrar que una secuencia no cumple ciertas propiedades esperadas del azar, pero superar todos los análisis disponibles no constituye una demostración matemática absoluta.
Por eso, la respuesta a la pregunta inicial tiene dos partes. Una computadora convencional puede generar pseudoazar extremadamente convincente mediante algoritmos. Pero cuando necesitamos una fuente de incertidumbre independiente de una fórmula, la máquina debe recurrir al mundo físico.
Paradójicamente, para ser realmente impredecible, una computadora necesita obtener parte de su azar de algo que ocurre fuera de sus propios cálculos.