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 i1modm 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: zn1 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