Formiche… - Pavia Fisica Home Page

Transcript

Formiche… - Pavia Fisica Home Page
Formiche…
Un seminario sull’ analisi statistica
di formiche virtuali
Dr. Andrea Fontana – Universita’ di Pavia
http://www.pv.infn.it/~fontana/Formiche
Formiche…



Numeri casuali
Tests di casualita’
Distribuzione uniforme in C e C++



Formica di Langton (con ROOT)
Formica ubriaca (con ROOT)
Formicai virtuali


Caso o Caos?
Introduzione ai Frattali
Andrea Fontana - DFNT
Numeri casuali
Simulazione di processi fisici -> generazione di numeri casuali
con distribuzione uniforme
nell’ intervallo [0,1].
Sequenza di numeri casuali: - non prevedibile;
- non riproducibile.
Esempi in natura: decadimento radioattivo di nuclei instabili,
rumore termico di apparecchiatura elettronica…
Come fare per ottenere sequenze di numeri casuali (o random)?
- misurare fenomeni naturali casuali: poco pratico
- usare calcolatori per memorizzare tabelle
precalcolate: uso di spazio in memoria
- usare calcolatori collegati a strumenti: richiede tempo
Generazione di numeri “casuali” con algoritmi matematici!
Formiche…
Andrea Fontana - DFNT
Numeri pseudocasuali
Sequenze di numeri generate al calcolatore: sono sempre
prevedibili ed esattamente riproducibili (seme), ma hanno
le stesse proprieta’ delle sequenze casuali vere.
Generatori di numeri casuali: funzioni disponibili in
ogni linguaggio di programmazione (C, C++, Fortran) per
generare sequenze pseudocasuali con algoritmi matematici.
Vari metodi disponibili:
 metodo del medio quadrato
(J. von Neumann, fine 2^a G.M.)
 metodo congruenziali
(vari autori, anni ’60-’80)
 metodo di Fibonacci
Formiche…
Andrea Fontana - DFNT
Metodo del medio quadrato
Ogni numero della sequenza e’ generato elevando al quadrato
il predecessore e prendendo le cifre di mezzo del risultato.
Lavorando con 4 cifre e partendo da x0=5678, si ha:
x0=5678 (x0^2=32239684)
x1=2396 (x1^2=05740816)
x2=7408 …
Caratteristiche delle sequenze pseudocasuali:
- ogni numero viene ricavato da quello precedente e, se un
numero ricompare nella sequenza, tutti i numeri successivi
vengono ripetuti (periodo di ogni algoritmo)
- la correlazione tra i numeri non e’ mai nulla.
Formiche…
Andrea Fontana - DFNT
Metodo congruenziale
Ogni numero della sequenza e’ generato a partire da altri tre
numeri: m (modulo), a (incremento) e x0 (valore iniziale),
secondo il seguente schema:
x i  a  x i1modm
i  x i/m
Esempio con a=5, x0 =1 e m=64:
1,5,25,61,49,53,9,45,33,37,57,29,17,21… (sempre dispari!)

Metodo di Fibonacci
Ogni elemento della sequenza e’ la somma dei due elementi
precedenti (routine RANLUX della libreria del CERN).
Formiche…
Andrea Fontana - DFNT
Tests di casualita’
Non tutte le sequenze sono equivalenti: in generale, anche
a parita’ di algoritmo, si hanno sequenze differenti su
calcolatori differenti ed esistono sequenze di numeri
pseudocasuali che sono “migliori” o “piu’ casuali” di altre.
 Test sulla media di N numeri pseudocasuali:
semplice controllo per generatore uniforme
 Test di equidistribuzione: reale uniformita’
dei numeri generati
 Test seriale: reale uniformita’ di coppie di
numeri generati
 Test del gap: la distanza tra due numeri uguali
nella sequenza segue una distribuzione geometrica
 Test del poker: controllo su numeri uguali entro
