09.05.2013 Views

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

A.2. Variables aleatorias 485<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

-2 -1 1 2<br />

y<br />

1<br />

0<br />

Figura A.4.<br />

a x<br />

Figura A.5.<br />

para y ∈ [0, 1) se ti<strong>en</strong>e F −1 (y) = a + y ∗ (b − a). Por lo tanto, si se g<strong>en</strong>era<br />

y ∼ Unif[0, 1) (mediante y:= Random simplem<strong>en</strong>te, por ejemplo), basta con<br />

hacer x:= a+y*(b-a) para obt<strong>en</strong>er la variable aleatoria x ∼ Unif[a, b), como se<br />

ve <strong>en</strong> la figura A.5.<br />

Naturalm<strong>en</strong>te, no siempre es tan fácil invertir F , e incluso a veces es imposible<br />

hacerlo por medios analíticos. Sin embargo, la cantidad x = F −1 (y), conocida<br />

y, siempre puede hallarse como el cero de la función F (x) − y (véase el apartado<br />

6.5.3), de la que sabemos que es decreci<strong>en</strong>te, por lo que es idóneo el método<br />

de bipartición (véase el apartado 6.5.1).<br />

El método expuesto es s<strong>en</strong>cillo y se adapta bi<strong>en</strong> a variables discretas. Sea<br />

la función de probabilidad P rob(x = i) = pi, para 1 ≤ i ≤ n; su función de<br />

distribución es P (k) = k i=1 pi para 1 ≤ k ≤ n, y expresa la probabilidad<br />

de que x ≤ i. Entonces, el método consiste <strong>en</strong> g<strong>en</strong>erar la variable aleatoria<br />

y ∼ Unif[0, 1), y hallar el mínimo k tal que P (k) ≥ y (véase la figura A.6).<br />

b<br />

. . .

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!