Visualizzazione post con etichetta Wolfram. Mostra tutti i post
Visualizzazione post con etichetta Wolfram. Mostra tutti i post

giovedì 5 settembre 2013

Sistemi complessi: adattamento, emergenza e prevedibilita’

 

Secondo il metodo scientifico tradizionale (quello di Galileo, Newton e Laplace per intenderci) per analizzare un problema bisogna isolarlo e semplificarlo per arrivare ad una formalizzazione matematica che permettera’ poi di trovare le possibili soluzioni (riduzionismo).

Una delle caratteristiche principali del riduzionismo e’ quella di cercare dei principi fisici che possano essere ricondotti ad un piccolo insieme di leggi fondamentali, una teoria finale che dovrebbe essere espressa in termini della fisica delle particelle.

E’ conoscenza comune, comunque che i sistemi viventi mostrano strutture e processi complessi, come il sistema immunitario, la mente, la rete metabolica e cosi via. La complessita’ e presente anche nel mondo inanimato come per esempio nelle strutture delle galassie. Quindi il riduzionismo contrariamente alla complessita’ cerca di spiegare tutto con un piccolo insieme di semplici leggi che dovrebbero spiegare l’esistenza dell’ordine nell’Universo. Se alla fine tutto si riduce a delle particelle elementari e poche leggi fisiche, da dove viene l’ordine (complessita’) presente nel nostro Universo? In altre parole il programma riduzionista non puo’ essere completo senza spiegare l’emergenza della complessita’.

Il riduzionismo si e’ dimostrato molto efficace per diversi problemi, come la costruzione di un palazzo, di un ponte, le automobili e i computer essendo questi dei sistemi caratterizzati da poche variabili non fortemente intercorrelate tra loro. In poiu’ questi problemi non cambiano nel tempo: la gravita’, il combustibile, le proprieta’ elettriche... sono tutte costanti nel tempo.

Ci sono due situazioni in cui questo approccio tradizionale non funziona. Una e’ quando il sistema ha molte variabili; in questo caso non e’ possibile trovare delle soluzioni a causa del tempo richiesto per l’analisi. Si possono solo applicare delle tecniche di ottimizzazione per avvicinarsi alla soluzione reale.

L’altra e’ quando il problema cambia nel tempo e quindi ogni possibile soluzione sara’ gia’ obsoleta appena trovata. In questo caso non e’ possibile fare alcuna previsione sull’evoluzione futura e le tecniche classiche diventano inadeguate.

L’impossibilita’ per molti sistemi fisici di fare delle previsioni accurate e’ stata sollevata dalla teoria del caos deterministico nei primi anni sessanta. E’ chiaro che un sistema deterministico porta a pensare ad un qualche cosa di prevedibile secondo quanto affermato da Laplace: se si conoscessero tutte le posizioni e velocita’ delle particelle presenti nell’universo, applicando le leggi di Newton, sarebbe possibile conoscere gli eventi passati e futuri del nostro universo.

In effetti ci sono diversi punti oscuri con la visione semplicistica di Laplace.

1. Anche con una descrizione completa di tutte le particelle dell’universo non saremmo capaci di fare previsioni sui vari fenomeni a diverse scale. La vita, la mente, i sogni, le emozioni l’immaginazione, l’economia, le guerre per citarne alcuni. Tutti questi fenomeni sono reali ed hanno un impatto sul mondo fisico, ma non possono essere descritti in termini di leggi delle particelle.

2. Un modello completo dell’universo per forza deve contenere il modello stesso. Questo porta ad un paradosso. Se il modello descrive l’universo e allo stesso tempo e’ parte dell’universo esso deve contenere se stesso infinite volte.

3. L’irreversibilta’ termodinamica ci ha insegnato che non e’ possibile risalire a tutti gli eventi del passato. Per esempio, se ci sono due stati che portano entrambi ad un stesso stato, una volta che siamo nell’ultimo stato non e’ piu’ possibile stabilire da quale dei due stati precedenti si e’ partiti.

4. Il determinismo non implica necessariamente la prevedibilita’. Questa e’ limitata nei sistemi caotici in quanto essi sono sensibili alle condizioni iniziali.

