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.
+ =
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 =
=
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