quintuple casuali consecutive
Formiche…
Andrea Fontana - DFNT
Distribuzione uniforme
Semplice test da fare su un calcolatore: generare N numeri
pseudocasuali secondo la distribuzione uniforme e stimare
media e deviazione standard con errori e CL gaussiani.
Entro 1s,la statistica di base prevede che le stime di
media m e deviazione standard s per dati che provengono
da distribuzioni qualunque siano:
s
m
N
D4  s4
s
4s2 (N  1)
con livelli di confidenza gaussiani. D4 e’ il momento di quarto
ordine della distribuzione:
1
D4   (xi  m) 4
N i
Formiche…
Andrea Fontana - DFNT
Risultati del test sulla media
statistica: 10000
m(em)=0.499446(0.00285817)
intervallo: 0.496587-0.502304 esatto: 0.5
s(es)=0.285817(0.00453816)
intervallo: 0.281278-0.290355 esatto: 0.288675
Sequenza
Formiche…
Istogramma
Andrea Fontana - DFNT
Risultati del test del gap
La probabilita’ pr di avere un gap di lunghezza r e’ data da:
pr  p  (1  p) r
cioe’ segue una distribuzione geometrica.
Gap tra gli “0”
di un sequenza
casuale di numeri
nell’ intervallo
[0,9].
Formiche…
Andrea Fontana - DFNT
Test del poker
Si considerano N gruppi consecutivi di 5 interi consecutivi
e si cerca in quale categoria cade ogni quintupla considerata
in base al numero di valori distinti in essa contenuti:
5
4
3
2
1
tutti diversi
a,b,c,d,e
coppia
a,a,b,c,d
doppia coppia o tris a,a,b,b,c o a,a,a,b,c
full o poker
a,a,a,b,b o a,a,a,a,b
colore
a,a,a,a,a
Si conta il numero di occorrenze di ogni quintupla
e si confrontano le distribuzioni con le probabilita’
teoriche (note esattamente dal calcolo combinatorio).
Formiche…
Andrea Fontana - DFNT
Teoria del poker
Probabilita’ che, considerati N gruppi di k numeri successivi
(tra d elementi), in uno di essi ci siano r numeri diversi:
d(d  1)...(d  r  1) k 
pr 
 
dk
r 
dk
d(d  1)...(d  r  1)
k 
 
r 
Formiche…
dal Knuth
Disposizioni con ripetizione di
d oggetti in classe k (in gruppi di k).
Numero di scelte ordinate di r oggetti
diversi da un insieme di d oggetti.
Coefficiente di Stirling (tabulato):
numero di ripartizioni di un insieme
di k oggetti in r parti.
Andrea Fontana - DFNT
Risultati del test del poker
Per il poker con 10 cifre [0,9] e gruppi di 5 cifre si ha:
d=10, k=5 e r=5,4,3,2,1.
Usando il generatore di numeri casuali uniforme del C++,
si ottengono, con una statistica di 200000 quintuple,
questi risultati:
Formiche…
N=200000
dato
teoria
tutti diversi
60803
60480
coppia
100722
100800
doppia
coppia/tris
35802
36000
full/poker
2650
2700
colore
23
20
Andrea Fontana - DFNT
Altre distribuzioni casuali
Grazie al teorema della distribuzione cumulativa, se
X e’ una variabile aleatoria con densita’ qualunque p(x),
la variabile aleatoria cumulativa C:
X
C(X)   p(x)dx

