Subido por landercristhian06

Numeros pseudoaleatorios(1)

Anuncio
UNIVERSIDAD NACIONAL DE PIURA
FACULTAD DE INGENIERIA INDUSTRIAL
ESCUELA PROFESIONAL DE INGENIERIA INFORMATICA
TEMA
NÚMEROS PSEUDOALEATORIOS
RESPONSABLES
CULQUICONDOR RODRIGUEZ, ISAMAR DEL ROCIO
NEIRA CHUNGA, DANIEL LEANDRO
ROMERO NAVARRO, LUIS ANDY
RAMOS SERNAQUE, YAN RAMOS
TORRES CALLE, RICARDO HERNÁN
CURSO
SIMULACIÓN DE SISTEMAS
DOCENTE
ING. LUCIANA MERCEDES TORRES LUDEÑA
PIURA–PERÚ
2021
1
INDICE
NÚMEROS PSEUDOALEATORIOS ......................................................................................3
DEFINICIÓN...........................................................................................................................3
CARACTERÍSTICAS ............................................................................................................4
IMPORTANCIA ......................................................................................................................4
GENERACIÓN DE NÚMEROS PSEUDOALEATORIOS ....................................................5
1.
MÉTODO CONGRUENCIAL MULTIPLICATIVO MIXTO .....................................5
2.
MÉTODO CONGRUENCIAL MULTIPLICATIVO ..................................................7
VALIDACIÓN DE NÚMEROS PSEUDOALEATORIOS .......................................................9
PRUEBAS ESTADÍSTICAS DE UNIFORMIDAD ................................................................10
1.
PRUEBA DE MEDIAS.................................................................................................10
2.
PRUEBA DE KOLMOGOROV-SMIRNOV ...............................................................12
...............................................................................................................................................13
3.
PRUEBA ESTADÍSTICA DE CHI- CUADRADO .....................................................14
PRUEBAS ESTADÍSTICAS DE ALEATORIEDAD .............................................................16
1.
PRUEBA DE CORRIDAS ARRIBA Y ABAJO DEL PROMEDIO ..........................16
2.
PRUEBA DE SERIES .................................................................................................18
3.
PRUEBA DE LA DISTANCIA COMO DÍGITOS ......................................................19
4.
PRUEBA DE LA DISTANCIA COMO NÚMEROS REALES ..................................21
5.
PRUEBA DE PÓKER ..................................................................................................22
2
NÚMEROS PSEUDOALEATORIOS
DEFINICIÓN
Los números pseudoaleatorios son números generados en un proceso que
parece producir números al azar, pero no lo hace realmente, de aquí el prefijo
pseudo que quiere decir falso, ya que su generación parte de algoritmos
determinísticos, lo cual nos quiere decir que obtendremos siempre el mismo
resultado bajo las mismas condiciones iniciales. Éstas condiciones se refieren a
varios parámetros de arranque, siendo el valor inicial, también llamado semilla,
el denominador común de todos los algoritmos.
Para poder realizar una simulación que incluya variabilidad dentro de sus
eventos, es preciso generar una serie de números que sean aleatorios por sí
mismos, y que su aleatoriedad se extrapole al modelo de simulación que se está
construyendo. Como puede comprender, en la construcción del modelo los
números aleatorios juegan un papel relevante. Así, una de las primeras tareas
que es necesario llevar a cabo consiste en determinar si los números que
utilizaremos para "correr" o ejecutar la simulación son realmente aleatorios o no.
Por desgracia, precisar lo anterior con absoluta certidumbre resulta muy
complicado, ya que para ello tendríamos que generar un número infinito de
valores que nos permitiera comprobar la inexistencia de correlaciones entre
ellos. Esto sería muy costoso y tardado, además volvería impráctico el uso de la
simulación aun con las computadoras más avanzadas. A pesar de lo anterior,
podemos asegurar que el conjunto de números que utilizaremos en una
simulación se comporta de manera muy similar a un conjunto de números
totalmente
aleatorios;
por
ello
es
que
se
les
denomina
números
pseudoaleatorios. Casi todas las aplicaciones comerciales tienen varios
generadores de números pseudoaleatorios que pueden generar un conjunto muy
grande de números sin mostrar correlación entre ellos.
Un número pseudoaleatorio no es más que el valor de una variable aleatoria x
que tiene una distribución de probabilidad uniforme definida en el intervalo (0, 1).
Los números pseudoaleatorios constituyen una parte realmente importante en la
simulación de procesos estocásticos y generalmente se usan para generar el
3
comportamiento de variables aleatorias, tanto continuas como discretas. Debido
a que no es posible generar números realmente aleatorios, los consideramos
como pseudoaleatorios, generados por medio de algoritmos determinísticos que
requieren parámetros de arranque.
Podemos asegurar con altos niveles de confiabilidad que el conjunto de números
que utilizaremos en una simulación se comportan de manera muy similar a un
conjunto de números totalmente aleatorios; por ello es que se les denomina
números pseudoaleatorios.
CARACTERÍSTICAS
1. Uniformemente distribuidos.
2. Estadísticamente independientes.
3. Su media debe ser estadísticamente igual a 1/2.
4. Su varianza debe ser estadísticamente igual a 1/12.
5. Su periodo o ciclo de vida debe ser largo.
6. Deben ser generados a través de un método rápido.
7.Generados a través de un método que no requiera mucha capacidad de
almacenamiento de la computadora.
IMPORTANCIA
La importancia del uso de los números pseudoaleatorios en la simulación es que
evita los sesgos en los resultados de las corridas de simulación como influencia
del uso de los números aleatorios, sirven para generar los valores de las
variables aleatorias que siguen funciones de probabilidad particular y también
permiten experimentar bajo iguales condiciones.
4
GENERACIÓN DE NÚMEROS PSEUDOALEATORIOS
Se llama números pseudoaleatorios a una sucesión de números determinística
de números en el intervalo [0,1] que tiene las mismas propiedades estadísticas
que una sucesión de números aleatorios. Los números pseudoaleatorios son
necesarios cuando se pone en práctica un modelo de simulación, para obtener
observaciones aleatorias a partir de distribuciones de probabilidad. Los números
aleatorios generados en un inicio por una computadora casi siempre son
números aleatorios enteros.
1. MÉTODO CONGRUENCIAL MULTIPLICATIVO MIXTO
El Método Congruencial Multiplicativo Mixto genera una sucesión de
números pseudo aleatorios en la cual el sucesor del número pseudo
aleatorio es determinado justo a partir del último número generado.
Particularmente para el caso del generador congruencial mixto la
relación de recurrencia es la siguiente:
𝑋𝑛+1 = (𝑎𝑋𝑛 + 𝑐) 𝑚𝑜𝑑 𝑚
Donde
Xo > 0: representa la semilla y es un valor que elige el investigador;
a > 0: constante multiplicativa
c > 0: es una constante aditiva la que se denomina incremento;
m es el “módulo”, siendo; m > Xo, m > a y además m > c
Para hallar ri:
𝑅𝑖 = 𝑋𝑖 + 1/𝑚
ó
𝑅𝑖 = 𝑋𝑖 + 1/𝑚 − 1
5
Sugerencia:
M=2g
g=num.entero
EJEMPLO:
6
2.
MÉTODO CONGRUENCIAL MULTIPLICATIVO
En comparación con el algoritmo congruencial lineal, la ventaja del algoritmo
multiplicativo es que implica una operación menos a realizar.
El algoritmo congruencial multiplicativo surge del algoritmo congruencial lineal
cuando
c = 0. Entonces la ecuación recursiva es:
Xi+1=(aXi) mod(m)
i=0,1,2,3,...,n
Donde:
X0 = semilla (X0 >0), impar
a = multiplicador (a >0)
m = módulo (m >X0 , m >a)
Para obtener números Uniformes (0,1) se normaliza el resultado:
Ui = Xi / m
o
Xi/(m-1)
7
Ejemplo:
8
VALIDACIÓN DE NÚMEROS PSEUDOALEATORIOS
En el tema de validación veremos todo lo relacionado a las pruebas estadísticas
básicas, tales como media, forma, varianza, póquer y huecos que nos ayudarán
a validar que los números generados realmente son pseudoaleatorios, es decir
entre 0 y 1, y además que cumplen con las propiedades de independencia y
uniformidad.
Existen algunos métodos disponibles para verificar varios aspectos de la calidad
de los números pseudoaleatorios. Las dos propiedades más importantes
esperadas en los números aleatorios son uniformidad e independencia. La
prueba de uniformidad puede ser realizada usando las pruebas de ajuste de
bondad disponibles. Por ejemplo, un número estadístico suficiente de números
aleatorios pueden ser usados para verificar la distribución de los números contra
la distribución uniforme teórica usando ya sea el método Chi-Cuadrada o el
método Kolmogorov-Smirnov(KS) para números aleatorios.
Al hablar de independencia de los números pseudoaleatorios, nos referimos a
que los números aleatorios generados no deben de estar correlacionados entre
sí, de tal manera que pueden distribuirse uniformemente dentro del espectro de
valores posibles.
9
PRUEBAS ESTADÍSTICAS DE UNIFORMIDAD
Una de las pruebas de datos más importantes que debe cumplir un conjunto de
números ri es de uniformidad. Para comprobar su acatamiento se han
desarrollado pruebas estadísticas tales como las pruebas de medias, Chicuadradas y de Kolmogorov – Smirnov. En cualquiera de ambos casos, para
probar la uniformidad de los números de un conjunto ri es necesario formular las
siguientes hipótesis:
H0: ri ≈ U(0,1) Los números son uniformes.
H1: ri
1.
no son uniformes.
PRUEBA DE MEDIAS
Una de las propiedades que deben cumplir los números del conjunto r¡, es que
el valor esperado sea igual a 0.5. La prueba que busca determinar lo anterior
es la llamada prueba de medias, en la cual se plantean las siguientes hipótesis:
Ho: µ= 0.5
H1: µ≠ 0.5
La prueba de medias consiste en determinar el promedio de los n números que
contiene el conjunto ri, mediante la ecuación siguiente:
1
𝑟̅ = ∑𝑛𝑖=1 𝑟𝑖
𝑛
Después se calculan los límites de aceptación inferior y superior con las
ecuaciones siguientes:
𝐿𝐼𝑟̅ =
1
1
− 𝑍𝛼 (
)
2
2 √12𝑛
𝐿𝑆𝑟̅ =
1
1
+ 𝑍𝛼 (
)
2
2 √12𝑛
10
Si el valor de 𝑟̅ se encuentra entre los límites de aceptación, concluimos que no
se puede rechazar que el conjunto r¡ tiene un valor esperado de 0.5 con un
nivel de aceptación de 1- 𝛼. En caso contrario se rechaza que el conjunto r¡
tiene un valor esperado de 0.5. Para el cálculo de los límites de aceptación se
utiliza el estadístico 𝑍𝛼/2 , el cual se determina por medio de la tabla de la
distribución normal estándar.
Ejemplo en Excel:
En conclusión, si se acepta Ho los números generados provienen de una
distribución uniforme.
11
2.
PRUEBA DE KOLMOGOROV-SMIRNOV
La prueba de Kolmogorov-Smirnov, es una prueba estadística que también nos
sirve para determinar si un conjunto ri cumple la propiedad de uniformidad. Esta
prueba nos sirve para verificar o negar la hipótesis que un conjunto de
observaciones proviene de una determinada distribución. La estadística D que
se utiliza en esta prueba es una medida de la diferencia máxima observada entre
la distribución empírica (dada por las observaciones) y la teórica supuesta. La
estadística D es obviamente una variable aleatoria.
Es recomendable aplicarla en conjuntos ri pequeños.
1. Generar una muestra de números aleatorios uniformes de tamaño N.
2. Ordenar dichos números en orden ascendente.
3. Calcular la distribución acumulada de los números generados con la siguiente
expresión.
𝐹𝑛(𝑥 ) =
1
𝑛
Donde i es la posición que ocupa el número aleatorio Xi en el vector ordenado
obtenido en el paso 2.
4. Calcular el estado de prueba Kolmogorov-Smirnov del modo siguiente
Dn = máx | Fn(Xi) − Xi | para toda Xi
5. Si Dn es menor 𝑑𝛼,𝑛 , entonces no se puede rechazar la hipótesis de que los
números generados provienen de una distribución uniforme. La distribución de
Dn ha sido tabulada como una función de n y alfa para cuando Fn(X) = Fo(X)
12
EJERCICIO
13
3. PRUEBA ESTADÍSTICA DE CHI- CUADRADO
La prueba Chi-cuadrada busca determinar si los números del conjunto rᵢ. se
distribuyen de manera uniforme en el intervalo (0,1). Para llevar a cabo esta
prueba es necesario dividir el intervalo (0,1) en m sub-intervalos, en donde es
recomendable m=⎷n. Luego se clasifica cada número pseudoaleatorio del
conjunto rᵢ. en los m intervalos. A la cantidad de números rᵢ. que se clasifican en
cada intervalo se le denomina frecuencia observada (Oᵢ), y a la cantidad de
números rᵢ que se espera encontrar en cada intervalo se le llama frecuencia
esperada (E); teóricamente, la Eᵢ.es igual n/m.
A partir de los valores de Oᵢ. y Eᵢ se determina el estadístico x02 mediante la
ecuación:
𝑚
𝑥02
(𝐸ᵢ − 𝑂ᵢ)2
=∑
𝐸ᵢ
𝑖=1
Si el valor del estadístico 𝑥02 es menor que el valor de 𝑥𝛼,𝑚−12 , entonces no se
puede rechazar que el conjunto de datos rᵢ sigue una distribución uniforme. En
caso contrario, se rechaza que rᵢ siga una distribución uniforme.
EJEMPLO:
14
Conclusión: si se acepta Ho entonces los números generados provienen de
una distribución uniforme
15
PRUEBAS ESTADÍSTICAS DE ALEATORIEDAD
1.
PRUEBA DE CORRIDAS ARRIBA Y ABAJO DEL PROMEDIO
1. Generar la secuencia de n números pseudoaleatorios ri
2. Obtener la secuencia binaria en la cual el i-ésimo término es 0 si ri<0.5 y 1 si
ri>=0.5
3. Determinar la frecuencia observada Foi de la corrida de longitud i. Una
sucesión de i ceros (unos), enmarcada por unos (ceros) en los extremos,
representa una corrida de longitud i.
4. Calcular la frecuencia esperada de la corrida de longitud i mediante la
siguiente expresión: Fei=(n-i+3)/(2^(i+1))
5. El número total de corridas está dado por E (total de corridas) = (n+1)/2
6. Comparar las Foi con Fei mediante la prueba ji-cuadrada:
𝑋 2𝑜 = i=1k (𝐹𝑒𝑖 − 𝐹𝑜𝑖) 2 /𝐹𝑒𝑖
Si X2o> X2 (α, k-1) Los números no pasan la prueba de aleatoriedad
16
EJEMPLO:
17
2.
PRUEBA DE SERIES
Generar la secuencia de n números pseudoaleatorios r
Formar parejas (ri,ri+1) para i=1,2,…
Formar un cuadrado unitario de K*k celdas
Determinar la frecuencia observada Foij de cada celda. Se observa que a celda
pertenece cada pareja ordenada (ri, ri+1) y se contabiliza en dicha celda.
Calcular la frecuencia esperada de cada celda mediante la siguiente expresión:
Feij= (n-1)/ k2
Comparar las Foij con Feij mediante la prueba chi-cuadrada:
𝑘
𝑥02
𝑘
= ∑∑
𝑖=1 𝑗=1
(𝐹𝑒𝑖𝑗 − 𝐹𝑜𝑖𝑗)2
𝐹𝑒𝑖𝑗
Si X2o> X2 (α, k-1) Los números no pasan la prueba de aleatoriedad
18
3.
PRUEBA DE LA DISTANCIA COMO DÍGITOS
Generar la secuencia de n números pseudoaleatorios ri
Determinar los k tamaños de hueco que existen. Contar el número de dígitos que
aparece entre ocurrencias sucesivas de un mismo dígito, ej. 58245 ilustra un
hueco de tamaño 3 entre los dos cincos.
Calcular la probabilidad de ocurrencia para cada tamaño de hueco i mediante:
pi=0.1(1-0.9)i para i= 0,1,2,…
pi=(0.9)k para i>=k
Determinar la frecuencia observada Foi para cada tamaño de hueco i .
Calcular la frecuencia esperada para el tamaño de hueco i mediante la siguiente
expresión: (Fei=ΣFoi)0.9(1-0.9)i
Comparar las Foi con Fei mediante la prueba ji-cuadrada:
𝑋 2𝑜 = i=1k(𝐹𝑒𝑖 − 𝐹𝑜𝑖) 2 /𝐹𝑒𝑖
Si X2o> X2 (α, k-1) Los números no pasan la prueba de aleatoriedad
Es importante señalar que el valor seleccionado k debe ser tal que la suma de
frecuencias esperadas de todos los tamaños de hueco agrupados sea >= 5.
19
20
4. PRUEBA DE LA DISTANCIA COMO NÚMEROS REALES
Si los números pseudoaleatorios generados son considerados como reales,
entonces, para realizar esta prueba es necesario seleccionar un intervalo (a ,þ)
el cual debe estar contenido en el intervalo de (0,1), es decir 0 S a S þ S 1.
Enseguida para cada número pseudoaleatorio generado se pregunta si es o no
elemento del intervalo (a,..þ). Si Uj (número uniforme generado) es elemento de
(a ,.þ). .Uj+1 hasta Uj+1 no son elementos de dicho intervalo y Uj+i+1, vuelve a
ser elemento del intervalo (a,..þ), entonces se tiene un hueco de tamaño i.
21
5.
PRUEBA DE PÓKER
Generar la secuencia de n números pseudoaleatorios ri
Tomar k dígitos de cada número, (si tienen más de k dígitos tomar los primeros
k dígitos) y clasificarlos como: Todos diferentes, un par, dos pares, tercia, full,
póker y quintilla.
Calcular las probabilidades pi para cada mano de póker posibles.
Determinar la frecuencia observada Foi para cada mano de póker.
Calcular la frecuencia esperada para cada mano de póker (Fei=ΣFoi)pi
Comparar las Foi con Fei mediante la prueba ji-cuadrada:
𝑋 2𝑜 = i=1k(𝐹𝑒𝑖 − 𝐹𝑜𝑖) 2 /𝐹𝑒𝑖
Si X2o> X2 (α, k-1) Los números no pasan la prueba de Póker
22
Descargar