¿por qué obtengo la misma secuencia de std :: random_device con mingw gcc 4.8.1?
en el código proporcionado, una instancia de std :: random_device (rd) se usa como sembrado para un mersenne moder (Mt Mt). Sin embargo, el comportamiento observado de obtener la misma secuencia de números aleatorios con cada ejecución sugiere que el RD puede no estar proporcionando una semilla verdaderamente aleatoria.
de acuerdo con la documentación (http://en.cppreference.com/w/cpp/numeric/random/random_device), std :: random_device está diseñado para acceder a los no deteterministas hardeterministas para el inaguilizador. Sin embargo, si dicha fuente no está disponible, la implementación puede recurrir a un motor de número pseudo-aleatorio. Esto podría explicar el comportamiento determinista observado con Mingw GCC 4.8.1.
Es importante tener en cuenta que no se garantiza que el Aleat_Device proporcione una verdadera aleatoriedad. Algunas implementaciones, como la de Mingw GCC 4.8.1, pueden entregar deliberadamente una secuencia fija para demostrar la no aleatoria de la secuencia.
para obtener una salida diferente para cada ejecución, uno debe considerar métodos alternativos para sembrar el generador de números aleatorios, como usar un semilla basado en el tiempo actual o un hash criptográfico de alguna entrada de usuario.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3