80 likes | 244 Views
Generación de Números Pseudoaleatorios y Algunos Usos. Generadores Congruenciales. En general utilizan la fórmula recursiva: x n = (a . x n-1 ) mod m (es decir, el resto de la división de a . x n-1 entre m) El valor x n /m resultante es un número en (0,1).
E N D
Generadores Congruenciales En general utilizan la fórmula recursiva: xn = (a . xn-1) mod m (es decir, el resto de la división de a . xn-1 entre m) El valor xn/m resultante es un número en (0,1) Una forma similar es la de los generadores congruenciales mixtos (elementos aditivo y multiplicativo): xn = (a . xn-1 + c) mod m El algoritmo se inicia partiendo de una semilla x0
Generadores Congruenciales • Criterios para la selección de a y m: • Para cualquier semilla inicial, la sucesión resultante tiene la apariencia de ser una sucesión de variables aleatorias independientes y uniformes en (0,1) • Para cualquier semilla inicial, el número de variables que se pueden generar antes de que comience la repetición es grande. • Los valores se pueden calcular de manera eficiente en una computadora. Algunos autores recomiendan las selecciones m = 231-1 a = 75
Paréntesis de Probabilidades (Paréntesis recordatorio... Sea X una variable aleatoria continua con f.d.p. f(x) y sea g(x) una función a valores reales. Entonces el valor esperado de g(X) se define como: E(g(X)) = g(x) f(x) dx - Como caso particular, si X = U ~ U(0,1) 1 E(g(U)) = g(u) du 0
Paréntesis de Probabilidades • Luego, si U1, ..., Un son variables aleatorias i.i.d. U(0,1) se tiene que las g(Ui) son variables aleatorias i.i.d. con media E(g(U)) = , por lo que, por la ley fuerte de los grandes números (teoría de probabilidad avanzada): • n i=1 g(Ui)/n E(g(U)) cuando n En el caso multivariado (k dimensional), se tiene • n i=1 g(U1i, ..., Uki)/n E(g(U1, ..., Uk)) cuando n ...fin del páréntesis)
Uso de Números Aleatorios La teoría descrita en las láminas anteriores permite desarrollar un método, conoce como el Método de Monte Carlo, para aproximar el cálculo de integrales. • Para calcular 1 • g(x) dx 0 se generan variables uniformes i.i.d. y se calcula n i=1 g(ui)/n, el cual es una aproximación buena de la integral de interés, en la medida que n sea grande
Uso de Números Aleatorios • Para calcular b • g(x) dx a se utiliza la sustitución u = (x-a)/(b-a), con lo que resulta • b 1 • g(x) dx = h(u) du a 0 donde h(u) = (b-a)g(u(b-a) + a), y luego se generan variables uniformes i.i.d. y se calcula n i=1 h(ui)/n, el cual es una aproximación buena de la integral de interés, en la medida que n sea grande
Uso de Números Aleatorios • Para calcular • g(x) dx 0 se utiliza la sustitución u = 1/(x + 1), con lo que resulta • 1 • g(x) dx = h(u) du 0 0 donde h(u) = g(1/u - 1)/u2, y similarmente al caso anterior se generan variables uniformes i.i.d. y se calcula n i=1 h(ui)/n.