Nei sistemi caotici, stati iniziali molto simili possono portare a stati futuri completamente diversi tra loro. Per esempio una variabile con un valore di 1.3232323232 puo’ portare ad un valore finale di 0.3 mentre un valore iniziale di 1.3232323233 puo’ portare per esempio ad un valore finale di -3 indipendentemente dalla precisione delle nostre misure (questo comportamento puo’ essere misurato con gli esponenti di Lyapunov indicati con lambda). Questo comporta la non prevedibilita’ a lungo termine dei sistemi caotici.

Indicando con eo l’incertezza iniziale sempre presente, questa si propaga secondo la legge esponenziale riportata nella figura qui sopra dove l e’ il massimo esponente di Lyapunov. Nell’ipotesi di volere un incertezza massima minore o uguale ad 1 questo implica un tmax dato da

tmax=(1/l)ln(1/eo )

Questo significa che per quanto possa essere piccolo il tasso di crescita esponenziale l, se l>0 , per poter raddoppiare il tempo di previsione bisogna diminuire di molti ordini di grandezza l’incertezza iniziale raggiungendo inevitabilmente dei limiti invalicabili.

Un esempio classico di sistema caotico e’ quella della previsione meteo. Questa e’ limitata non perche’ la dinamica dell’atmosfera e’ sconosciuta agli scienziati ma perche’ nella dinamica dell’atmosfera e’ presente del caos a causa della dipendenza sensibile dalle condizioni iniziali. Anche se la precisione con cui riusciamo a determinare le condizioni iniziali venisse aumentata, la previsione non potrebbe essere fatta con alta confidenza per piu’ di due o tre giorni.

Un altro esempio di sistema con prevedibilita’ limitata e’ il traffico stradale. La dinamica dei veicoli e’ descritta dalla meccanica classica ma ci sono dei fattori aggiuntivi che vanno tenuti in conto che possono influenzare il movimento delle automobili (per esempio una bassa visibilita’, una strada bagnata, dei lavori in corso, un autista distratto, un autista sotto effetto dell’alcol, la presenza di pedoni etc. etc.)

E’ possibile provare a predire la futura posizione di un auto, ma questa previsione sara’ limitata nel tempo a non piu’ di un paio di minuti. Piccoli cambiamenti nella traiettoria di un veicolo possono portare a degli effetti significativi sul traffico di un ‘intera citta’. Questo e’ dovuto al numero elevato di interazioni tra ogni veicolo e il suo ambiente esterno: pedoni, semafori, pioggia etc. Queste interazioni sono alla base dei sistemi complessi.

Vediamo un attimo cosa si intende con complessita’. Etimologicamente il termine deriva dal latino plexus, che significa intrecciato. In altre parole, un sistema complesso e’ difficile da separare. Questo perche’ le interazioni tra le sue componenti sono rilevanti, visto che il futuro di ogni elemento dipende inesorabilmente dallo stato degli altri elementi.

Esempi di sistemi complessi sono ovunque: cellule, cervello, citta’, internet, mercati, colonie di insetti, ecosistemi, biosfera, popolazioni, terremoti, traffico solo per citarni alcuni. Tutti questi sistemi sono costituiti da elementi che interagiscono generando un comportamento del sistema che dipende dagli elementi stessi e dalle loro interazioni. Per esempio le cellule sono fatte di molecole; le cellule sono vive mentre le molecole no. Da dove viene quindi la vita? Questa viene dall’interazione delle molecole. Allo stesso modo il cervello e’ formato da neuroni e molecole; il cervello e’ capace di ragionare, immaginare, calcolare. Queste proprieta’ non sono presenti nei componenti (neuroni e molecole) ma sono generate dalla loro interazione. E’ proprio a causa della rilevanza delle interazioni che non e’ possibile ridurre il comportamento del sistema a quello delle sue parti. Le interazioni generano nuova informazione che non e’ presente nelle parti del sistema ma e’ essenziale per il suo comportamento.

