Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Los Numeros Aleatorios.
Los Numeros Aleatorios.
OFICIALÍA MAYOR
UNIVERSIDAD NAVAL
CENTRO DE ESTUDIOS SUPERIORES NAVALES
DIRECCIÓN DE LA ESCUELA DE ÁREAS TECNOLÓGICAS, HUMANIDADES, IDIOMAS
E INTELIGENCIA
SUBDIRECCIÓN DE POSGRADOS TECNOLÓGICOS
I. ÍNDICE
I. ÍNDICE. -------------------------------------------------------------------------------------------------- 2
2
SECRETARÍA DE MARINA
OFICIALÍA MAYOR
UNIVERSIDAD NAVAL
CENTRO DE ESTUDIOS SUPERIORES NAVALES
DIRECCIÓN DE LA ESCUELA DE ÁREAS TECNOLÓGICAS, HUMANIDADES, IDIOMAS
E INTELIGENCIA
SUBDIRECCIÓN DE POSGRADOS TECNOLÓGICOS
II. INTRODUCCIÓN
Los números aleatorios son números que se obtienen del azar, estos no dependen de otro
número, supongamos la suma 4 + 2 = 6, donde el numero 6 es producto de una suma, en el
caso de los números aleatorios no lo es así.
El azar hace referencia a hechos cuyas causas no siguen pautas definidas, un ejemplo de
números al azar es la lotería nacional en la cual hay distintas urnas con cierta cantidad de
números, de estas urnas se elige un número completamente al azar por medio de un
mecanismo mecánico, al final por cada urna obtenemos un numero al azar y el cual en conjunto
con las demás urnas nos da el numero ganador.
Los números aleatorios se pueden obtener principalmente de dos maneras, de manera manual
como se ejemplifico en el párrafo anterior o de manera digital a través de un ordenador y un
algoritmo. (Westreicher, 2021)
3
SECRETARÍA DE MARINA
OFICIALÍA MAYOR
UNIVERSIDAD NAVAL
CENTRO DE ESTUDIOS SUPERIORES NAVALES
DIRECCIÓN DE LA ESCUELA DE ÁREAS TECNOLÓGICAS, HUMANIDADES, IDIOMAS
E INTELIGENCIA
SUBDIRECCIÓN DE POSGRADOS TECNOLÓGICOS
III. DESARROLLO.
Los números aleatorios son aquellos que se obtienen completamente al azar por lo cual
no se pueden predecir y estos no están ligados a algún patrón o secuencia, los números
pseudoaleatorios son generados por un algoritmo, es decir, a partir de un valor inicial, y su
valor parece ser aleatorio, pero es en realidad predecible. Estos números son generados
por computadoras para imitar la aleatoriedad su principal uso es en aplicaciones donde la
aleatoriedad no es crítica. (Varela, 2018)
4
SECRETARÍA DE MARINA
OFICIALÍA MAYOR
UNIVERSIDAD NAVAL
CENTRO DE ESTUDIOS SUPERIORES NAVALES
DIRECCIÓN DE LA ESCUELA DE ÁREAS TECNOLÓGICAS, HUMANIDADES, IDIOMAS
E INTELIGENCIA
SUBDIRECCIÓN DE POSGRADOS TECNOLÓGICOS
“Las sucesiones lineales congruentes no son las únicas fuentes de números aleatorios que
se han propuesto para uso informático”. (Knuth, 1997, pág. 26)
“Para los enteros, existe una selección uniforme dentro de un rango. Para las secuencias,
existe una selección uniforme de un elemento aleatorio, una función para generar una
permutación aleatoria de una lista in-situ y una función para el muestreo aleatorio sin
reemplazo”. (La biblioteca estándar de Python, 2023).
5
SECRETARÍA DE MARINA
OFICIALÍA MAYOR
UNIVERSIDAD NAVAL
CENTRO DE ESTUDIOS SUPERIORES NAVALES
DIRECCIÓN DE LA ESCUELA DE ÁREAS TECNOLÓGICAS, HUMANIDADES, IDIOMAS
E INTELIGENCIA
SUBDIRECCIÓN DE POSGRADOS TECNOLÓGICOS
“Para números reales, existen funciones para calcular distribuciones uniformes, normales
(Gaussianas), log-normales, exponenciales negativas, gamma y beta. Para generar
distribuciones angulares está disponible la distribución de von Mises”. (La biblioteca
estándar de Python, 2023)
Funciones de contabilidad.
random.seed(a=None, version=2), Es una función del módulo "random" que se utiliza para
establecer la semilla inicial para la generación de números aleatorios. Se introduce un
valor inicial el cual se utiliza como punto de partida para generar una secuencia de
números aleatorios. Se toma como argumento "a", que es el valor inicial. Si no se
proporciona un argumento, se utiliza un valor aleatorio basado en la hora actual del
sistema. Existe dos versiones, versión = 1 y versión = 2, comúnmente se utiliza más la versión
2.
6
SECRETARÍA DE MARINA
OFICIALÍA MAYOR
UNIVERSIDAD NAVAL
CENTRO DE ESTUDIOS SUPERIORES NAVALES
DIRECCIÓN DE LA ESCUELA DE ÁREAS TECNOLÓGICAS, HUMANIDADES, IDIOMAS
E INTELIGENCIA
SUBDIRECCIÓN DE POSGRADOS TECNOLÓGICOS
Otra función para enteros es, random.randint(a, b), misma que devuelve un número
entero aleatorio en el rango inclusivo de “a” a “b”. Es decir, el resultado puede ser igual a
“a, b” o cualquier número entero entre ellos. Un ejemplo de ello es si deseas generar un
número entero aleatorio entre 1 y 100, puedes usar random.randint(1, 100) y la función
devolverá un número entero aleatorio en ese rango. En este mismo documento se incluye
el código del juego “juego adivina adivinador en que numero estoy pensando”, donde se
emplea esta función.
7
SECRETARÍA DE MARINA
OFICIALÍA MAYOR
UNIVERSIDAD NAVAL
CENTRO DE ESTUDIOS SUPERIORES NAVALES
DIRECCIÓN DE LA ESCUELA DE ÁREAS TECNOLÓGICAS, HUMANIDADES, IDIOMAS
E INTELIGENCIA
SUBDIRECCIÓN DE POSGRADOS TECNOLÓGICOS
Análisis numéricos: “Se han ideado técnicas ingeniosas para resolver problemas
numéricos complicados utilizando números aleatorios”. (Knuth, 1997, pág. 1)
Estética: los números aleatorios son empleados también para la generación de escenarios
gráficos y ambientes musicales generados por computadora.
Recreación: los números aleatorios se emplean para generar aleatoriedad en juegos por
computadora, como lo son baraja, tiro al blanco parchís entre otros. “Estos usos
tradicionales de los números aleatorios han sugerido con el nombre de método de Monte
Carlo, un término general utilizado para describir cualquier algoritmo que emplee
números aleatorios”. (Knuth, 1997, pág. 2)
En este juego, el programa genera un número aleatorio entre 1 y 10, el jugador tiene que
adivinar el número en un máximo de 5 intentos. En cada intento, el usuario introduce un
número y el programa verifica si es igual, mayor o menor al número ha adivinar. Si el
usuario adivina el número, el programa muestra un mensaje de felicitaciones y si no,
muestra un mensaje indicando el número secreto generado. En ambos casos, el juego
termina.
8
SECRETARÍA DE MARINA
OFICIALÍA MAYOR
UNIVERSIDAD NAVAL
CENTRO DE ESTUDIOS SUPERIORES NAVALES
DIRECCIÓN DE LA ESCUELA DE ÁREAS TECNOLÓGICAS, HUMANIDADES, IDIOMAS
E INTELIGENCIA
SUBDIRECCIÓN DE POSGRADOS TECNOLÓGICOS
CÓDIGO
import random
if numero == numero_secreto:
print("¡Felicidades! Adivinaste el número en {} intentos".format(intentos))
break
elif numero < numero_secreto:
print("El número es más grande")
else:
print("El número es más pequeño")
if intentos == 5:
print("Lo siento, no adivinaste el número en el máximo de intentos permitidos")
print("El número secreto era", numero_secreto)
IV. CONCLUSIÓN
Los números aleatorios son de vital importancia en la ciencia y la tecnología, ya que se utilizan
en una gran variedad de aplicaciones de la vida diaria, como simulaciones (meteorología),
criptografía (aplicaciones bancarias), juegos (juegos de apuestas por internet), modelado de
sistemas (uso de software dedicado “Matlab”), entre otros. Se enunciaron diferentes métodos
matemáticos para la generación de números aleatorios tanto lineales con no lineales. Es
importante seleccionar el método adecuado para cada aplicación y su uso, así como tener en
cuenta que los números aleatorios no pueden predecirse completamente, pero pueden tener
patrones. Podemos concluir que la generación de números aleatorios es un tema complejo y
es importante comprender los métodos utilizados para poder emplearlos de manera adecuada.
9
SECRETARÍA DE MARINA
OFICIALÍA MAYOR
UNIVERSIDAD NAVAL
CENTRO DE ESTUDIOS SUPERIORES NAVALES
DIRECCIÓN DE LA ESCUELA DE ÁREAS TECNOLÓGICAS, HUMANIDADES, IDIOMAS
E INTELIGENCIA
SUBDIRECCIÓN DE POSGRADOS TECNOLÓGICOS
V. BIBLIOGRAFÍA
10