Está en la página 1de 12

UTMACH FIC Escuela de Informtica

UNIDAD II NMEROS PSEUDOALEATORIOS


QU SON LOS NMEROS PSEUDOALEATORIOS?
Se llama nmeros pseudoaleatorios a una sucesin determinstica de nmeros en el intervalo [0,1] que tiene las mismas propiedades estadsticas que una sucesin de nmeros aleatorios. Los nmeros pseudoaleatorios siguen el mismo comportamiento de los nmeros aleatorios pero tienen condiciones iniciales para poderlos generar. Los nmeros pseudoaleatorios se lo representa con: Son un ingrediente bsico en la simulacin de sistemas Los paquetes de simulacin generan nmeros aleatorios para simular eventos de tiempo u otras variables aleatorias Una secuencia de nmeros aleatorios debe tener dos propiedades importantes: Uniformidad Independencia

Cada nmero aleatorio es una muestra independiente tomada de una distribucin continua uniforme entre 0 y 1 Su valor esperado es 1/2 y su varianza 1/12

LAS PROPIEDADES DESEADAS DEL GENERADOR SON LAS SIGUIENTES:


1. Deben ser eficientes computacionalmente: dado que tpicamente se requieren varios miles de nmeros aleatorios por corrida, el tiempo de procesador requerido para generarlos debe ser pequeo, 2. El periodo debe ser largo: periodos cortos limitan la longitud aprovechable de una corrida de simulacin porque el reciclaje resulta en una repeticin de secuencias de eventos, 3. Los valores sucesivos deben ser independientes y uniformemente distribuidos: la correlacin entre nmeros sucesivos debe ser pequea y si es significante indica dependencia.

Ing. Bertha Mazn, Mg. Sc.

UTMACH FIC Escuela de Informtica


4. Los mejores generadores son aquellos que obtienen cantidades tales como , y en algunos casos .

El perodo o ciclo de vida del conjunto de nmeros pseudoaleatorios se lo representa con n. EJEMPLO:

ALGORITMO DE CUADRADOS MEDIOS


Requiere de un nmero entero llamado semilla con D dgitos el cual es elevado al cuadrado para seleccionar del resultado los D dgitos del centro, El primer nmero se lo obtiene anteponiendo o, el segundo sigue el mismo procedimiento solo se debe elevar al cuadrado los D dgitos del centro para obtener el que se seleccionaron par el primer ,

REGLA:
1. Seleccionar una semilla con D dgitos (D>3) 2. Sea igual al resultado de elevar , igual D dgitos del centro; =0,D dgitos del centro, 3. Sea igual al resultado de elevar ; igual a D dgitos del centro, =0,D dgitos del centro, 4. Repetir el paso 3 hasta obtener los n nmeros pseudoaleatorios deseados.

EJEMPLO:
Generar el conjunto de nmeros pseudoaleatorios de acuerdo a los siguientes datos.

SOLUCIN
= 14145121 ; ;

Ing. Bertha Mazn, Mg. Sc.

UTMACH FIC Escuela de Informtica


= 02105401 = 01110916 = 01229881 = 05280804 = 07884864 = 78287104 = 08242641 . . Continuar hasta que el valor de sea igual a la semilla . ; ; ; ; ; ; ; ; ; ; ; ; ; ;

ALGORITMO DE PRODUCTOS MEDIOS REGLA:


1. 2. 3. 4. Seleccionar una semilla con D dgitos (D>3) Seleccionar una semilla con D dgitos (D>3) Sea = * ; = D dgitos; = 0, D dgitos del centro Sea = * ; =D dgitos del centro; 0, D dgitos del centro. 5. Repetir el paso 4 hasta obtener los nmeros deseados. Para este algoritmo se necesita que las dos semillas sean de igual nmero de dgitos.

EJEMPLO:
Generar el conjunto de nmeros pseudoaleatorios de acuerdo a los siguientes datos.

SOLUCIN:

Ing. Bertha Mazn, Mg. Sc.

UTMACH FIC Escuela de Informtica


= 34423364 ; = 33698913 ; = 29584437 ; = 40843716 ; = 49305828 ; . Continuar hasta que el valor de ; ; ; ; ; sea igual a .

ALGORITMO DE MULTIPLICADOR CONSTANTE REGLA:


1. 2. 3. 4. 5. Seleccionar una semilla con D dgitos; D>3 Seleccionar una constante (a) con D dgitos; D>3 Sea =a * ; = D dgitos del centro; = 0,D dgitos del centro. Sea =a * ; = D dgitos del centro; = 0,D dgitos del centro Repetir el paso 4 hasta tener los nmeros deseados.

Para este algoritmo se necesita que tanto la semilla como la constante sean de igual nmero de dgitos.

EJEMPLO:
Generar el conjunto de nmeros pseudoaleatorios de acuerdo a los siguientes datos.

SOLUCIN:
= 27020676 ; = 01287294 ; = 17947128 ; = 59184279 ; = 11510658 ; ; ; ; ; ;

Ing. Bertha Mazn, Mg. Sc.

UTMACH FIC Escuela de Informtica


= 31907394 ; = 56697177 ; = 43561779 ; = 35100633 ; . . Continuar hasta que el valor de sea igual a la semilla . ; ; ; ;

