Cómo programar un "GENERADOR DE NÚMEROS ALEATORIOS" | #8

  Рет қаралды 4,080

MoureDev TV

MoureDev TV

Күн бұрын

Пікірлер: 10
@mouredevtv
@mouredevtv Жыл бұрын
¡Todas las semanas un nuevo reto en directo!
@nestormartinez3256
@nestormartinez3256 Күн бұрын
La aleatoriedad de una secuencia de números (sin que importe cómo fueron generados) no se prueba sólo mirándolos. Debe aplicarse uno (o mejor varios) test de aleatoriedad. Y sólo si estas pruebas lo confirman, puede decirse que dicha secuencia “pseudo aleatoria” puede ser considerada aleatoria.Por otro lado, un generador de números pseudo aleatorios, como su nombre lo dice, debe ser reproducible (antítesis de aleatoriedad, por cierto). Para ello, la función debe ser inicializada por una semilla (seed) que es la que es tomada de algún lugar como, como bien ha hecho, los nanosegundos del reloj. Pero el generador sólo toma ese valor sola vez par inicializar el proceso. Luego ejecuta un loop que, en base a algún procedimiento debidamente estudiado y probado, genere, en cada iteración, un número pseudo random que, en definitiva es una función de la semilla. Algunos procedimientos conocidos son congruencias lineales, basados en números de Fibonacci o los más recientes Mersenne Twister o Blum Blum Shub. Todos ellos, generalmente a partir de una semilla inicial, generan secuencia de números (generalmente enteros) que, por definición de generador pseudo aleatorio, son reproducibles. O sea, que siempre es posible generar secuencia iguales. Los diferentes métodos aseguran longitudes máximas de números que puedan ser considerados aleatorios. Un uso interesante de secuencias muy largar de números pseudo aleatorios es en los casinos electrónicos para simular las tiradas de cartas o números de ruletas. Secuencias cortas generas rachas predecibles que sesgan la aleatoriedad de las cartas o bolas de ruletas y podrían perjudicar (o beneficiar) tanto a jugadores como a la banca. Estos generadores seguros y probados se utilizan en experimentos como simuladores de clima o reactores atómicos. E intervienen muchísimo en disciplinas como la critografía. Más aún, se habla de generadores pseudo aleatorios de calidad criptográfica. El método de Mersenne es el que actualmente utilizan los generadores de Python y sus principales librerías. Busquen en Wikipedia “Generador de números pseudo aleatorios”. El ejemplo que haz planteado inicializa la semilla en cada iteración. En consecuencia, no es posible reproducir la secuencia. Que es una característica fundamental y excluyente de los generados pseudo random. Además, no asegura que la secuencia, en el rango que hayas especificado (en tu caso 0 a 100), esté uniformemente distribuida, condición, ésta, indispensable para que la secuencia sea considerada aleatoria. O sea, que todos los elementos tengan la misma probabilidad de ocurrir. En tu caso, cada uno de los 100 números diferentes generados tengan, cada uno de ellos, una probabilidad 0.01. O sea, que cada uno aparezca el 1% de las veces. Que sigan una distribución U(0,1). Para probarlo, puedes aplicar las tradicionales pruebas de Chi-cuadrado o Kolmorov-Smirnoff. Pruebas específicas de aleatoriedad como la trasformada de Hadamard, para secuencias binarias.
@hxtechno3569
@hxtechno3569 9 ай бұрын
Como programa ultra sencillo esta perfecto, no obstante, la aleatoriedad en la informática es un tema mas complejo y crear un programa el cual genere números pseudoaleatorios seguros y de calidad puede ser mucho más complicado.
@Devxcuba
@Devxcuba 5 ай бұрын
Así es amigo en Criptografía se va mucho más allá y no es tan sencillo, a las secuencias de salida suelen hacerles muchas pruebas estadísticas para comprobar la calidad de la misma, para los que quieren saber mas revisen la Suite de TEST del NIST y las pruebas que contempla
@__harumin6014
@__harumin6014 Жыл бұрын
que buena solucion! creo que nunca se me hubiera ocurrido
@Charly-Flores-Dev
@Charly-Flores-Dev Жыл бұрын
Saludos !! Sal-coah mx
@tabithaflowers420
@tabithaflowers420 11 ай бұрын
Me funciona la solucion, pero despues d eintentar con muchas, tengo un problema, se me repiten si invoco a la funcion varias veces
@cirlord8575
@cirlord8575 Жыл бұрын
¿Eso es phyton?
@hxtechno3569
@hxtechno3569 Жыл бұрын
Sí.
¿Qué debes saber ANTES de APRENDER PROGRAMACIÓN?
13:41
MoureDev TV
Рет қаралды 134 М.
Wait for the last one 🤣🤣 #shorts #minecraft
00:28
Cosmo Guy
Рет қаралды 15 МЛН
Elza love to eat chiken🍗⚡ #dog #pets
00:17
ElzaDog
Рет қаралды 10 МЛН
This dad wins Halloween! 🎃💀
01:00
Justin Flom
Рет қаралды 29 МЛН
Smart Sigma Kid #funny #sigma
00:14
CRAZY GREAPA
Рет қаралды 82 МЛН
APRENDE a PROGRAMAR desde CERO | Introducción a la programación
13:42
Números Aleatorios y Pseudoaleatorios - Simulación
19:09
Abimelec González
Рет қаралды 11 М.
Como generar números aleatorios en Lenguaje C [RAND, SRAND]
15:11
El Profe Ariel
Рет қаралды 12 М.
Resuelvo la prueba técnica de Programación "FIZZ BUZZ" | #0
8:49
¡MEJORA tu LÓGICA de PROGRAMACIÓN!
9:51
hdeleon.net
Рет қаралды 196 М.
Wait for the last one 🤣🤣 #shorts #minecraft
00:28
Cosmo Guy
Рет қаралды 15 МЛН