Sei sulla pagina 1di 12

1

Il metodo Monte Carlo


Per il calcolo del seguente integrale:
}
=
b
a
dx ) x ( g I

s s
=

altrimenti
b u a a b
u f
U
0
) (
) (
1
Sintroduce :
E si riconosce:
( ) | |
}
=
b
a
U
du u f u g U g E ) ( ) (
( ) | |( ) a b u g E I = Da cui:
{ } b a U ,
realizzazioni indipendenti di
| |

=
n per u g E
n
u g
pr
n
i
i
) (
) (
1
1
la legge forte dei
grandi numeri:
n
u u u , , ,
2 1
Allora, con { } b a U ,
2
Generazione di numeri (pseudo) casuali
Un algoritmo che fornisce una sequenza di numeri compresi tra
0 e 1, dotata di due propriet:
uniformit,
indipendenza,
un generatore di numeri casuali.
.
0 1
1
A
. 2
A
n
A
E = un numero in ciascuno degli n
intervallini | n generazioni
| | ! Pr
1
n
t t
E
n
|
.
|

\
|
A
|
.
|

\
|
A
=
3
Definizione 1.
Due interi a e b, con a < b, sono detti " congruenti di modulo m "
se la loro differenza (b - a) un multiplo intero di m.
Cio:
(b - a) mod m = 0 (b mod m = a mod m)
Definizione 2.
Per un fissato b, il pi piccolo intero positivo a tale che
a = b (mod m) detto "residuo" modulo m di b.
Se consideriamo a < m la relazione di congruenza si
esprime con la notazione: a = b (mod m)
Preliminari
4
Generatore di congruenza lineare
non richiede granch in termini di sforzo d'implementazione, n in
tempo di calcolo e neppure in spazio di memoria;
una fissata sequenza generata ripetibile facilmente: basta
memorizzare Z
0
e ripartire. Per questo Z
0
detto "seme" della
sequenza;
dove :
a un intero positivo (< m), chiamato moltiplicatore;
c un intero non negativo (< m), chiamato incremento;
m un intero positivo, chiamato modulo.
( ) ... , 2 , 1 , 0 , mod
1
= + =

i m c Z a Z
i i
la sequenza in generazione pu essere facilmente interrotta e ripresa.
5
Pseudo-casualit e densit della generazione
Il comportamento ciclico della relazione di congruenza-lineare (1.1)
inevitabile: la ripetizione di uno dei numeri gi generati innesca il ciclo. La
lunghezza del ciclo detta periodo (p). E dato che Zi dipende solo da Zi-1 e
che 0<=Zi<=m, risulter sempre p<=m. Quando si verifica p = m si dice
che il generatore ha periodo pieno.

Conviene scegliere il modulo m pi grande possibile, ma compatibile con


la lunghezza di parola dell'elaboratore anche per un secondo motivo: pi
grande m pi fitti risulteranno (nell'intervallo [0,1]) i numeri razionali 0,
1/m, 2/m,....., (m-1)/m che possono essere ottenuti con la formula:
Xi = Zi/m i = 0, 1, 2, 3, .....
m
a
a c
Z a Z
i
i
mod
1
) 1 (

i
0
(
(

+ =
6
TEOREMA
Il generatore definito dalla (1.1) di periodo pieno se e solo se sono
verificate tre condizioni :

1. l'unico intero positivo che divide esattamente sia m sia c 1;
2. se q un numero primo che divide m, allora q divide a - 1;
3. se m divisibile per 4, allora a - 1 deve essere divisibile per 4:

La condizione 1. del precedente teorema suggerisce che i
generatori congruenti lineari hanno un comportamento differente,
a seconda che si ponga c > 0 (generatori misti) oppure c = 0
(generatori moltiplicativi).
7
Generatori misti

Con tali generatori, scelti i parametri che caratterizzano la (1.1) compatibilmente
con le 3 condizioni del teorema precedente, possibile ottenere sequenze di numeri
di periodo pieno.

Se b la lunghezza utile in bits (ad es. b = 31) della parola dell'elaborazione,
lecito fissare:
m = 2b

La scelta m = 231, per implementazioni su elaboratori a 32 bits con il 32-mo
utilizzato per il segno algebrico, evita la divisione esplicita di (aZi-1+c) per m
(operazione aritmetica lenta).

L'operazione di divisione sostituita dal "trabocco".
"L'intero pi grande che possibile rappresentare con la parola di b bits 2b-1 e
ogni tentativo di scrivere un intero W con h > b cifre binarie produrr la perdita
delle h- b cifre significative di W. Perci nei restanti b bits rimarr W (mod 2b)".
8
Generatori moltiplicativi
c = 0 Zi =(a Zi-1)(mod m) i = 1, 2, 3, ....

Si vede subito che la condizione 1 del teorema non mai soddisfatta quindi il
periodo non mai pieno. Inoltre, la migliore situazione per la generazione della
sequenza la si ottiene quando aZi-1 ed m non hanno divisori comuni a parte 1.

Quindi a prima vista, questi generatori si presentano con la non auspicata
caratteristica di avere un periodo non pieno. Ma per fortuna, possibile ottenere
un periodo p = m - 1, scegliendo opportunamente e senza troppe controversie il
parametro a, oltre che m.

Sulla base di alcuni teoremi di Teoria dei Numeri e sulla base di studi statistici:

Zi = 75 Zi-1 (mod 231 - 1)

La sequenza generata dalla (1.2) ha periodo m-1 e la serie dei numeri 1, 2, ..., m-1
compare tutta quanta nell'ambito di uno stesso ciclo di generazione.
Si osservi che, non essendo pi m = 2b, non pi possibile utilizzare il
meccanismo di trabocco per effettuare la divisione modulo m.

9
Simulazione Monte Carlo
Generazione di realizzazioni delle Var. Al. dingresso
{ } , , , ,
2 1 n
u u u realizzazioni indipendenti di
{ } 1 , 0 U
{ } ( ) { } u U u u F F x F x X
X X X
s = = = = s

Pr ) ( ) ( Pr
1
Metodo della trasformazione inversa
) (
1
u F x
X

=
realizzazione della X
u
1
X
F
x
10
Metodo della trasformazione inversa e legge di Erlang
0 >
exp()

exp() exp()
1 2 n
n i
X X X X + + + + =
1

i
i
x
i X
e x F

=1 ) (

=
=
n
i
i
x x
1

( )

=
1
0
!
1 ) (
n
i
i
x
X
i
x
e x F

) 1 ln(
1
1
i
n
i
u =

=

( )
[
=
=
n
i
i
u
1
) 1 ( ln
1

i
x
i
e u

=1
) 1 ln(
1
i i
u x =

Convoluzione di esponenziali identiche e indipendenti


11
Trasformazione inversa per la distribuzione iperesponenziale
( ) { } ( )
n i
n
i
i Y
y y F o = = = =

=

2 1
1
, exp 1
n i con
i
n
i
i
, , 1 0 , 1 :
1
= > =

=
o o
exp(
2
)
exp(
1
)
1
o
2
o
raffica
c o c o = =
2 1
, 1
0
2 1
> >>
PROCEDURA:
{ } 1 , 0 U u genera e
( ) ) (
1 1
o EXP y genera then u if ~ s
( ) ) (
2
EXP y genera else ~
12
Realizzazioni casuali dalla legge IPEResponenziale
( alfa = 0,95 - lambda_1 = 5 - lambda_2 = 0,5 )
0,0
1,0
2,0
3,0
4,0
5,0
6,0
7,0
8,0
9,0
10,0
11,0
12,0
Numeri casuali generati
V
a
l
o
r
i

c
o
r
r
i
s
p
o
n
d
e
n
t
i
Generazione Monte Carlo di realizzazioni iperesponenziali

Potrebbero piacerti anche