ALGORITMO LINEAL (CONGRUENCIAL MIXTO)


El algoritmo lineal utiliza la siguiente ecuacin:

Siendo:

Estos valores deben ser nmeros enteros mayores a cero, es decir:

Para obtener los nmeros pseudoaleatorios se utiliza la siguiente ecuacin:

El perodo para este algoritmo ser igual al mdulo, es decir N = m.

EJEMPLO:
Generar el conjunto de nmeros pseudoaleatorios de acuerdo a los siguientes datos.

Ing. Bertha Mazn, Mg. Sc.

UTMACH FIC Escuela de Informtica

SOLUCIN:
; ; ;

Como se puede observar el valor de = , por lo tanto no es necesario continuar debido a que el perodo ya se cumpli. El perodo es : N= 2.

CONDICIONES PARA LOGRAR EL MXIMO PERODO


Para lograr el mximo perodo (N) se deben cumplir las siguientes condiciones:

EJEMPLO:
Generar el conjunto de nmeros pseudoaleatorios de acuerdo a los siguientes datos.

SOLUCIN:
; ; ;

Ing. Bertha Mazn, Mg. Sc.

UTMACH FIC Escuela de Informtica


; ; ; ; ; ; Debido a que , esto nos indica que ya se encontr el perodo, siendo ste el mximo, y es igual a 8 (N=8).

ALGORITMO CONGRUENCIAL MULTIPLICATIVO


Este algoritmo se deriva del anterior, ya que en ste c=0, por lo tanto la frmula es:

Siendo:

Estos valores deben ser nmeros enteros mayores a cero, es decir:

Para obtener los nmeros pseudoaleatorios se utiliza la siguiente ecuacin:

El perodo para este algoritmo ser N = m/4.

CONDICIONES PARA LOGRAR EL MXIMO PERODO Ing. Bertha Mazn, Mg. Sc. 7

UTMACH FIC Escuela de Informtica


Para lograr el mximo perodo (N) se deben cumplir las siguientes condiciones:

EJEMPLO 1:
Generar el conjunto de nmeros pseudoaleatorios de acuerdo a los siguientes datos.

= 16

Para este primer ejemplo utilizamos la primera frmula de a. ) Por lo tanto:

SOLUCIN:
; ; ; ; ;

Debido a que , esto nos indica que el valor se ha repetido y por lo tanto el perodo ya se ha cumplido.

Ing. Bertha Mazn, Mg. Sc.

UTMACH FIC Escuela de Informtica


Por lo tanto N= 4.

EJEMPLO 2:
Para este segundo ejemplo tomaremos los mismos datos del ejemplo 1 con la diferencia de que lo realizaremos con la segunda frmula de a. ( ) Por lo tanto:

SOLUCIN:
; ; ; ; ;

Debido a que , esto nos indica que el valor se ha repetido y por lo tanto el perodo ya se ha cumplido. Por lo tanto N= 4. Con esto se concluye que cualquiera de las dos frmulas para obtener el valor de (a), nos permite llegar al mismo perodo (N), lo cual no quiere decir que se obtenga los mismos nmeros pseudoaleatorios.

ALGORITMO CONGRUENCIAL ADITIVO


En este algoritmo se tiene una secuencia de n nmeros para generar Dnde: n = nmero de semillas que se tiene.

Ing. Bertha Mazn, Mg. Sc.

UTMACH FIC Escuela de Informtica

Por lo tanto la frmula ser:

Dnde: m = cualquier nmero mayor a cero.

Y la frmula para obtener el conjunto de nmeros pseudoaleatorios es:

En este algoritmo no se puede determinar cunto ser el perodo (N), pero siempre habr un lmite.

EJEMPLO 1:
Generar el conjunto de nmeros pseudoaleatorios de acuerdo a los siguientes datos.

SOLUCIN:
; ; ; ; ;

Ing. Bertha Mazn, Mg. Sc.

10

UTMACH FIC Escuela de Informtica


; . . . Continuar hasta que el valor de sea igual a .

ALGORITMOS CONGRUENCIALES NO LINEALES ALGORITMO CONGRUENCIAL CUADRTICO


El algoritmo lineal utiliza la siguiente ecuacin: ( )

Y la frmula para obtener el conjunto de nmeros pseudoaleatorios es:

CONDICIONES PARA LOGRAR EL MXIMO PERODO

Para lograr el mximo perodo (N) se deben cumplir las siguientes condiciones:

El perodo va a ser igual a m (N=m).

EJEMPLO:
Generar el conjunto de nmeros pseudoaleatorios de acuerdo a los siguientes datos.

Ing. Bertha Mazn, Mg. Sc.

11

UTMACH FIC Escuela de Informtica

=8

SOLUCIN:
[ [ [ ] ] ] ; ; ;

Debido a que tanto:

, eso nos indica que el perodo ya se cumpli y por lo N= 2

ALGORITMO DE BLUM, BLUM Y SHUB


Este algoritmo se deriva del anterior, ya que en ste por lo tanto la frmula es: ,

Y la frmula para obtener el conjunto de nmeros pseudoaleatorios es:

EJEMPLO:
Generar el conjunto de nmeros pseudoaleatorios de acuerdo a los siguientes datos.

Ing. Bertha Mazn, Mg. Sc.

12

También podría gustarte