Supongo que te refieres a [0,1), un detalle menor en la semántica pero uno enorme en la implementación. La respuesta es, depende de para qué lo quiere, cuántos quiere y si compara un conjunto de tales números con otros.
En primer lugar, no existe tal cosa como “aleatorio”. Sólo “impredecible”. Si conoce las características exactas de tamaño y peso de una moneda, las fuerzas exactas que se le aplican cuando la lanza, las propiedades exactas del aire por el que se mueve y la mesa en la que aterriza, puede calcular si aterrizará cara o cruz . Pero no puedes saber todas esas cosas exactamente, o repetirlas exactamente. El resultado de su incertidumbre y la variabilidad de esos factores generalmente significa que la moneda aterriza Caras la mitad del tiempo, y no tiene medios para determinar cuál es más probable.
Eso es todo lo que significa cuando lo llamamos “aleatorio”. Esto se aplica a todo lo sugerido en otras respuestas, incluso la desintegración radiactiva. Ese es único porque no tenemos los modelos necesarios para hacer los cálculos, incluso si pudiéramos medir los parámetros que requeriría. Eso no significa que los modelos no existan.
El generador de números aleatorios de una computadora funciona generando cada número aleatorio a partir del anterior (llamado “semilla”). Entonces, literalmente, cada número generado es predecible a partir de su semilla, lo que lo hace todo menos aleatorio. (Esta característica puede ser útil, para asegurarse de que los cambios en el programa produzcan resultados consistentes). Si desea saber cómo hacer un algoritmo de este tipo, debe investigarlos específicamente.
- ¿Cuál es la prueba detallada de este problema?
- ¿Cuál es la respuesta para -1 {-2 (-2) + 6-7} -6+ (1/2) ^ -11 {+ 11-600 + 15 + 789456123-1 + 2] -99 ^ 0?
- ¿Alguien puede resolver esto?
- Un número [math] U_k [/ math] tiene únicamente dígitos ‘1’ en su representación decimal, es decir, [math] U_k = \ underbrace {11..1} _ {k \ text {times}} [/ math] para [ matemáticas] k> 2. [/ math] ¿Cómo demuestro que si [math] m [/ math] y [math] n [/ math] son coprime entonces [math] U_m [/ math] y [math] U_n [/ math] también son coprime ?
- ¿Cómo resolverías el siguiente problema para z: m = cosh (k (h + z))?
Pero generalmente no le interesa el valor exacto, solo un rango. Estos algoritmos se seleccionan cuidadosamente para que, por ejemplo, las semillas en el rango [0.3,0.4) produzcan una distribución uniforme de nuevos números en el rango [0,1). De esta manera, para qué lo usa (por ejemplo, simular una tirada de 10 caras en un juego) no le permite predecir el próximo valor que usa.
El problema con tales algoritmos se encuentra cuando intentas comparar estrategias para el mismo juego. Una semilla inicial que utiliza para la estrategia A puede producir una secuencia lo suficientemente cercana a “aleatoria” para evaluar un solo juego de forma aislada, pero puede ser lo suficientemente predecible como para que múltiples resultados dependan más de ella que la estrategia, o favorezcan indebidamente una estrategia .
Entonces, si desea un solo número, use el generador de números aleatorios de una computadora. O tira un dado de diez lados por cada dígito que necesites. Si quieres una secuencia larga, siembra con lo que quieras. Si necesita secuencias largas, o para comparar varias, cambie la semilla ocasionalmente. Si lo siembras en función del reloj, asegúrate de no obtener intervalos fijos basados en el espacio de ejecución.
Y si esto le parece demasiado empírico, busque asesoramiento experto.