Matemáticas
Qué son los generadores de números aleatorios
![[Img #71734]](https://noticiasdelaciencia.com/upload/images/03_2024/4472_generadores-numeros-aleatorios.jpg)
Los generadores de números aleatorios son sistemas programables de secuencias numéricas que parecieran ser aleatorios; uno de los ejemplos más característicos son las estadísticas, los juegos de azar, las simulaciones y criptografías.
La cotidianidad está llena de generadores de números aleatorios: cuando se juega en un casino; en la meteorología y sus proyecciones; cuando se generan claves de sistemas informáticos; en modelos predictivos de análisis de riesgo y muchos episodios más.
Ahora bien, el objetivo de este tipo de programas siempre será preservar la seguridad y garantizar entornos que no puedan ser fácilmente vulnerados.
Tanto Math.random() en JavaScript y random() en Python, representan funciones que generan números pseudoaleatorios; estas son una de las formas, desde las cuales puede hallar un número aleatorio del 1 al 2 u otras funciones aleatorias dependiendo de cuál sea el objetivo.
Bienvenidos (as) a conocer más acerca de estos programas de números aleatorios.
¿Qué son los Generadores de números aleatorios?
También conocidos como (RNG), son un tipo de dispositivo informático o físico, el cual permite la reproducción de secuencias numéricas sin patrón pre establecido.
La aleatoriedad requiere de una cantidad de elementos y factores para alcanzar precisión en la impredecibilidad.
La incapacidad de predecir un comportamiento o dinámica, es lo que hace más atractivos los generadores de números aleatorios.
Afortunadamente, en este contexto en donde los ordenadores abundan, los métodos como generadores de números aleatorios han dado un aporte significativo a la cotidianidad.
Características de los Generadores de números aleatorios
Algunas de las características que poseen los generadores de números aleatorios son:
- Distribución uniforme: En un mismo intervalo, la variable aleatoria puede tener la posibilidad de ocurrir; el comportamiento en este caso, será de distribución continua.
- Repetibilidad: La producción de secuencias de números en las mismas condiciones y/o diferentes entornos, es decir, su secuencia será predecible y consistente.
- Portabilidad: Es la capacidad que tiene el sistema de producir secuencias numéricas en diversos contextos sin depender del lenguaje computacional.
- Velocidad computacional: Se centra en la agilidad de generar gran cantidad de números aleatorios en un período corto.
Tipos de generadores de números aleatorios
Básicamente son dos. A detallar:
1. True Random Number Generators (TRNGs)
En ambas tipologías, hallará un elemento definitorio en común… la entropía; esta no es más que la cantidad de información disponible que se utiliza para medir la incertidumbre y el desorden en una fuente de información.
En este caso, nos referimos a la condición y medición de la incertidumbre de una fuente de información; por ello, cuando se habla de un mayor nivel de entropía, se está refiriendo a una mayor incertidumbre y desorden en los datos generados, es decir, mayor aleatoriedad.
Ahora bien, este primer tipo de generador numérico aleatorio (TRNGs) está vinculado a objetos tangibles como: movimientos del ratón, teclado y sensores de la computadora.
Este tipo de generadores obtienen su entropía de tales fuentes reales.
2. Pseudo-Random Number Generators (PRNGs)
Funcionan por medio de bits, los cuales, a través de algoritmos matemáticos, podrán generar entropía, es decir, una secuencia interna (aparentemente aleatoria). Los bits se refieren a la unidad básica de información que se utiliza para generar números pseudoaleatorios.
Funcionalidad de los generadores de números aleatorios
A detallar:
- Los True Random Number Generators (TRNG)
Son útiles en aplicaciones sensibles que tienen que ver con la seguridad (cifrado, debido a su aleatoriedad no determinista).
Por lo general, este tipo de generadores son más lentos que los otros.
- Los Pseudo-Random Number Generators (PRNG)
Este tipo resulta funcional para reproducir una secuencia de eventos aleatorios, como en pruebas de código. Nunca prescinde de recursos para continuar generando números.



