Sí, pero deberías tener cuidado. La aleatoriedad es un problema complicado. La secuencia de números aleatorios ideal tiene dos propiedades diferentes: en primer lugar, cada número en el rango (por ejemplo, 0 a 99) debería ser igualmente probable. En segundo lugar, no debe haber ningún patrón, por lo que un número es que los números no dependen de lo que vino antes o antes.
Las desintegraciones atómicas son absolutamente aleatorias, lo que significa que el tiempo en que un átomo específico explotará simplemente no se puede predecir. Se pueden asignar probabilidades, pero eso es una medida de tiempos promedio. En la práctica, es demasiado difícil rastrear átomos individuales individuales, pero podría obtener un pequeño bulto de material radiactivo, colocarlo cerca de un detector y medir el número de desintegraciones en un período de tiempo.
Estos números serán aleatorios, es decir, individualmente impredecibles, pero tomados en una serie de mediciones, se distribuirán en una curva de campana. Algunos valores son más probables que otros. Este sesgo no es lo que queremos.
- ¿Rodearán los parabrisas delanteros de los automóviles con retroreflectores y hará que los usuarios de los faros delanteros en la otra dirección sientan el resplandor ellos mismos?
- ¿Cuál es la conexión entre la tercera ley de movimiento y equilibrio de Newton?
- ¿Es fácil para un solo hombre mover / balancear un péndulo muy pesado (por ejemplo, 30 toneladas)?
- ¿Qué hace que una cancha de tenis pase de rápida a lenta de año en año, aunque sea la misma cancha?
- Según la interpretación de muchos mundos, el universo se divide cada vez que pensamos. ¿Cómo es esto posible?
Para eliminar el sesgo, deberá realizar un procesamiento matemático de los datos sin procesar. Una forma simple de manejar esto sería contar durante un intervalo establecido para obtener aproximadamente un millón de conteos. Luego deseche todos menos los dos últimos dígitos para obtener un conjunto de números aleatorios entre 00 y 99. El sesgo en este conjunto sería muy pequeño y lo suficientemente bueno para la mayoría de los propósitos. Un problema con este método es que está desechando la mayoría de sus datos, por lo que si necesita muchos números aleatorios, es ineficiente. Existen algoritmos matemáticos que pueden tomar datos sesgados y producir un rango de salida “plano”. Pero elegir el algoritmo correcto es complicado. También debe tener cuidado de que otros efectos sutiles no estén sesgando sus datos, por ejemplo, si el recuento y el intervalo de tiempo fueron realizados por el mismo procesador, podría haber una interacción que haga que el contador sea un poco más probable que se detenga en algunos números que otros.
La desintegración radiactiva también es un poco problemática ya que es radiactiva, por lo que requiere un manejo especial. Los detectores son caros y tienden a variar en su sensibilidad con el tiempo. Hay más procesos físicos que se pueden usar, por ejemplo, ruido electrónico (también conocido como “amplificador silbido”) que es básicamente un rebote aleatorio de electrones, altamente amplificado.
La otra forma de generar números aleatorios es con funciones matemáticas. Por lo general, toman un número semilla y lo usan para generar otro número. Estos se llaman números pseudoaleatorios , en realidad no son aleatorios en absoluto, pero “se ven al azar” y son lo suficientemente buenos como para ingresar en una simulación matemática de la genética del conejo o algo así. (Realmente hice esto en un proyecto de genética).
El problema con el enfoque puramente matemático es que si comienzas desde la misma semilla obtienes la misma secuencia. ¡Puede intentar aleatorizar su semilla pero necesita una secuencia de números verdaderamente aleatorios para hacerlo correctamente! Si los resultados son valiosos, un atacante o un descifrador de código puede descifrar el algoritmo que está utilizando y adivinar la secuencia y vencer a su sistema. Para obtener números aleatorios de alta calidad, por ejemplo, para generar claves criptográficas, es mejor comenzar desde un proceso físico verdaderamente aleatorio, como ruido eléctrico, desintegración radiactiva u otros fenómenos cuánticos. Hay chips y tarjetas que se pueden agregar a las computadoras para hacer esto, por ejemplo, Quantis TRNG (Generador de números aleatorios verdaderos).
El último problema con los números aleatorios es que nunca puedes probar que los números son aleatorios, solo puedes demostrar que no son aleatorios al encontrar un sesgo o un patrón. Eso significa que necesita un diseño cuidadoso para asegurarse de que no está introduciendo sesgos, ya sea física o matemáticamente.