e’ uniforme nell’ intervallo [0,1].
Se l’ integrale e’ noto in modo analitico, si puo’ scrivere:
c  F(x)
Usando un generatore casuale uniforme su un calcolatore, si
possono generare variabili aventi una densita’ qualsiasi usando
l’ equazione:
X  F 1 (random)
Formiche…
Andrea Fontana - DFNT
La Formica di Langton
Una formica cammina su una grande griglia di quadrati,
inizialmente tutti bianchi. Quando la formica arriva su un
quadrato bianco, lo colora di nero e gira a destra. Quando
arriva su un quadrato nero, lo colora di bianco e gira a
sinistra.
Per circa 10000 passi, la formica continua a girare, tornando
sui propri passi e creando questa distribuzione di punti
apparentemente caotica.
Ma a un certo punto, crea
un percorso chiuso lungo
un’ “autostrada” e riesce
a scappare!
Formiche…
Andrea Fontana - DFNT
Primi passi della Formica
Formiche…
Andrea Fontana - DFNT
La Formica ubriaca
Una delle molte possibili varianti della formica,
con un elemento casuale (random walker):
la formica adesso ha una moneta con se e la lancia
ad ogni passo: se esce testa, gira a destra, mentre se
esce croce gira a sinistra. Inoltre, se la casella e’ bianca
la colora di nero e viceversa.
Il moto risultante e’ (ad esempio) il seguente:
La formica non sembra
finire piu’ in un “loop”
e cammina proprio a
caso, come se fosse
ubriaca!
Formiche…
Andrea Fontana - DFNT
Tests di casualita’ e Formiche
Vogliamo verificare se le sequenze di numeri (che ne
rappresentano il moto) generate dalle due formiche
sono generate in modo casuale oppure no.
Due possibilita’ (coincidenti per Langton):
a. Sequenza di 0 e 1 a seconda che la formica colori la
casella di nero o di bianco (rispettivamente).
b. Sequenza di 0 e 1 a seconda che la formica giri a
destra o a sinistra (rispettivamente).
Esempio di sequenza da studiare:
0,0,1,1,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,1,0,1,1,0…
Formiche…
Andrea Fontana - DFNT
Test di frequenza e Formiche
Langton
Non uniforme e correlato
al colore iniziale del foglio.
Formiche…
Ubriaca
Uniforme
Andrea Fontana - DFNT
Test del gap e Formiche
Langton
Formiche…
Ubriaca
Andrea Fontana - DFNT
Il poker delle Formiche!
Per il poker con 2 cifre [0,1] e gruppi di 5 cifre si ha:
d=2, k=5 e r=3,2,1.
Infatti, in questo poker semplificato, sono definibili solo
full, poker e colore.
full:
poker:
colore:
00111
01111
00000
N=20000
dato
teoria
full
12578
12500
poker
6175
6248
colore
1247
1248
Formiche…
00011
00001
11111
Risultati del test
del poker ridotto
per il generatore
uniforme del C++.
Andrea Fontana - DFNT
Test del poker e Formiche
Probabilita’ teoriche date
da legge binomiale:
full
poker
colore
0.3125 (x2)
0.1562 (x2)
0.0312 (x2)
Langton
N=11654
dato
teoria
full
1197
1457
poker
1133
728
colore
0
145
N=13879
dato
teoria
full
a. 1507
b. 1716
1735
poker
a. 887
b. 874
867
colore
a. 381
b. 165
173
Ubriaca
Formiche…
Andrea Fontana - DFNT
Caso o Caos?
Formica di Langton: sistema non casuale che fallisce i
tests statistici di casualita’.
Comportamento caotico.
Formica ubriaca: sistema casuale, governato dalle leggi
della statistica, che puo’ presentare
proprieta’ non casuali in casi particolari.
Occorre discriminare tra distribuzioni casuali (cioe’ non
deterministiche) e distribuzioni caotiche (ma deterministiche):
distribuzioni di punti “disordinate”, apparentemente simili,
possono in realta’ essere molto diverse.
Caos e Caso sono concetti molto diversi, ma e’ difficile capire
dove sta il confine che li separa: i tests di casualita’ sono uno
strumento che ci puo’ aiutare…
Formiche…
Andrea Fontana - DFNT
Formicai virtuali
Distribuzione finale con 10 formiche di Langton generata
con il programma Ants95 (disponibile in rete).
Formiche…
Andrea Fontana - DFNT
Problemi filosofici…
La Formica di Langton e’ un problema molto studiato
e costituisce ancora un “puzzle”, anche per la Fisica
Teorica attuale:
Esiste un sistema di cui conosciamo esattamente la
“Legge del Tutto”, ma il cui moto non e’ prevedibile.
Queste formiche hanno inoltre moltissime altre
proprieta’ interessanti:
sono un esempio di automi cellulari ed esibiscono
in alcuni casi particolari anche delle proprieta’ frattali.
Formiche…
Andrea Fontana - DFNT
Il concetto di Frattale
Frattale: oggetto che appare simile a se stesso a vari livelli
di ingrandimento e in cui, grazie a questa proprieta’ di simmetria
su diverse scale, ogni piccola parte e’ una copia dell’ oggetto
intero (proprieta’ di autosomiglianza).
Frattali matematici
Autosomiglianza ad
ogni scala: non esistono
in natura, ma sono
“mostruosita” matematiche.
insieme di Cantor
insieme di Sierpinski
insieme di Mandelbrot…
Formiche…
Frattali Fisici
Autosomiglianza solo
su certe scale: esistono
in natura come oggetti
veri, ma anche come
rappresentazioni di
processi fisici.
profilo costiero
galassie
pendolo caotico…
Andrea Fontana - DFNT
Esempi di Frattali
Nuvole
Felce
Profili di coste e
montagne
Crateri lunari
Formiche…
Andrea Fontana - DFNT
Insieme di Mandelbrot
Iterazione nel piano complesso della sequenza:
zn1  zn2  c
Formiche…
Andrea Fontana - DFNT
Galassie
La distribuzione delle galassie nell’ universo sembra
essere di natura frattale!
fotografia
simulazione
Formiche…
Andrea Fontana - DFNT
Al confine tra Caso e Caos
Studio del moto Browniano e di sistemi detti fBms,
cioe’ fractional Brownian motion(s).
Sistemi molto diffusi in natura che riproducono le
caratteristiche tipiche del moto dei pollini di grano
sulla superficie dell’ acqua, osservato per la prima
volta dal botanico scozzese Brown.
Presentano caratteristiche frattali e mostrano un
comportamento casuale o caotico a seconda dei
valori di alcuni parametri critici che li descrivono.
Recente linea di ricerca, di grande attualita’, su cui
non si sa ancora molto: la sfida e’ aperta!!!
Formiche…
Andrea Fontana - DFNT
Bibliografia
Formiche…

A. Rotondi, P. Pedroni, A. Pievatolo
Probabilita’, Statistica e Simulazione
Springer

D.E. Knuth
The Art of Computer Programming
Addison-Wesley

P. Pedroni
Elementi di Simulazione
DFNT

A.K. Dewdney
Le Scienze, Settembre 1994
Andrea Fontana - DFNT