Un classico esempio di complessita’ e’ il gioco della vita di Conway dal nome del matematico che l’ha inventato nel 1982. Esso consiste in un reticolo digitale in cui ogni cella puo’ prendere due valori: 1 (cella viva) e 0 (cella morta). Lo stato di ogni cella dipende dai suoi 8 primi vicini (N, NE, NO, S, SE, SO, E, O): se ci sono meno di due celle intorno ad una cella viva, questa muore di “solitudine”. Se ci sono piu’ di 3 celle vive, la cella centrale muore lo stesso a causa della “sovrappopolazione”. Se ci sono esattamente 2 o 3 celle vive la cella centrale rimane viva. Se intorno ad una cella morta ci sono esattamente 3 celle vive questa cambia il suo stato da morta a viva.

 

I primi vicini di ogni cella nel gioco vita.

Queste regole semplicissime riescono a produrre un comportamento di alta complessita’. Esistono certe strutture stabili che possono emergere da condizioni inziali del tutto casuali. Allo stesso modo esistono strutture oscillanti che ripetono un pattern dinamico con un ben determinato periodo.

 

Alcune iterazioni del gioco vita partendo da una struttura a croce con 12 celle vive (in nero).

Evoluzione di una colonia di batteri inizialmente composta da 4 batteri formanti un triangolo. Dopo 10 generazioni si ottiene un pattern ricorrente chiamato "semaforo”.

Cannone con gliders che si spostano verso sinistra in basso.

Altre strutture invece si muovono sul reticolo (chiamate gliders) con una velocita’ ben determinata fino a quando non incontrano qualche altra struttura con cui interagiscono. C’e’ una varieta’ di pattern dinamici sorprendente e molti devono ancora essere scoperti.

Il gioco Life e’ stato dimostrato essere anche un computer universale nel senso che puo’ compiere (anche se molto piu’ lentamente) qualsiasi calcolo che puo’ fare un altro computer come un IBM o Mac. Posizionando infatti opportunamente i cannoni di gliders e’ possibile creare dei flussi continui che interagiscono tra loro come possono fare gli impulsi di elettricità all’interno dei fili elettrici.

Con questi blocchi e’ possibile costruire dei gates logici come AND, OR e NOT. Questi gates a loro volta possono essere utilizzati per realizzare circuiti piu’ complessi. Tutti i componenti necessari per disegnare un computer sono presenti in Life come dimostrato da Conway e altri studiosi.

 

Il gate logico AND dove gli inputs sono inseriti nella prima riga dell’automa con delle specifiche condizioni iniziali e il desiderato output e’ nell’ultima riga a destra.

 

E’ possibile che questa ricchezza di strutture possa essere prevista dalle regole del gioco e dalle condizioni iniziali? La risposta e’ no. Le proprieta’ su larga scala non possono essere determinate a priori. L’unico modo per conoscere lo stato finale del sistema Life e’ quello di farlo evolvere sullo schermo di un computer.

 

Evoluzione del gioco della Vita a partire da una condizione casuale (a), dove le celle bianche sono quelle vive e le nere quelle morte. Dopo 410 passi (b), si formano alcune strutture stabili anche se ci sono ancora delle zone attive. Dopo 861 passi (c),alcune strutture sono state distrutte e altre sono state create. L’attivita’ continua nella parte bassa del reticolo. Dopo 1416 passi (d), la dinamica del sistema e’ periodica, con strutture stabili e oscillanti (Wilensky, 1999).

 

Sebbene il gioco Life e’ un universo discreto con delle regole molto semplici e una fisica perfettamente nota, non e’ stato ancora possibile esplorare l’intero mondo digitale ad esso associato. Ci sono diverse questioni che ancora non hanno una risposta e forse non l’avranno mai.

Un altro esempio di sistema complesso e’ dato dagli automi cellulari unidimensionali, studiati negli ultimi 20 anni da Stephen Wolfram che a loro ha dedicato diversi articoli e libri. Il gioco della vita e’ un automa cellulare a due dimensioni in quanto le celle sono disposte su di un piano.

