Capitulo VI Números Aleatorios

of 16 /16
7/24/2019 Capitulo VI Números Aleatorios http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 1/16 26/10/20 Facultad de Ingeniería Estadística e Informática Campus Universitario - Puno Ing. Alcides RAMOS CALCINA PUNO 2015 PROGRAMACIÓN Y SIMULACIÓN DE PROCESOS METALURGICOS NÚMEROS PSEUDOALEATORIOS

Embed Size (px)

Transcript of Capitulo VI Números Aleatorios

  • 7/24/2019 Capitulo VI Nmeros Aleatorios

    1/16

    26/10/20

    Facultad de Ingeniera Estadstica e Informtica

    Campus Universitario - Puno Ing. Alcides RAMOS CALCINA

    PUNO 2015

    PROGRAMACIN Y SIMULACIN DE

    PROCESOS METALURGICOS

    NMEROS PSEUDOALEATORIOS

  • 7/24/2019 Capitulo VI Nmeros Aleatorios

    2/16

    26/10/20

    1. INTRODUCCIN

    Una vez construido un modelo, debemos experimentar sobre l y para

    poder ejecutarlo necesitamos dar valores a las variables de tipo

    exgeno.

    Algunas de las variables de entrada son de tipo aleatorio por lo que se

    tendrn que generar valores que simulen dichas entradas.

    Para generar variables aleatorias que sigan determinadas funciones de

    probabilidad necesitamos partir de series de nmeros que cumplan

    ciertas caractersticas de aleatoriedad.

    Es grande la necesidad de usar nmeros aleatorios y son muchas las

    aplicaciones que requieren de ellos, tales como:

    Simulacin: para simular las entradas de aquellas variables

    aleatorias (no determinsticas).

    Juegos o teora de decisiones.

    Clculo numrico: por ejemplo en la resolucin de integrales.

    Teora del muestreo: aquellos casos en los que sea demasiado

    costoso realizar la muestra.

    Programacin: generacin de entradas para realizar las pruebas

    de los algoritmos y programas.

    2. GENERADORES DE NMEROSLas caractersticas deseables para los generadores de nmeros aleatorios

    son las siguientes:

    Los nmeros generados no se deben repetir frecuentemente (en

    ciclos).

    Las series generadas deben ser reproducibles.

    Rapidez en la obtencin de los nmeros.

    Almacenamiento mnimo. Tanto el propio generador como los

    nmeros por el generados.

    Los nmeros generados han de estar uniformemente

    distribuidos (todos deben tener la misma probabilidad de salir).

    Los valores generados deben ser independientes unos de otros,

    es decir, que la obtencin de cierto valor no est condicionadopor los valores obtenidos anteriormente.

    Vamos a ver distintos mtodos y para cada uno evaluaremos cules de las

    caractersticas descritas arriba cumple y cules no.

  • 7/24/2019 Capitulo VI Nmeros Aleatorios

    3/16

    26/10/20

    2. GENERADORES DE NMEROS

    1) Manual. Por ejemplo, lanzar un dado o realizar extracciones con

    reemplazamiento de bolas numeradas dentro de una urna.

    Ventajas:

    Las series obtenidas sonrealmente aleatorias.

    Inconvenientes:

    Lentitud. Las series obtenidas son

    irreproducibles.

    Requieren gran cantidad dealmacenamiento ya que habra

    que almacenar la serie

    obtenida.

    2. GENERADORES DE NMEROS2) Tablas. (De hasta 100000 nmeros).

    Ventajas:

    Las series obtenidas sonreproducibles.

    Inconvenientes:

    Lentitud. Requieren gran cantidad de

    almacenamiento.

  • 7/24/2019 Capitulo VI Nmeros Aleatorios

    4/16

    26/10/20

    2. GENERADORES DE NMEROS

    3) Computacin analgica. Las series se obtienen mediante

    fenmenos fsicos.

    Ventajas:

    Las series obtenidas son realmente aleatorias. Rapidez.

    Inconvenientes:

    Las series obtenidas son irreproducibles.

    2. GENERADORES DE NMEROS4) Computacin digital. Dada una funcin y una semilla, se van

    generando los nmeros aleatorios.

    Ventajas:

    Rapidez. Pocos requerimientos de almacenamiento. Las series obtenidas son reproducibles.

    Inconvenientes:

    Los nmeros obtenidos no son independientes.

  • 7/24/2019 Capitulo VI Nmeros Aleatorios

    5/16

    26/10/20

    3. GENERADORES CONGRUENCIALESLINEALES (GCL)

    A los nmeros obtenidos mediante mtodos de computacin digital se les

    conoce como nmeros pseudoaleatorios, los nmeros obtenidos estn

    uniformemente distribuidos pero no son independientes. Vamos a

    generar nmeros uniformemente distribuidos en el intervalo [0,1]

    (U(0,1)).

    Hacia 1949, Lehmer introduce un mtodo de generacin de nmeros

    aleatorios mediante el cual un trmino de la serie se obtiene como

    funcin d el t rmino inmediatamente a nterior ( ).

    La funcin aplicadaes la siguiente:

    siendo 0 xn < m n

    En el generador distinguimos cuatro elementos:

    x0, es el valor inicial o semilla.

    a, multiplicador, siendo 0 a < m.

    c, incremento, siendo 0 c < m.

    m, mdulo.

    1n nx f x

    1 modn nx ax c m

    3. GENERADORES CONGRUENCIALES

    LINEALES (GCL)

    3.1. Congruencial Mixto

    Los generadores congruenciales lineales generan una secuencia de

    nmeros pseudoaleatorios en la cual el prximo nmero psudoaleatorio

    es determinado a partir del ltimo nmero generado, es decir, el nmero

    psudoaleatorioxn+1 es derivado a partir del nmero pseudoaleatorioxn.

    Para el caso particular del generador congruencial mixto, la relacin de

    recurrencia es la siguiente:

    donde:x0, la semilla (x0 > 0).

    Esta relacin de recurrencia nos dice quexn+1 es el residuo de dividiraxn +

    c entre el modulo. Lo anterior significa que losvalores posibles dexn+1 son

    0, 1, 2, 3, , m-1, es decir, m representa el nmero posible de valores

    diferentes que pueden ser generados.

    1 modn nx ax c m

  • 7/24/2019 Capitulo VI Nmeros Aleatorios

    6/16

    26/10/20

    3. GENERADORES CONGRUENCIALESLINEALES (GCL)

    Ejemplo 1. Suponga quem = 8,a = 5,c = 7 yxo = 4. Para estos valores,la secuencia de nmeros psudoaleatorios y nmeros uniformes

    (Un = xn+1/m) son mostrados en la tabla 2.1. Como se puede apreciar en

    esta tabla,el periodo del generador es 8.

    Tabla 2.1:Nmeros psudoaleatorios del generador

    n xn xn+1 Un n xn xn+1 Un

    0 4 3 0.38 8 4 3 0.38

    1 3 6 0.75 9 3 6 0.75

    2 6 5 0.63 10 6 5 0.63

    3 5 0 0.00 11 5 0 0.00

    4 0 7 0.88 12 0 7 0.88

    5 7 2 0.25 13 7 2 0.25

    6 2 1 0.13 14 2 1 0.13

    7 1 4 0.50 15 1 4 0.50

    1 5 7 mod 8n nx x

    3. GENERADORES CONGRUENCIALES

    LINEALES (GCL)

    Ejemplo 2. En caso que se presente un periodo > m, suponga que setiene un generador en el cual los valores de sus parmetros son:a =xo =c

    = 7 ym = 10. Los valores semuestran en la tabla 2.2.

    Tabla 2.2:Nmeros psudoaleatorios del generador

    n xn xn+1 Un n xn xn+1 Un

    0 7 6 0.75 8 7 6 0.75

    1 6 9 1.13 9 6 9 1.13

    2 9 0 0.00 10 9 0 0.00

    3 0 7 0.88 11 0 7 0.88

    4 7 6 0.75 12 7 6 0.75

    5 6 9 1.13 13 6 9 1.13

    6 9 0 0.00 14 9 0 0.00

    7 0 7 0.88 15 0 7 0.88

    1 7 7 mod 10n nx x

  • 7/24/2019 Capitulo VI Nmeros Aleatorios

    7/16

    26/10/20

    3. GENERADORES CONGRUENCIALESLINEALES (GCL)

    Graficando podemos claramente el patrn de comportamiento de la

    generacin de los nmeros pseudoaleatorios en cada caso.

    Generador 1 5 7 mod 8n nx x

    0 5 10 150

    1

    2

    3

    4

    5

    6

    7

    Xn+1

    n

    3. GENERADORES CONGRUENCIALES

    LINEALES (GCL)

    1 7 7 mod 10n nx x

    0 5 10 150

    2

    4

    6

    8

    10

    n

    Xn+1

    Generador

    Observacin: Si un generador tiene el periodo mximo posible se llama

    generador deperiodo completo.

  • 7/24/2019 Capitulo VI Nmeros Aleatorios

    8/16

    26/10/20

    3. GENERADORES CONGRUENCIALESLINEALES (GCL)

    Reglas que puedan ser utilizadas en la seleccin de los valores delos parmetros, para que el generador resultante tenga periodocompleto.

    a) Seleccin de mdulo m

    Existen dos opciones para seleccionar el valor apropiado del mdulo:

    1. Seleccionar m de modo que sea el nmero primo ms grande posible

    y a su vez sea menor quepd, es decir:

    donde:

    p: es la base del sistema (binario, decimal, etc.) que est utilizando.

    d: es el nmero de bits del sistema en la computadora.

    Por ejemplo, si se tiene una computadora IBM 370 que trabaja en

    binario, entoncesp = 2 y d= 32.

    2. Seleccionar m =pd. Cuando m toma este valor se facilita el calculo de

    nmero uniforme (Un =xn+1/m), ya que solo se corre el punto binario

    o decimal a la izquierda del nmero.

    3. GENERADORES CONGRUENCIALES

    LINEALES (GCL)

    b) Seleccin del multiplicador a

    El valor seleccionado de a debe ser entero impar, y adems no deben ser

    divisibles por 3 5. Sin embargo, si queremos asegurar que el generador

    tenga periodo completo, el valor de a se debe seleccionar de acuerdo al

    siguiente criterio:

    (a 1) mod 4 = 0, si 4 es un factor de m.

    (a 1) modb = 0, si b es un factor primo de m.

    Usualmente se selecciona a como:

    a = 2k+1 sistema binario, k 2. a = 10k+1 sistema decimal, k 2.

  • 7/24/2019 Capitulo VI Nmeros Aleatorios

    9/16

    26/10/20

    3. GENERADORES CONGRUENCIALESLINEALES (GCL)

    c) Seleccin del incremento c

    El valor seleccionado para este parmetro puede ser cualquier constante.

    Sin embargo, si se desea asegurar buenos resultados el valor de c debe

    ser:

    c mod 8 = 5 sistema binario.

    c mod 200 = 21 sistema decimal.

    Ms especficamente el valor de c debe ser un entero impar y

    relativamente primo a m.

    d) Seleccin de la semilla xo

    En principio la semilla no debera afectar los resultados de la simulacin.Sin embargo, una mala combinacin de semilla y generador pueden

    producir conclusiones errneas.

    3. GENERADORES CONGRUENCIALES

    LINEALES (GCL)

    Recomendaciones para la seleccin de las semillas:

    No use cero. Cero funciona para generadores GCL mixtos pero hace

    que los multiplicativos se queden en cero.

    Evite valores pares. Si un generador no es de periodo completo (por

    ejemplo GCL multiplicativo con modulo m = 2k) la semilla debe ser

    impar. En otros casos no importa.

    No use semillas aleatorias. Semillas aleatorias, como por ejemplo la

    hora del da, causan dos problemas:

    La simulacin no puede ser reproducida.

    No se puede garantizar que secuencias mltiples no se solapen.

  • 7/24/2019 Capitulo VI Nmeros Aleatorios

    10/16

    26/10/20

    3. GENERADORES CONGRUENCIALESLINEALES (GCL)

    3.2. Congruencial Multiplicativo

    Al igual que el generador congruencial mixto, el generador congruencial

    multiplicativo determina el prximo nmero pseudoaleatorio a partir del

    ltimo nmero generado, de acuerdo a la siguiente relacin de

    recurrencia:

    Se recomienda tambin seleccionar adecuadamente los valores de los

    parmetros a,xo ym, con el fin de asegurar un periodo mximo para

    las sucesiones generadas por este mtodo.

    Los valores de estos parmetros dependern del sistema en que setrabaje.

    1mod

    n nx ax m

    3. GENERADORES CONGRUENCIALES

    LINEALES (GCL)

    a) Sistema decimal

    i. El valor de la semilla puede ser cualquier entero impar no divisible

    entre 2 5 y debe ser relativamente primo a m.

    ii. El valor seleccionado de a debe ser obtenido de acuerdo a la

    siguiente identidad:

    donde

    t: es cualquier valor entero

    p: es cualquiera de los siguientes valores:

    3, 11, 13, 19, 21, 27, 37, 53, 59, 61, 67, 69, 77, 83, 91.

    iii. El valor seleccionado de m puede ser 10d. Si m = 10 y d 5 el periododel generador es 5x10d-2.

  • 7/24/2019 Capitulo VI Nmeros Aleatorios

    11/16

    26/10/20

    3. GENERADORES CONGRUENCIALESLINEALES (GCL)

    b) Sistema binario

    i. El valor de la semilla puede ser cualquier entero impar relativamente

    primoa m.

    ii . El valor seleccionado dea debe ser obtenido a partir de la siguiente

    expresin:

    donde

    t: es cualquier valor entero

    iii. El valor seleccionado de m puede 2d. Si m = 2d el periodo del

    generador es 2d-2 m/4.

    A pesar de su aparente simplicidad y previsibilidad, una seleccin

    cuidadosa de los parmetros (a,m), permite obtener de manera eficientesucesiones de nmeros suficientemente largas y aleatorias para algn

    propsito.

    3. GENERADORES CONGRUENCIALES

    LINEALES (GCL)

    Como ejemplo, consideremos la salida del generador para ciertasselecciones dea,m yxo (tabla 2.4).

    Podemos realizar observaciones que se derivan de las salidas anteriores

    (ver grficos) y que centran la discusin sobre este tipo de generadoresson:

    Un generador congruencial tiene ciclos

    La longitud del ciclo del generador depende de la seleccin de los

    parmetros

    Tabla 2.4: Ejemplos del generador congruencial multiplicativo

    Caso a m xo

    Salidas

    1 6 13 1 6 10 8 9 2 12 7 3 5 4 11 1

    2 7 13 10 5 9 11 12 6 3 8 4 2 1 7 10

    3 5 13 5 12 8 1 5 12 8 1 5 12 8 1 5

    4 7 11 5 2 3 10 4 6 9 8 1 7 5 2 3

    5 6 11 3 7 9 10 5 8 4 2 1 6 3 7 9

  • 7/24/2019 Capitulo VI Nmeros Aleatorios

    12/16

    26/10/20

    3. GENERADORES CONGRUENCIALESLINEALES (GCL)

    Representacin de los pares(n, xn+1) en los casos.

    0 5 10 150

    5

    10

    15

    Caso 1

    0 5 10 150

    5

    10

    15

    Caso 2

    0 5 10 150

    5

    10

    15

    Caso 3

    0 5 10 150

    5

    10

    Caso 4

    0 5 10 150

    5

    10

    Caso 5

    3. GENERADORES CONGRUENCIALES

    LINEALES (GCL)

    3.3. Otros mtodos

    3.3.1. Generadores Cogruenciales Cuadrticos

    Son del tipo:

    La longitud de periodo mxima que se alcanza con ellos esm, igual que en

    el caso del GCL mixto y sin embargo ha de realizar ms operaciones que

    ste.

    Se puede definir tambin el G.C.L. generalizado como

    La filosofa de dicho mtodo consiste en utilizar ms de un elemento de la

    sucesin para generar un nuevo trmino.

    21 modn n nx dx ax c m

    1 1 1 2 2 3 3 modn n n n k n k x a x a x a x a x m

  • 7/24/2019 Capitulo VI Nmeros Aleatorios

    13/16

    26/10/20

    3. GENERADORES CONGRUENCIALESLINEALES (GCL)

    3.3.2. Mtodos Aditivos

    En este caso la longitud mxima de periodo que se puede alcanzar es

    mayor, dado que para que se produzca un ciclo es necesario que se

    repitan parejas de nmeros.

    El primer generador de este tipo fue creado en los aos 1950 y es la

    sucesin de Fibonacci:

    Ofrece una longitud de periodo mayor que m, pero los test handemostrado que los nmeros producidos no son satisfactoriamente

    aleatorios.

    2

    1 1

    longitud mxima de periodo =n n k

    n n k

    x xm

    x x

    1 1 modn n nx x x m

    3. GENERADORES CONGRUENCIALES

    LINEALES (GCL)

    Green introdujo el siguiente generador:

    Demostr que para k 15 dicho generador no pasaba bien los test dealeatoriedad pero que para k 16 s se portaba bien.

    Mitchell y Moore (1958) introdujeron el siguiente generador:

    ;n 55

    Se ha de cumplir:

    m debe ser par.

    Se han de generar de forma aleatoria 55 semillas, desdex0 hastax54,

    de forma que todos ellasno sean pares.

    Este mtodo tiene una longitud de periodo grande y al ser simplemente

    aditivo y no utilizar multiplicadores, es rpido.

    1 modn n n k x x m

    1 24 55 modn n nx x m

  • 7/24/2019 Capitulo VI Nmeros Aleatorios

    14/16

    26/10/20

    4. ALGUNOS GENERADORES DENUMEROS ALEATORIOS

    Un generador GCL muy popular y que ya hemos mencionado varias

    veces es:

    Este es usado en el sistema SIMPL/I de IBM (1972), APL de IBM (1971),

    el sistema operativo PRIMOS de Prime Computer (1984), y la librera

    cientfica de IMSL (1987). Tiene buenas propiedades aleatorias y es

    recomendado como un estndar mnimo.

    Un estudio de generadores multiplicativos GCL con modulom = 231 - 1

    que comparo su eficiencia y aleatoriedad, recomienda los dos

    siguientes como los mejores:

    5 311 7 mod 2 1n nx x

    311 48271 mod 2 1n nx x

    311 69621 mod 2 1n nx x

    4. ALGUNOS GENERADORES DE

    NUMEROS ALEATORIOS

    El siguiente generador es usado enSIMSCRIPT II.5 y enFORTRAN DEC-

    20:

    El siguiente generador es usado en el sistema Pascal de la Universidad

    de Sheffield para computadores Prime:

    SIMULA enUNIVAC usa:

    Algunos autores dicen que no tiene buenas propiedades aleatorias.

    El sistema operativo UNIX soporta ensiguiente GCL mixto:

    311 630360016 mod 2 1n nx x

    311 16807 mod 2n nx x

    13 351 5 mod 2n nx x

    321 1103515245 12345 mod 2n nx x

  • 7/24/2019 Capitulo VI Nmeros Aleatorios

    15/16

    26/10/20

    4. ALGUNOS GENERADORES DENUMEROS ALEATORIOS

    En Visual Basic se emplea elgenerador congruencial

    EnExcel-97 seemplea elgenerador

    Con aritmtica de punto flotante, mientras que en Excel-03 y Excel-07

    se emplea el generador de Wichman y Hill (1982)definido mediante:

    Con salida:

    241 1140671485 12820163 mod 2n nx x 242n

    n

    xU

    1 9821.0 0.211327 mod 1n nU U

    1 171 mod 30269n nx x

    1172 mod 30307

    n ny y

    1 170 mod 30323n nz z

    mod130269 30307 30323

    n n nn

    x y zU

    5. MITOS SOBRE LA GENERACIN DE

    NMEROS ALEATORIOS

    1. Un conjunto de operaciones complejas lleva a resultados aleatorios.

    2. Una sola prueba como la chi-cuadrado es suficiente para probar si el

    generador es bueno.

    3. Nmeros aleatorios son impredecibles.

    4. Algunas semillas son mejores que otras.

    5. Implementacin exacta no es relevante.

  • 7/24/2019 Capitulo VI Nmeros Aleatorios

    16/16

    26/10/20

    GRACIAS