¿Cómo garantiza la computadora la uniformidad al generar un número aleatorio distribuido uniformemente?

Por supuesto, no puede obtener una distribución aleatoria uniforme, o cualquier distribución aleatoria, de un proceso determinista como un generador de números pseudoaleatorios (PRNG). Lo mejor que puede hacer es pedir que la salida de su PRNG satisfaga algunas de las mismas propiedades que tendría una secuencia verdaderamente aleatoria.

Entonces, la idea es esta: primero, elija una lista de propiedades compartidas por las variables uniformes de iid. Luego, encuentre un proceso determinista cuya salida también tenga esas propiedades. La cantidad de propiedades que desea conservar depende de lo que intente hacer. Las simulaciones, en las que simplemente necesitas algunos números para decidir qué sucede, tienen requisitos más débiles que la criptografía y el póker en línea, etc., donde puedes tener un “oponente” que está tratando activamente de descifrar el PRNG.

Con suficiente salida de cualquier PRNG, puede romper la aleatoriedad. La máquina que lo ejecuta almacena una cantidad finita de información, por lo que solo puede pasar por muchos estados antes de repetir. (Por supuesto, en la práctica, un enfoque tan simple probablemente tomaría más tiempo que la vida del universo, incluso en una computadora más antigua).

La verdadera aleatoriedad en la computación es muy costosa y proviene del acceso al ruido ambiental detectado por los controladores de dispositivos. Consulte http://en.wikipedia.org/?title=/ … para ver la diferencia entre / dev / random y / dev / urandom

More Interesting

¿Hay algo que una máquina de Turing pueda calcular dado un tiempo infinito que no podría calcular en una cantidad de tiempo arbitrariamente grande?

¿Qué motiva el problema de k-satisfacción en la informática teórica?

¿Qué subcategorías de informática teórica te entusiasman más en términos de potencial de investigación y por qué?

¿Qué son los bitcoins? ¿Cómo trabajan? ¿Por qué deberían ser utilizados?

No puedo encontrar el máximo / mínimo de este problema del multiplicador de Lagrange sin obtener un número complejo cerca del final. ¿Qué estoy haciendo mal?

¿Luchar con problemas en la programación mejora la capacidad de pensamiento del cerebro?

¿Cuándo usamos los sistemas numéricos decimal, binario, octal y hexadecimal?

¿Es necesario aprender matemáticas discretas y sus aplicaciones para comenzar la programación en Python?

¿Qué entero decimal está representado por 0xE4 en una notación de complemento a dos de 8 bits?

¿Cómo podemos escribir un código eficiente para determinar números primos hasta un valor dado, de modo que el límite de tiempo para cada caso de prueba no exceda un segundo en lenguaje C?

¿Hay una función que genera los primeros 41 números primos?

¿Cuál es el significado de lo permanente en informática?

¿Es posible convertir una imagen a una fórmula matemática?

¿Qué temas (en matemáticas y TCS) debe sobresalir un estudiante de matemáticas para seguir la teoría de la complejidad computacional?

¿Cuál es un ejemplo de un operador XOR que utiliza conceptos del mundo real?