Gli automi cellulari unidimensionali invece si sviluppano spazialmente su un riga di celle (l’asse x dello schermo del computer) e temporalmente lungo le righe inferiori dello schermo (l’asse y del monitor). Le celle di questi automi possono prendere due valori: zero e uno. Lo stato di ogni cella dipende dai suoi stati precedenti e da quelli dei suoi primi vicini (destra e sinistro). Questo significa che a partire dagli otto possibili stati (111, 110, 101, 100, 011, 010, 001, 000), verra’ assegnato un valore (zero o uno) per ogni combinazione. Poiche’ ci sono otto combinazioni e due possibili stati per ogni cella questo significa che ci saranno 2^8=256 diverse regole (11111111, 11111110, 11111101, ..., 00000000). Trasformando queste stringhe in base dieci ci si puo’ riferire ad esse con un numero (per es. la regola 10101010 corrisponde a 27+25+23+21=128+32+8+2=170). Tra queste 256 regole, alcune sono equivalenti tra loro e solo 88 mostrano avere delle dinamiche diverse.

Esistono delle regole che producono dei patterns ripetitivi molto semplici (per es. regole 254, 250). Altre regole producono delle strutture nidificate (per es, regole 90 e 22). Ci sono altre che producono dei patterns pseudo-casuali (per es. regole 30 e 45). Finalmente ci sono delle altre che producono strutture localizzate (per es. regola 119). Questi casi vengono illustrati nella nell’immagine seguente.

Similmente al gioco della Vita, ci sono delle strutture che persistono nel tempo e viaggiano nello spazio. Quando le strutture collidono, interagiscono e possono trasformarsi. Notare che ci sono interazioni a diverse scale: tra celle e tra strutture. Ma da dove viene tutta questa complessita’?

La risposta e’ semplice: dall’interazione delle celle.

Esempi di differenti classi di automi cellulari unidimensionali con uno stato iniziale costituito da una singola cella attiva nella riga iniziale (il tempo fluisce verso il basso). La regola 250 (a) produce dei patterns regolari (classe I). La regola 90 (b) produce dei patterns nidificati (classe II). La regola 30 (c) produce un output quasi casuale (classe III) mentre la regola 110 (d) genera delle strutture localizzate molto complesse (classe IV).

 

Automa cellulare unidimensionale regola 110 partendo da una condizione iniziale casuale.

Un altro automa cellulare unidimensionale con la proprieta’ della reversibilita’. Partendo da uno stato casuale (prima colonna a sinistra) l’automa passa da uno stato disordinato ad uno ordinato (colonna 4 da sinistra). Nella quinta colonna fino all’ultima a destra e’ mostrato l’automa usando come stato iniziale quello finale della colonna quarta. Notare la reversibilita’.

Regola 150 in domini finiti di larghezza 17,19 e 31 con periodi 15,510 e 31 rispettivamente.

  La complessita’ come gia’ detto porta con se l’impossibilita’ di fare previsioni. Comunque diversamente dai sistemi caotici questa impossibilita’ non nasce dalla dipendenza sensibile dalle condizioni iniziali ma dalla rilevanza delle interazioni e dalla nuova informazione che esse creano. Per esempio, lo stato futuro della semplice regola 110 non puo’ essere determinato senza far partire la simulazione al computer. Le strutture emergenti del gioco della Vita non possono essere predette a partire dalle sue semplici regole se il sistema non e’ stato fatto evolvere prima.

Quasi tutti i sistemi del mondo reale sono aperti e quindi interagiscono continuamente con l’ambiente circostante che a sua volta puo’ cambiare in continuazione. Questo fa si che sia praticamente impossibile fare delle previsioni a lungo termine. Per far fronte ai continui cambiamenti dell’ambiente esterno i sistemi complessi si adattano ad esso per far fronte a tutte le perturbazioni esterne. La differenza tra l’adattamento e la prevedibilita’ sta nel fatto che quest’ultima cerca di intervenire prima che una perturbazione influenzi il sistema. L’adattamento invece entra in gioco una volta che la perturbazione si e’ manifestata e il sistema cerca di adattarsi alla nuova situazione senza l’intervento umano.

Si puo’ dire che l’adattamento e’ un tipo di creativita’ come riportato dal fisico Kauffman nel 2008. I sistemi adattivi possono creare delle nuove soluzioni ai problemi. Ci sono diversi modi per creare un sistema adattivo. Uno di questi e’ l’uso del concetto di auto-organizzazione. Un sistema puo’ essere descritto come auto-organizzante se il suo comportamento dipende dall’interazione dei suoi elementi e non dal comportamento del singolo elemento o da una sorgente esterna. Tutti gli esempi riportati precedentemente possono essere visti come sistemi complessi auto-organizzati.

