¿Es posible generar números aleatorios a través de la simulación del proceso físico?

StackOverflow https://stackoverflow.com/questions/620921

  •  05-07-2019
  •  | 
  •  

Pregunta

¿Es posible generar números aleatorios a través de la simulación del proceso físico?

Si simulo la tirada física de un dado (es decir, si lo recoges, lo sacudes en tu mano, lo sueltas en la mesa y registras qué lado termina '' arriba '' ...) eso producirá un ''; al azar " número o simplemente tendría una simulación compleja que realmente no logra nada.

¿Fue útil?

Solución

Tendrías una simulación compleja que realmente no logra nada.

(aparte de devolver el mismo valor cada vez, o agregar complejidad innecesaria a un PRNG existente)

A menos que siembras el entorno simulado con " aleatorio " variables (es decir, dependen de un medio diferente para generar números aleatorios), siempre obtendrá el mismo valor, porque cada paso del proceso sucederá de la misma manera cada vez.

Supongamos que usó un generador de números pseudoaleatorios (PRNG):

Dado que su simulación solo sería tan aleatoria como el otro PRNG que estaba usando, ¡también puede usar el otro PRNG directamente, sin todo el trabajo adicional! (De hecho, su simulación puede no hacer nada excepto hacer que la salida menos sea aleatoria que los valores de su PRNG base)

Otros consejos

Sí, tendrías "simplemente una simulación compleja que realmente no logra nada".

¿Por qué simular un proceso físico aleatorio, cuando realmente podrías usar uno real?

Hay montones de preguntas sobre generadores de números aleatorios en SO. Aquí hay algunos:

Generador de números aleatorios verdaderos

¿Existen generadores de números aleatorios sin estado?

qué tipo de número aleatorio ¿Se utiliza el generador en la industria de los juegos de casino?

Su algoritmo será un generador de números pseudoaleatorio, es decir, tomará una semilla aleatoria y producirá cadenas de números potencialmente grandes que parecen bastante aleatorias.

Sin embargo, no hay garantía de que su salida aleatoria sea de la calidad que necesita para la criptografía u otros propósitos. Me inclinaría a pensar que habrá patrones repetidos indeseables en su salida, y que demasiado trabajo irá hacia la física del problema, y ??no lo suficiente como para producir pseudoaleatoriedad. (Perdón por la mala calidad, pero eso es todo en pocas palabras.) Existen generadores de pseudo números efectivos, y usaría uno de los estantes.

Dicho esto, esto podría ser un experimento interesante e informativo para tus propios propósitos.

Lo último.

A menos que inyecte algunos factores aleatorios (o pseudoaleatorios), la simulación producirá los mismos resultados cada vez.

Todavía será un número pseudoaleatorio porque presumiblemente usará un generador de números pseudoaleatorio para simular todos los rebotes del dado en sus manos.

Primero necesitas definir 'aleatorio'. Puede generar números trivialmente impredecibles usando un conjunto extraño de cálculos, seguro. Pero no obtendrá una aleatoriedad útil o una distribución uniforme de los números.

Una simulación física como la que usted describe en realidad requeriría algún tipo de generador de números aleatorios en algún punto del cálculo. Afortunadamente, random () es fácil de usar.

A menos que esté preparado para modelar el estado cuántico de dos dados completos, no tendrá nada al azar ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top