Un esempio di adattamento attraverso l’auto-organizzazione e’ stato proposto per il coordinamento del traffico (Gershenson 2005). Invece di provare a prevedere quando un flusso significativo di autovetture arriva ad un incrocio per gestire un semaforo, si puo’ pensare di dare la preferenza alla strada con piu’ alta domanda. In questo modo, i veicoli sulla strada con piu’ bassa domanda attenderanno un pochino di piu’, aumentando pero’ la probabilita’ che arrivino altri veicoli che si aggiungeranno a quelli in attesa. Una volta che la domanda supera una certa soglia il semaforo fa scattare il verde. Con queste semplici regole locali e senza una diretta comunicazione tra i semafori, viene promossa una sincronizzazione adattativa che aggiusta essa stessa alle condizioni del traffico.

Un tale sistema auto-organizzante ha mostrato di riuscire a ridurre i tempi di attesa del 50% con una notevole riduzione di soldi ed inquinamento. E questo semplicemente imitando quello che fa la natura da milioni di anni.

La maggior parte degli automi cellulare (per esempio quelli unidimensionali di Wolfram) non sono interessanti ( nel senso che la loro dinamica o e’ semplice o completamente casuale). Da qui la questione generale: dove si trovano gli automi cellulari interessanti all’interno dell’intero spazio delle regole possibili? Una risposta e’ venuta dallo scienziato Langton che ha suggerito che il comportamento complesso compare alla frontiera tra l’ordine e il caos (edge of chaos), cioe’ quando le regole (tramite qualche parametro particolare) si approssimano alla regione caotica allontanandosi dalla regione fredda dell’ordine. Ragionando allo stesso modo e’ arrivato alla conclusione che i sistemi viventi e quelli complessi possono solo esistere alla frontiera del caos dove l’informazione puo’ essere immagazzinata cambiata e trasmessa.

Gli automi cellulari hanno dimostrato di essere molto utili per analizzare una grande varieta’ di fenomeni naturali; questo perche’ la maggior parte dei processi fisici sono locali (le molecole interagiscono con quelle a loro vicine, i batteri con quelli che orbitano nelle loro vicinanze, le formiche e le persone principalmente con chi gli sta vicino....). Sebbene i fenomeni naturali siano continui, esaminando il sistema a passi discreti temporali non diminuisce la potenza dell’analisi. Quindi nel mondo artificiale degli automi cellulari e’ possibile scoprire un microcosmo simile a quello del mondo reale.

Una delle cose che salta all’occhio di tutti e’ l’ordine della Natura. Da un’ameba alle piante agli animali e all’universo stesso si trova un incredibile ordine ovunque. Questo fa nascere un’ovvia questione: da dove viene questo ordine? Come si e’ originato?

Una delle lezioni fondamentali degli automi cellulari e’ la loro capacita’ di auto-organizzarsi. Da semplici regole locali che nulla dicono circa il comportamento globale del sistema e’ possibile vedere l’emergere dell’ordine. Nelle parole del biologo teorico, Kauffman, si tratta di ordine a gratis. Ed e’ proprio quest’ordine a gratis che ci permette di emulare l’ordine che ritroviamo in Natura. Alla creazione dell’ordine e’ legato il concetto di complessita’. Come puo’ un insieme finito di molecole creare una persona umana capace di ragionare? Chiaramente il tutto e’ piu’ grande della somma delle singole parti. Come e’ possibile che le termiti riescano a costruire delle strutture molto complesse se il singolo individuo che inizia il nido non riesce nemmeno a vivere per il tempo necessario a finirlo?

La risposta come abbiamo visto l’hanno dato gli automi cellulari: tutto nasce grazie all’interazione locale tra i componenti del sistema che si auto-organizza (siano essi animati che inanimati).

Per chi voglia addentrarsi nel mondo degli automi cellulari, puo’ farlo utilizzando il programma free Mcell di Mirek Wojtowicz, che puo’ essere scaricato da sul sito http://www.mirekw.com/ca/

http://www.wikio.it