giovedì 6 agosto 2015

Cambiare per non subire il cambiamento

 

In questo post tratteremo un tema di cui oggi si parla tanto: la resilienza. Si tratta di un termine che ritroviamo in diversi campi applicativi, dall’ingegneria all’informatica, dalla psicologia alla biologia, dalla fisica alla medicina.

Il termine resilienza deriva dal latino “resalio”, iterativo del verbo “salio”, che in una delle sue accezioni originali indicava l’azione di risalire sulla barca capovolta dalle onde del mare. Tradizionalmente la resilienza è stata legata agli studi di ingegneria, nello specifico alla metallurgia, dove tale termine indica la capacità di un metallo a conservare la propria struttura o di riacquistare la forma originaria dopo essere stato sottoposto a schiacciamento o deformazione. Nel recente passato il concetto di resilienza è stato approfondito anche in ambito psicologico. Nello specifico, per la psicologia Wikipedia riporta:

La resilienza è la capacità di far fronte in maniera positiva agli eventi traumatici, di riorganizzare positivamente la propria vita dinanzi alle difficoltà. È la capacità di ricostruirsi restando sensibili alle opportunità positive che la vita offre, senza perdere la propria umanità. Persone resilienti sono coloro che immerse in circostanze avverse riescono, nonostante tutto e talvolta contro ogni previsione, a fronteggiare efficacemente le contrarietà, a dare nuovo slancio alla propria esistenza e perfino a raggiungere mete importanti.

E dalla psicologia al management il passo e’ breve. Un'azienda è un'attività organizzata attorno a risorse umane cooperanti e strutturate per il raggiungimento di un obiettivo economico, che interagisce con l’ambiente circostante. Le persone quindi assumono un ruolo centrale, come anche la loro rete di relazioni sia all’interno che all’esterno dell’azienda.

Pertanto se l'azienda  è un'entità costituita da molti individui, i processi relativi alla resilienza potranno esserle applicati così come  si applicano agli individui. Un'azienda resiliente sarà  in grado di recepire le minacce sia interne che esterne e trasformarle in opportunità di esperienza e di crescita.   

Aristotele e in seguito la teoria della complessita’ sostengono che "il tutto è più della somma delle parti"  così un'organizzazione resiliente, è composta da individui resilienti   che :

- si confrontano,

- si scambiano idee ed opinioni, 

- costruiscono sinergie,

- modificano la loro organizzazione,

il tutto in un'azione simultanea convergente verso un obiettivo comune e condiviso.

L'azione risulta essere più efficace e potenziata rispetto alla semplice somma delle azioni individuali dei singoli.

Darwin ci ha insegnato che a sopravvivere non sono solo gli animali più forti, ma anche quelli più reattivi, pronti e sensibili al cambiamento.   

La maggior parte di noi, infatti crede che per far fronte alle avversita’ e alle sollecitazioni della vita bisogna essere forti, avere coraggio. Per resistere un sistema va irrobustito in modo da assorbire le sollecitazioni prevedibili. Ma tutto cio’ si e’ dimostrato non vero. Le strutture piu’ robuste ai rischi prevedibili si sono dimostrate essere le piu’ fragili di fronte all’imprevisto, ai rischi non previsti. Non a caso John Doyle un ricercatore di reti complesse del Caltech Institute ha coniato il termine “robusto ma fragile” per questi sistemi. Pensate ad un aereo. Si tratta di un sistema che resiste alla maggior parte dei rischi prevedibili tanto e’ vero che il numero di incidenti e’ molto basso se rapportato a quello delle autovetture. Ma cosa succede di fronte all’imprevisto? Il piu' delle volte il disastro. Il sistema mostra tutta la sua fragilita’. Solo grazie alla morte di altre centinaia di persone avremo imparato qualche cosa di nuovo e in tal modo aumentata la sicurezza dei passeggeri. Ma come mai il numero di incidenti aerei e’ cosi basso se si tratta di un sistema robusto ma fragile? Semplicemente perche’ gli eventi imprevisti sono molto rari, sono i cosiddetti cigni neri di Taleb, quelli che popolano l’estrema coda della distribuzione. Gli eventi prevedibili invece seguono una distribuzione quasi Gaussiana e vivono lontani dalle code. Questo e’ quello che piu’ o meno raccontano i diversi libri e blog sulla resilienza. Ma da un punto di vista scientifico cosa significa dire che un sistema complesso e’ resiliente?

Per poter comprendere tale proprieta’ e’ necessario introdurre il concetto di sistema multistato e di bacino di attrazione.

Per fare cio’ utilizziamo un pendolo magnetico come quello rappresentato di seguito. Abbiamo una pallina metallica attaccata ad un filo libera di oscillare nello spazio con un disco alla sua base e tre magneti fissati ai vertici di un triangolo equilatero. E’ chiaro che una volta messa in movimento la pallina (nell’ipotesi in cui la resistenza dell’aria sia trascurabile) finira’ la sua corsa su uno dei tre magneti che l'avra' attirata grazie alla forza magnetica. Ma su quale magnete finira’ la sua corsa? Dipende dal punto di partenza del pendolo. Senza ricorrere alla matematica, e’ abbastanza intuitivo rendersi conto che se il pendolo parte in un punto (x,y) del piano vicino ad un magnete rispetto agli altri due con molta probabilita’ si blocchera' su quest’ultimo. Se parte dal centro essendo i tre magneti disposti alla stessa distanza dal centro la pallina non si muovera’ e cosi via.

Da un punto di vista matematico il comportamento di questo pendolo puo’ essere descritto tramite una superficie con tre buchi in corrispondenza dei magneti [si tratta della cosiddetta superficie di potenziale V(x,y)]. Se pensiamo ad una pallina (il nostro pendolo) poggiata su questa superficie a seconda della sua posizione di partenza cadra’ in uno dei tre pozzi che rappresentano i tre stati (multistati) stabili del sistema.

L’insieme di tutti i punti del piano che portano il pendolo sullo stesso magnete (stato stabile) si chiama bacino di attrazione. In questo caso possiamo giustamente pensare che ci saranno tre bacini di attrazione con dei confini ben distinti. Ma nella realta’ non e’ cosi. Nell’ipotesi di colorare i tre magneti col blue, giallo e rosso questo sara’ l’immagine che si presentera’ ai nostri occhi. Che dire? Bellissima.

Tre regioni di forma quasi triangolare con un colore ben definito con intorno un miscuglio dei tre colori come in un caledoiscopico disegno astratto. Questo significa che, se per esempio, il pendolo parte da un punto (x,y) del piano situato nella regione blue esso finira’ con l’essere attratto dal magnete identificato con questo colore. Se parte da una regione di colore rosso esso verra’ attratto dal magnete identificato dal colore rosso e cosi di seguito. Ma cosa succede se lo facciamo partire ai confini tra regioni di diverso colore? Si dimostra in modo rigoroso che questo spazio e’ frattale con strutture ripetitive alle diverse scale. Questo significa che se ad una certa scala di ingrandimento il pendolo sembra partire dalla zona di confine tra due colori, ad una scala piu’ spinta rivedremo comparire di nuovo i tre colori come mostrato nella figura sottostante. Quindi il pendolo non potra’ atterrare su nessuno dei tre magneti e sara’ destinato per l’eternita’ a seguire una traiettoria caotica nel senso che non ritornera' mai sui suoi passi.

Adesso che abbiamo chiarito il concetto di stato stabile, bacino di attrazione e sistema multi-stato possiamo finalmente parlare di resilienza.

La misura della stabilita’ di un sistema ad assorbire perturbazioni esterne senza essere spinto in un bacino di attrazione alternativo e’ molto importante. Per tale misura Holling nel 1973 suggeri’ il termine “resilienza”. Ma nella pratica come e’ possibile misurare la resilienza di un sistema? In genere lo spostamento verso un bacino di attrazione alternativo e’ invisibile nel senso che non ci sono effetti apparenti sullo stato del sistema quando questo si approssima ad un cosiddetto punto critico prima di precipitare nel nuovo stato a cui e’ sotteso un diverso bacino di attrazione. La perdita di resilienza avviene se il bacino di attrazione dello stato di equilibrio presente si riduce facendo aumentare la probabilita’ di portare il sistema in un nuovo bacino di attrazione in seguito a qualche evento stocastico. Quindi c’e’ la necessita’ di trovare degli indicatori indiretti che possano essere misurati direttamente. Al momento si sa che le due caratteristiche principali di sistemi che possono subire transizioni critiche sono: l’eterogeneita’ dei componenti e la loro connettivita’. Sistemi in cui le diverse componenti differiscono tra loro e non sono tutte inter-collegate tra loro (bassa connettivita’) tendono ad essere adattativi nel senso che si adattano al cambiamento in modo graduale. Al contrario i sistemi fortemente connessi e omogenei le “perdite” locali tendono ad essere riparate dai nodi vicini fino a che non si raggiunge un livello critico e il sistema collassa.

Questa situazione implica una continua lotta tra una resilienza locale e sistemica. Una forte connettivita’ promuove un'elevata resilienza locale ma a lungo andare il sistema puo’ raggiungere un punto critico dove la perturbazione locale puo’ generare un effetto domino che innesca una transizione sistemica. In tali sistemi (come barriere coralline e banche) il ripetuto recupero in seguito a piccole perturbazioni puo’ far pensare ad un sistema resiliente mascherando cosi l’avvicinamento ad un punto critico. Le barriere coralline, per esempio, prima del collasso subito nel 1980 a causa di una malattia dei ricci di mare erano ritenute sistemi altamente resilienti in quanto fino ad allora avevano sempre assorbito senza gravi danni le tempeste oceaniche e altre perturbazioni locali. In generale gli stessi prerequisiti che permettono il recupero da danneggiamenti locali possono portare un sistema ad un collasso su larga scala. Ma torniamo adesso ai possibili indicatori. Una linea di lavoro particolarmente attiva nell’ambito ecologico e' arrivata alla scoperta che in prossimita’ di un punto critico la velocita’ con cui il sistema recupera lo stato iniziale (in seguito ad una perturbazione) e’ determinante per stabilirne la sua resilienza. Piu’ la velocita’ di recupero diventa bassa (cioe’ il sistema ritorna al suo stato iniziale molto lentamente) e piu’ aumenta la probabilita’ che il sistema si trovi in prossimita' di una transizione critica (questo fenomeno in inglese e’ conosciuto come critical slowing down). Nell’immagine di seguito i bacini di attrazione vengono rappresentati come valli. Un sistema resiliente e’ uno che ha delle valli significativamente profonde da cui non e’ facile far uscire un'eventuale pallina (che nel nostro caso rappresenta lo stato del sistema) con una perturbazione stocastica. Il lento recupero del sistema in una situazione di bassa resilienza e’ dovuto alla bassa pendenza del bacino di attrazione (B) rispetto all’elevata pendenza del caso resiliente (A).

Un sistema nelle vicinanze di un punto critico diventa sensibile alle condizioni iniziali e una piccola spinta puo’ provocare un grande cambiamento. Si tratta del cosiddetto principio di Pareto 20/80. Una variazione del 20% nelle condizioni inziali comporta una variazione del 80% sull’uscita del sistema. La stessa legge e’ conosciuta anche come "effetto farfalla". In un sistema caotico, cioe’ un sistema con dipendenza sensibile dalle condizioni iniziali, un battito di ali a New York puo’ generare una tempesta a Rio. Il lento recupero dello stato iniziale si accompagna anche al cosiddetto effetto memoria e all'aumentata varianza come mostrato in G,H e D,F. La varianza e’ una misura dell’ampiezza della distribuzione mentre l’effetto memoria e’ legato alla cosiddetta autocorrelazione cioe’ alla correlazione tra lo stato del sistema al tempo t e al tempo t+1 (vedi G e H). I sistemi con bassa resilienza mostrano un recupero dalle perturbazioni molto lento, elevata varianza e un effetto memoria spinto.

In vicinanza di un punto critico (spesso anche chiamato un punto di biforcazione catastrofico) e' possibile osservare un altro effetto: quello dello “sfarfallamento” o flickering come si dice in inglese. Questo accade se la perturbazione e’ forte abbastanza da muovere il sistema avanti e indietro tra due bacini di attrazione alternativi una volta che il sistema entra nella regione bi-stabile (vedi B e D nell'immagine sottostante). Ad un certo punto il sistema puo’ spostarsi definitivamente in uno dei due stati e stabilizzarsi in esso (vedi C ed E). Questo tipo di segnale e’ stato rilevato per esempio nei cambi climatici improvvisi e prima di attacchi epilettici. Chiaramente in presenza di flickering la distribuzione degli stati del sistema subisce un aumento della varianza, code pronunciate e bi-modalita’ (che riflette i due regimi alternativi – vedi B e C).

.

Nell’immagine di seguito e’ ancora piu’ chiaro quello che avviene in prossimita di un punto di biforcazione (transizione critica). Quando il sistema e’ lontano dal punto di biforcazione (critical point) la buca associata al bacino di attrazione e’ profonda e qualsiasi perturbazione stocastica e’ velocemente recuperata (la pallina ricade velocemente verso il punto minimo della buca). Man mano che il sistema si avvicina al punto critico, la profondita’ della buca associata al bacino di attrazione diventa sempre meno profonda e questo comporta un recupero piu’ lento (pareti meno ripide). Nel momento in cui il sistema arriva nel punto di transizione la buca scompare del tutto e qualsiasi perturbazione portera’ il sistema in un nuovo stato cioe’ in un nuovo bacino di attrazione.

Sebbene la ricerca sugli indicatori empirici di robustezza e resilienza sia solo agli inizi esiste gia’ un elevato numero di modelli e di pubblicazioni specifiche. La maggiore sfida rimane lo sviluppo di procedure robuste per stabilire in anticipo le transizioni critiche. Uno dei problemi principali e’ che i metodi richiedono un’alta risoluzione temporale. Quindi bisogna studiare anche altri indicatori non legati necessariamente alle serie temporali. In molti sistemi per esempio, governati da perturbazioni locali, in prossimita’ di una transizione critica svaniscono le leggi di potenza presenti in un ampio range del parametro di controllo. Piu’ volte su questo blog abbiamo parlato di legge di potenza e della sua ubiquita’ in natura. Non potevano quindi mancare anche nell’ambito della resilienza. Alcuni ecologisti infatti, hanno stabilito che la distribuzione della dimensione delle macchie di vegetazione per un ecosistema in regioni aride del mediterraneo devia da una legge di potenza prima di una transizione critica (desertificazione).

Qui di seguito un esempio di legge di potenza  per questi ecosistemi. Sull’asse y viene riportato il numero di macchie di vegetazione di dimensione S e sull’asse x la dimensione S stessa. Il grafico e’ bi-logaritmico e quindi la legge di potenza appare come una retta.

Questa distribuzione ci dice che in questi ecosistemi esistono moltissime macchie di vegetazione di piccole dimensioni e ogni tanto qua e la si trovano delle macchie di dimensioni molto grandi. Cosa succede se cambia il clima e il sistema diventa sempre piu’ arido? La distribuzione delle macchie di vegetazione comincera’ a seguire una distribuzione che in scala bi-logaritmica si allontanera’ sempre piu’ da una retta come mostrato sotto.

Questo significa che se riportiamo su un grafico la percentuale di suolo coperto dalla vegetazione e sull’asse x un parametro che indichiamo con b inversamente proporzionale all’aridita’ avremo un andamento ad iperbole. Una volta che il valore di b si avvicina a 0.3 la quantita’ di vegetazione precipitera' velocemente verso lo zero e non ci sara' piu’ modo di tornare indietro. Il deserto avra’ conquistato altri metri.

Altri studiosi hanno trovato che i sistemi complessi con strutture regolari autorganizzate in prossimita’ di una transizione critica seguono una sequenza prevedibile di pattern spaziali. Qui di seguito un grafico che riporta la risposta in termini di quantita’ media di vegetazione per un modello di ambiente semi-arido all’aumentare della siccita’. La linea continua rappresenta la densita’ di vegetazione all’equilibrio. Le tre immagini piccole al di sopra della curva rappresentano le mappe spaziali della vegetazione con quest’ultima rappresentata dal colore nero e il suolo libero dal colore chiaro. Come il sistema si avvicina alla transizione critica (il punto di biforcazione) la natura del pattern cambia da una forma labirintica ad una punteggiata.

Ritorniamo di nuovo al concetto di “robusto ma fragile”. Un sistema con scarsa resistenza (poco robusto) e alta resilienza (non fragile) in seguito ad una perturbazione si allontana dallo stato di equilibrio per poi ritornarci velocemente. Quello con bassa resilienza invece non si allontana molto dallo stato di equilibrio (robusto) e impiega molto piu’ tempo per ritornare al punto di partenza sempre che non entri in un regime catastrofico da cui non potra’ piu’ uscire cambiando cosi completamente stato.

Sistema poco robusto ma resiliente

Sistema robusto ma poco resiliente

 

Data l’importanza delle transizioni critiche (effetto soglia) e la difficolta’ di prevederle in anticipo come puo’ un sistema mantenere la sua resilienza? Una ricetta universale purtroppo non esiste. Dagli studi effettuati in campi diversi (dalla fisica al management, dalla chimica alla psicologia) sono emerse comunque alcune regole generali:

· Mantenere un elevato grado di diversita’ soprattutto nella risposta

· Cercare di mantenere una stuttura modulare evitando sovra-connessioni

· Rispondere rapidamente ai cambiamenti

· Garantire l’apertura del sistema nel senso di permettere lo scambio continuo con l’ambiente     circostante

· Incentivare continuamente l’innovazione e la creativita’

· Elevato capitale sociale (reti di relazioni)

· Leadership generativa

Seguendo il concetto di “robusto ma fragile” bisogna ovviamente fare attenzione a non confondere la resilienza con la resistenza al cambiamento. Al contrario come visto un sistema nel tentativo di evitare cambiamenti e turbative riduce la sua resilienza che va intesa come capacita' di trasformazione e adattabilita’. Se un cambiamento peggiorativo e’ inevitabile l’unica possibilita’ per sopravvivere e’ la trasformazione del sistema o di sue parti in alcune piu’ adatte alla nuova condizione. La resilienza in breve consiste nell’imparare a cambiare per non subire il cambiamento. I sistemi resilienti sono quelli capaci di mettersi al sicuro nel momento in cui stanno per fallire e non quelli che cercano di stare al sicuro dai fallimenti. I cigni neri di Taleb non si possono evitare ed e’ difficile prevederli. Ma questo non significa che non dobbiamo prenderne atto ed essere preparati alla catastrofe. Un mondo di tipo Gaussiano purtroppo non esiste. La natura gioca con le code delle distribuzioni, le leggi di potenza e la geometria frattale. E di questo dobbiamo esserne consapevoli.

domenica 21 giugno 2015

Nessuno sa tutto....ognuno sa qualche cosa

 

In natura esistono molti esempi di intelligenza collettiva: stormi di uccelli, branchi di pesci, colonie di formiche e termiti, colonie di batteri, insieme di cellule solo per citarne alcuni. Ma perche’ questi sistemi sono cosi interessanti da meritare una branca della scienza, il lavoro di molti ricercatori e tanti articoli pubblicati negli ultimi anni? Si tratta di sistemi costituiti da tantissimi individui non “intelligenti” che collettivamente riescono a fare qualche cosa che come singoli individui non riuscirebbero a fare mai. Quindi l’intelligenza non come la composizione delle singole intelligenze ma come una proprieta’ completamente assente nel singolo e presente solo nel tutto. L’intelligenza emerge dall’interazione delle singole entita’, e’ una proprieta’ del sistema nel senso che e’ il sistema che fa qualche cosa di intelligente. Questo fa si che intelligenza collettiva o “swarm intelligence” non sia una proprieta’ accidentale in natura ma piuttosto una proprieta’ comune a tanti sistemi per cui e’ possibile che l’evoluzione abbia giocato un ruolo per il suo sviluppo. Se ci pensiamo un attimo, in effetti anche il nostro cervello e’ l’insieme di tantissime unita’ (i neuroni), che da soli non sarebbero capaci di fare nulla ma la cui interazione invece fa emergere quella che tutti noi chiamiamo mente.

Gli ingredienti fondamentali dell’intelligenza quindi sono il numero di singoli individui (eventualmente stupidi) e l’interazione tra di essi. Questo comportamento emergente non nasce da scelte razionali, da analisi ingegneristiche o dall’azione di qualche leader; nessun agente nel gruppo agisce per far si che l’intero sistema si comporti come noi vediamo. L’intelligenza viene fuori magicamente nonostante i singoli agenti non abbiamo alcuna visione globale nel senso che non sanno a livello globale cosa succedera’ e non hanno minimamente coscienza di fare qualche cosa di intelligente. In questi sistemi si passa dal locale al globale: dalle interazioni locali al comportamento globale. E’ come passare dal disordine all’ordine dove emerge in modo chiaro un pattern (schema) organizzativo del sistema. Questo si auto-organizza da solo senza nessun intervento esterno. Cio’ non significa comunque che il sistema non sia adattativo. Anzi e’ vero il contrario. Esso puo’ adattare il suo comportamento globale a cambiamenti esterni riorganizzandosi. In altre parole i sistemi con intelligenza collettiva si adattano al contesto una volta che percepiscono un suo cambiamento riorganizzandosi strutturalmente. Ogni agente vede quello che fa un altro e adatta il suo comportamento al gruppo seguendo delle semplici regole. Questa capacita’ include alcuni fenomeni di feed-back contrastanti. Il feed-back positivo sollecita gli altri individui a fare la stessa cosa apparendo cosi ad un osservatore esterno come un gruppo che si muove in modo organizzato. Il feed-back negativo invece contribuisce ad evitare che il comportamento dell’intero sistema converga verso un unico stato e quindi il raggiungimento di uno stato stabile. In questi sistemi c’e’ una continua tensione tra questi due tipi di feed-back cioe’ tra il rafforzamento e l’inibizione di certi comportamenti. E questo e’ quello che accade nella maggior parte dei sistemi che si auto-organizzano come per esempio gli automi cellulari (vedi altri post su questo blog), i mercati, le reti complesse, i terremoti. I sistemi complessi come quelli con intelligenza collettiva, spesso si basano anche su scelte individuali semplicemente casuali nel senso che c’e’ una certa probabilita’ associata alle diverse opzioni di comportamento. Perche’ questo? Per raggiungere lo stato critico che noi chiamiamo auto-organizzazione indipendentemente dallo stato di partenza, cioe’ per “scappare” dai minimi locali e quindi reagire in modo adeguato alle perturbazioni esterne. E’ proprio questa caratteristica insieme a quella dei feed-back a far si che questi sistemi siano adattativi. Non c’e’ alcuna configurazione finale da raggiungere. Se cosi’ fosse il sistema non si adatterebbe e sarebbe destinato alla morte termica, ad un vero e proprio congelamento. Questo e’ l’analogo dello stato solido. Struttura rigida ben definita. Sistema all’equilibrio. Flessibilita’ alle perturbazioni esterne praticamente nulla. Il sistema deve avere la capacita’ di esplorare continuamente nuove configurazioni, ad avere sempre delle alternative pronte verso cui migrare. Quando le condizioni esterne cambiano e quindi il livello di auto-organizzazione non e’ piu’ soddisfacente, un pizzico di casualita’ permette di trovare nuove soluzioni migliori e il feed-back positivo di assicurare che questa diventi la nuova configurazione rinforzandola. Ma questo solo fino alla successiva perturbazione. Come detto precedentemente uno degli ingredienti piu’ importanti per tali sistemi e’ il numero di agenti. Per raggiungere l’autorganizzazione in modo robusto e adattativo al tempo stesso, c’e’ bisogno di tantissimi agenti per poter esplorare l’intero spazio delle fasi e per tollerare la perdita locale di alcuni componenti (ridondanza). In altre parole per far si che il sistema si adatti. Mentre una grande percentuale di agenti sono impegnati a fare il loro lavoro, i rimanenti possono impegnarsi nella ricerca di nuove soluzioni alternative. I diversi componenti irrazionali quindi sono autonomi, agiscono e interagiscono su scala locale, sono situati in un ambiente e rispondono alle sue sollecitazioni. Comunque non tutti i sistemi con intelligenza collettiva sono formati da elementi “stupidi”. Pensate per un attimo ai mammiferi o a noi umani. I gruppi di castori costruiscono delle vere e proprie dighe nei fiumi, i lupi collaborano per circondare una preda e gli umani formano dei pattern particolari quando si muovono come folle di persone. Questo implica che a volte la potenza delle interazioni supera la potenza degli individui indipendentemente dalla razionalita’ dell’individuo; cio’ che conta e’ solo il tipo di interazione cioe’ il modo in cui agisce e interagisce nel sistema e non tanto quello che lui pensa. E c’e’ anche un ruolo per le variabili stocastiche (casualita’) cosi come visto per gli agenti irrazionali. Nel caso di agenti intelligenti il fatto stesso di effettuare azioni razionali diverse da quelle del gruppo possono essere percepite come una sorta di comportamento probabilistico. Questo significa che gli essere umani un giorno potrebbero sviluppare una swarm intelligence? Gli ingredienti ci sono: elevato numero di unita’ e interconnessione sempre piu’ spinta specialmente con l’entrata in scena dell’internet delle cose. Potrebbe esserci pero’ la possibilita’ di non accorgercene visto che l’intelligenza collettiva e’ di gran lunga superiore a quella dei singoli individui. In effetti una “swarm intelligence” potrebbe essere gia’ in atto. Un’altra differenza tra noi e colonie di animali e’ la seguente. Una colonia di termiti e’ intelligente abbastanza da costruire una tana con un sofisticato intrigo di strade con aperture per un corretto condizionamento. E questo senza un leader o un progettista. Ma cio’ differisce completamente, per esempio, dalla costruzione di una citta’ da parte di esseri umani. Moltissime persone infatti sono sufficientemente intelligenti da riuscire a costruire da sole case, ponti, strade, monumenti, piazze. Due persone hanno piu’ conoscenza di una sola, ma potrebbe bastare un meeting o una discussione per conoscere entrambi la soluzione. Noi umani possediamo capacita’ comunicative e computazionali che tendono a favorire il controllo centralizzato di un supervisore intelligente. Nel caso degli animali queste capacita’ non ci sono o sono molto limitate. Questo spiega il perche’ della decentralizzazione del controllo. Nessuna specie di insetti sociali ha sviluppato una rete di comunicazione per favorire il flusso efficiente e veloce di informazioni da e verso un manager centrale. Nessun insetto e’ capace di processare una grande quantita’ di informazioni. Mancano quindi i presupposti per un controllo centralizzato e l’unica soluzione sviluppata dalla natura e l’evoluzione e’ semplicemente l’auto-organizzazione.

Un’altra differenza e’ il gap limitato tra l’intelligenza collettiva emergente e quella delle singole unita’ nel caso di un team di persone rispetto a quello costituito da animali. Cio’ non e’ vero invece per il nostro cervello dove le singole unita’ non hanno un’ intelligenza propria e reagiscono a dei semplici stimoli elettrici proprio come succede per gli sciami di animali. Questo spiega perche’ per noi umani abituati al controllo centralizzato risulta cosi difficile capire i meccanismi di controllo decentralizzato utilizzati dalla natura. Le molecole di una cellula, le cellule di un organismo, gli organismi di un gruppo aggiustano continuamente le loro attrivita’ sulla base di informazioni limitate e localizzate. Questi sistemi auto-organizzati e’ cio che Dawkins ha chiamato “veicoli”: entita’ integrate che si sono evolute per favorire la sopravvivenza e riproduzione dei geni in essi contenuti. Quanto riportato fino ad ora stabilisce che un sistema biologico con nessuna capacita’ comunicativa e/o abilita’ computazionale, non puo’ che funzionare in modo decentralizzato. Se accettiamo questo punto di vista, allora un essere umano intelligente inserito in un sistema con carenze comunicative come per esempio i mercati finanziari, cioe’ un sistema con unita’ altamente intelligenti ma poco o per niente informate, puo’ comportare un controllo decentralizzato. Un altro esempio puo’ essere uno scenario di crowdsourcing (il rilancio telematico dell’idea di vox populi ) dove un’organizzazione (azienda o universita’) cerca il supporto di un gruppo sconosciuto e potenzialmente molto vasto di agenti intelligenti postando dei problemi irrisolti su Internet (vedi Innocentive.com oppure NineSigma.com). In questo caso allo stesso modo degli sciami, degli stormi e mandrie, gli umani seguono certe regole locali di interazione all’interno di un gruppo. In un contesto di crowdsourcing, queste regole locali evolvono nel tempo. Inizialmente, un comportamento caotico inizia a convergere in particolari pattern sociali e i membri della folla usano le loro conoscenze personali (locali) per interagire con gli altri agenti e contribuire cosi’ all’auto-organizzazione. Nella maggior parte dei casi, la folla si organizza senza un corpo centrale di controllo. Eppure in una folla abbiamo sia una buona capacita’ comunicativa che intelligenza. Quindi? Una possibile spiegazione per l’auto-organizzazione puo’ essere la seguente: le persone in genere non agiscono per il bene della folla ma per il bene di se stessi e questo ad un osservatore esterno e’ giudicato come un comportamento altamente irrazionale. E’ questo che promuove l’auto-organizzazione. Uno dei prerequisiti per il successo del crowdsourcing e’ il mantenimento della diversita’ della conoscenza e delle skills dei membri della folla ed evitare il groupthink. Con quest’ultimo termine si intende un gruppo sociale che cerca di minimizzare i conflitti e raggiungere il consenso senza un adeguata analisi e valutazione critica delle singole idee. Creativita’ individuale, originalita’ e autonomia di pensiero vengono sacrificati al perseguimento dei valori di coesione del gruppo. I motivi che inducono a simili comportamenti sono vari: tra essi vi può essere il desiderio di evitare di proporsi in situazioni che, nel giudizio del gruppo, possano essere tacciate come ingenue o stupide, il desiderio di evitare l'imbarazzo o l'ira di altri membri del gruppo, il possibile scontro con l’idea del capo. Il risultato di tali comportamenti, è un affievolimento dell'obiettività, della razionalità, e della logica, con esiti che possono anche assumere la forma del consenso su decisioni che appaiono disastrose e folli a chi le osserva dall'esterno. Scott E. Page nel 2008, grazie ad opportune simulazioni ha dimostrato l’importanza della diversita’ nell’esecuzione di task complesse. I gruppi con diversi agenti quasi sempre performano meglio di gruppi costituiti solo da agenti esperti. Per le piattaforme di crowdsourcing dove i risolutori non possono vedere le soluzioni di altri risolutori (questo e’ il caso quando ci sono dei premi monetari) la probabilita’ di avere groupthink e’ chiaramente ridotta. In questo caso l’auto-organizzazione e’ garantita dalla bassa capacita’ di comunicazione mentre rimane la capacita’ razionale dei tanti agenti. Sintetizzando, una volta che un problema e’ stato formalizzato ed esistono metodologie note per la sua soluzione, un gruppo di esperti ottiene facilmente la soluzione. Se queste metodologie non esistono, se non esiste una formulazione oggettiva del problema oppure se i criteri di valutazione della soluzione non sono stati formalizzati la diversita’ allora puo’ battere la competenza. Qui di seguito i passi principali del processo di crowdsourcing:

1) Delibera: un richiedente (organizzazione o privato) decide di usare delle risorse esterne per generare nuove idee o risolvere un problema.

2) Preparazione: il richiedente spesso sceglie un intermediario (information broker) come per esempio un sito web che mette in contatto il richiedente e la folla

3) Esecuzione: il richiedente posta un problema sul sito del broker. I risolutori si auto-organizzano e auto-selezionano i problemi pubblicati che piu’ gli interessano

4) Valutazione: le idee sottomesse tramite il sito web vengono raggruppare, votate e la migliore idea viene premiata

5) Post-processo: le idee collezionate vengono trasmesse all’interno dell’organizzazione richiedente

Altre tesimonianze di intelligenza collettiva nel web 2.0 oltre al crowdsourcing sono:

· Wikipedia: un sistema enciclopedico universale basato sulla collaborazione di migliaia di persone che, in aniera del tutto volontaria contribuiscono a dare risposte esaurienti in qualsiasi branca dello scibile umano, obiettivo ovviamente irrangiungibile dal singolo individuo. La folla si auto-organizza senza la presenza di nessun leader che chieda loro di fare qualche cosa di specifico.

· Google: grazie all’algoritmo di ricerca PageRank e’ possibile estrarre informazioni dai siti web per facilitare le ricerche effettuate dagli utenti, sfrutta cio’ che emerge come intelligenza collettiva della rete. L’intelligenza dei singoli viene messa a disposizione di tutti che possono cosi approfittare di questa risorsa distribuita. E poiche’ queste risorse sono anche connesse tra loro e’ possibile avere un effetto sinergico con la generazione di una intelligenza che non e’ la somma delle parti ma addirittura il prodotto delle singole intelligenze. Da qui un’importante deduzione dal sapore prettamente matematico: due intelligenze insieme,  in determinate condizioni, non si sommano ma si moltiplicano.

· Linux: un sistema operativo open che si basa sull’apporto di singoli programmatori indipendenti

La gente è in grado di fornire soluzioni più corrette ed adeguate di quanto non siano in grado di fare gli esperti, se e soltanto se vengono rispettati alcuni prerequisiti fondamentali, che si possono riassumere in questo modo: le persone devono avere opinioni differenti, non si devono poter influenzare, nessuno deve pilotarle, e i risultati devono essere aggregati. Tutte condizioni che vengono naturali su internet. Quello che conta e’ il numero di persone che ci lavorano non necessariamente esperte. Ma tutto cio’ e’ vero sempre? Se lo chiedono in molti. Prima di tutto c’è una regola statistica che dobbiamo sempre ricordarci quando parliamo di contenuto generato dagli utenti che viene banalmente definita, la regola del 1, 9, 90. Su cento “internauti”, generalmente una persona crea un contenuto da zero, 9 lo aggiornano e 90 ne usufruiscono. Qual è il numero minimo di persone che dovrebbe far parte di una comunità per generare un servizio minimo accettabile? Wikipedia ovviamente può contare sul contributo dell’intera popolazione mondiale; cosa accade invece a tutte le altre piattaforme che non riescono ad accedere ad un bacino di utenti così ampio? Probabilmente la saggezza della folla può funzionare solo su delle semplici questioni che possibilmente contemplino una risposta chiusa: sì o no, o comunque singoli valori da definire insieme. Quando le cose diventano più complesse è rischioso affidarsi alla cosiddetta saggezza della folla. E’ facile immagine che l’intelligenza della folla fallisce se viene applicata a campi scientifici nei quali occorre rigore ed alta competenza. L’innovazione e la scienza sono guidate da persone esperte ed intellettuali e non possono essere portate avanti da una massa di individui. Anche gli esperti servono. Tutto dipende dagli obiettivi che ci diamo. Un altro esempio di intelligenza collettiva e’ il brainstorming. In questo caso l’intelligenza collettiva viene applicata nel problem solving. Quello che si e’ scoperto e’ che fare problem solving insieme ad altre persone e’ meglio, essendo piu’ produttivo e piu’ efficace. Il brainstorming ha poche regole fondamentali:

· non criticare le idee altrui

· prediligere la quantita’

· sentirsi liberi di proporre anche le idee piu’ strampalate

Dopo e solo dopo si trovera’ il tempo di criticare, ridurre e semmai buttare via le proposte che non funzionano. Questo perche’ anche la fantasia ha una sua importanza e deve essere liberata dal pensiero dominante. Quello che deve essere abilitato e’ il pensiero laterale (cioe’ l’osservazione del problema da diverse angolazioni) e parlare con persone con idee molto differenti dalle nostre puo’ aiutarci. La divergenza e’ una ricchezza e bisogna fare di tutto per valorizzare le differenze di ognuno di noi per aiutare il gruppo a crescere. Molto bello no? Purtroppo le cose non vanno sempre cosi’ e il brainstorming funziona solo in campi delimitati e a volte solo con persone esperte della materia. E allora come si fa a promuovere l’auto-organizzazione? Solita ricetta: le persone devono avere opinioni differenti, non si devono influenzare, nessuno deve guidare la discussione e i risultati devono essere aggregati. L’intelligenza deve essere distribuita e non centralizzata.

domenica 7 giugno 2015

Big data, big tools analitici e big theory.

 

Nell'era digitale iper-conessa in cui viviamo ci troviamo ogni giorno ad affrontare problemi piu' complessi. Per risolverli non abbiamo ancora delle leggi universali, come per esempio quelle termodinamiche prodotte dalla civilta' tecnologica di un secolo fa, e quindi essi sembrano intrattabili. Basti pensare all'incertezza dei mercati finanziari, la previsione dei cambiamenti climatici mondiali, la previsione di quanta energia servira' nei prossimi anni, quando e dove avverra' il prossimo terremoto catastrofico, la prossima frana, il prossimo attacco terroristico e cosi' via. Gli approcci tradizionali sono spesso di tipo qualitativo e non interdisciplinari e destinati il piu' delle volte all'insuccesso. Per poter arrivare ad una descrizione quantitativa di questi fenomeni usando il rigore scientifico dobbiamo migliorare la nostra comprensione della complessita’ stessa. La complessita' entra in gioco quando ci sono tantissime unita' interagenti in modi diversi tra di loro. Il tutto prende vita e i comportamenti che emergono non sono quelli delle singole unita' che il piu' delle volte hanno dei comprtamenti molto semplici e interagiscono per lo piu' con i primi vicini. Questo sistema interagisce con l'ambiente, adattandosi ad esso ed evolvendo. Esso puo' essere prono ad improvvisi e all'apparenza imprevedibili cambiamenti. Alcune interazioni all'interno del sistema possono rinforzarsi entrando in un loop positivo e andare fuori controllo attraversando il punto di "cliff", il punto di non ritorno oltre il quale il comportamento del sistema cambia radicalmente. La imprevedibilita' e' dovuta alla difficolta' di predire il comportamento del sistema come un tutt'uno a partire dal comportamento delle sue singole parti. Il tutto e' piu' delle sue parti. Una citta' e' piu' dei suoi palazzi e abitanti. Una metropolitana molto piu' di un treno e di alcune stazioni. I nostri corpi piu' di un aggregato di semplici cellule. Questa proprieta' chiamata comportamento emergente e' tipica delle organizzazioni, organismi, mercati finaziari, compagnie, Internet, galassie, il sistema sanitario, il terrorismo, le guerre.

La complessita' del nostro mondo sta aumentando a causa della rivoluzione digitale a cui stiamo assistendo. Se da un lato cio' ci mette in una condizione di sconforto a causa della imprevedibilita' di tali fenomeni dall'altra questa tecnologia presenta anche un opportunita'. La diffusione dei telefonini, le transazioni elettroniche, la digitalizzazione dei dati sanitari, l'internet delle cose solo per citarne alcuni stanno generando una mole incommensurabile di dati. Con lo sviluppo di nuovi strumenti computazionali e nuove tecniche analitiche, i ricercatori hanno iniziato a studiare fenomeni che prima erano fuori dalla nostra portata come per esempio la nascita della cooperazione nella societa', le condizioni che promuovono l'innovazione, come si diffondono le epidemie o come nascono i conflitti e come si espandono.

Nonostante questi successi manca ancora una struttura concettuale e una teoria unificata della complessita'. Al momento nessuno sa di quanti e di che tipo di dati avremo bisogno per chiudere la complessita' in una gabbia teorica. I big data di cui tutti parlano, senza lo sviluppo di strumenti analitici adeguati e senza una big theory non servono a nulla. Oggi big data e' sinonimo di enorme quantita' di dati di vario tipo, non strutturati e dinamici. Ma il vero valore dei big data e' nello sviluppo di nuove tecniche matematiche, algoritmi e processi che rientrano in quello che si chiama machine learning. Oggi sono possibile cose che prima richiedevono una grande fatica. Fino a poco tempo fa per ottenere il trend delle opinioni della societa’ bisognava intervistare alcune migliaia di persone mentre oggi si puo’ ottenere semplicemente interrogando una rete sociale come linkedin. In passato per sapere quante persone in una certa zona facevano moto bisognava intervistare le singole persone mentre adesso e' possibile ottenere rapidamente queste informazioni dagli smartphone grazie a loro accelerometri. Oggi per conoscere gli amici di ognuno di noi non c'e' piu' bisogno di contattare le persone ma basta visitare facebook o sistemi analoghi. Da qui capiamo che i dati da soli non comportano in se una rivoluzione fino a quando non si sviluppano gli strumenti adeguati per analizzarli per fare emergere la conoscenza contenuta in essi. E per nostra fortuna gli strumenti analitici stanno crescendo velocemente molto piu' di quello che stanno facendo i dati. La legge di Moore ormai verificata da diversi anni predice in modo accurato la potenza e la velocita' dei computers. Questa raddoppia ogni 18 mesi. Ma se confrontata con la velocita' con cui progrediscono gli strumenti analitici e' terribilmente lenta. Basti pensare a quanto velocemente i programmatori riescono oggi ad aumentare la velocita' degli algoritmi. Parliamo di un fattore 1000 ogni 18 ore anziche' ogni 18 mesi. Ma questi dati e strumenti analitici da soli possono aiutarci a capire i fenomeni naturali e sociali oppure serve una teoria?

Cosi come Newton osservando la caduta di una mela comincio' a pensare ad una possibile forza che attirasse i corpi verso il centro della terra, e' possibile che noi osservando la straordinaria diversita' e interconnettivita' dei mercati finanziari, delle popolazioni, delle guerre, dello sviluppo del cancro, della diffusione delle infezioni riusciremo a scoprire i principi sottostanti. Un sistema matematico generale per la comprensione della complessita' dovrebbe, in principio, incorporare la dinamica e organizzazione di qualsiasi sistema complesso in modo quantitativo.

E' probabile, come dice lo scienziato del Santa Fe Institute, West, non riusciremo mai ad avere una dettagliata descrizione dei sistemi complessi da permetterci una previsione completa. Nonostante cio' e' possibile che a breve si riuscira' ad avere una descrizione quantitativa' e quindi a fare previsioni solo per alcune caratteristiche particolari di questi sistemi. Potremmo essere interessati a non prevedere esattamente quando ci sara' il prossimo terremoto, ma piuttosto ad assegnare una probabilita' che esso accada nei prossimi anni. La complessita' e' la sintesi di diverse discipline scientifiche e contrariamente a quello che e' successo fino ad ora deve invertire il trend verso la frammentazione e specializzazione, cercando di portare la scienza verso una struttura unificata, olistica per dare una risposta ai grandi quesiti della societa'. Per fare cio' pero' non basta utilizzare l'analisi statistica per trovare delle correlazioni tra variabili: non avendo un modello di riferimento in genere si cercano delle correlazioni, sperando poi che da queste si possano inferire le leggi che regolano la dinamica del sistema in esame.

I big data sono il posto migliore in cui cercare correlazioni a posteriori, ovvero non attese a priori in base ad un modello teorico ma semplicemente identificate nei dati e a cui si cercherà, a posteriori, di dare una spiegazione. Una buona correlazione non implica però, che una variabile abbia una relazione di causalità con l’altra; piuttosto può verificarsi che queste variabili possano avere semplicemente una causa comune. Ad esempio nelle città italiane il numero di chiese e' correlato a quello degli omicidi semplicemente perche' entrambi correlati alla popolazione ma questo non significa che aumentando il numero di chiese aumenti il numero di omicidi, né ovviamente l’inverso! Una correlazione tra variabili quindi non sempre significa che esiste un nesso di causalita'. Spesso si possono trovare correlazioni spurie che non hanno alcun senso: questo accade specialmente quando si hanno tanti dati a disposizione ma pochi strumenti analitici per analizzarli o, peggio ancora, quando si hanno preconcetti e si usano i dati per trovare un tipo di correlazione che ne giustifichi a posteriori l’uso. Per illustrare con un altro esempio il problema delle correlazioni spurie, riportiamo uno tra i tanti presenti sul sito spurious correlations. Nel grafico viene riportato il numero di divorzi nel Maine e il consumo procapite di margarina. La correlazione e’ statisticamente significativa. Piu’ si abbassa il consumo di margarina e meno divorzi si hanno. Questo almeno nel Maine. Questo risultato è palesemente insensato. La presenza di una correlazione statistica non implica la presenza di un nesso di causalità. Si possono fare moltissimi altri esempi di casi in cui, analizzando un gran numero di dati, emergono correlazioni tra fenomeni completamente indipendenti.

Tutto cio’ fa capire che bisogna fare attenzione quando si analizzano grandi basi di dati in quanto gli strumenti statistici da soli non sono in grado di determinare con accuratezza il nesso di causalita’ tra variabili. Possiamo dunque usare le moderne banche dati digitali cercando delle “regolarità” nelle serie temporali di un certo fenomeno, per cercare di prevedere quello che succederà in futuro? La risposta a questa domanda è in genere negativa, e la “fine della teoria” risulta così un miraggio. Perfino i sistemi fisici – che sono più gestibili poiché si conoscono le leggi dinamiche sottostanti rispetto a quelli sociali – sono governati da forze che, benché deterministiche, danno luogo a comportamenti caotici e dunque pongono delle difficoltà intrinseche per effettuare una previsione e per conoscerne il comportamento futuro. Quando non si conoscono le leggi che governano l’evoluzione di un sistema o quando queste sono non deterministiche e universali (cioe’ cambiano nel tempo o sono leggi statistiche) la situazione diventa rapidamente intrattabile. In questi casi e’ possibile sperare di trovare delle correlazioni tra variabili nei dati e usare queste correlazioni, anche senza conoscerne l’origine, per predire il comportamento futuro di un sistema? Anche in questo caso, la risposta e’ generalmente negativa. Già prendendo in considerazione un sistema con molti corpi e governato da leggi deterministiche, l’analisi di serie storiche non aiuta a rilevare una situazione simile a quella attuale già verificatasi nel passato e dunque capace di dare indicazioni per inferire l’evoluzione futura del sistema stesso. È possibile invece usare le banche dati per trovare, a posteriori, delle correlazioni tra variabili che descrivono lo stato di un sistema, ma è necessario aver ben presente che una correlazione a posteriori – dunque non una genuina predizione di una teoria – non implica in genere l’esistenza di un nesso causale. D’altra parte, i big data possono essere uno strumento utile proprio per capire se gli assunti alla base di certi modelli o teorie, anche nel campo delle scienze sociali, sono verificate o meno. Per esempio, le carte di credito e il commercio elettronico dovrebbero permettere di monitorare il consumo in tempo reale e dunque di testare le teorie del comportamento dei consumatori in grande dettaglio. Analogamente, la grande massa di dati elaborati ogni giorno dai mercati finanziari potrebbero permettere di capire per esempio se i mercati “in equilibrio” sono stabili. Piuttosto che cercare delle correlazioni a posteriori per cercare conferma empirica a qualche modello teorico bisogna analizzare i dati senza alcun pregiudizio seguendo l'approccio proprio del data mining. Partendo dalla massa di dati gli algoritmi di machine learning ci dovranno aiutare ad individure possibili modelli che in seguito dovranno essere validati dagli analisti stessi cercando un riscontro nella realta'.

A proposito di Big data e data mining, a Marzo di quest’anno ho partecipato ad un convegno organizzato dal Complexity Institute a Santa Margherita Ligure dal titolo Big Data e Neural networks nel complexity management dove ho fatto un intervento che potete scaricare al link sottostante. Qui un breve riassunto.

Data Mining
Tecniche analitiche altamente complesse per un mondo sempre piu’ ipercomplesso

Presentazione di Felice Russo - Lfoundry Manager

Viviamo in un mondo sempre piu’ interconnesso e digitalizzato. Siamo sommersi dai dati. Ogni minuto il mondo genera dati per 1,7 milioni di miliardi di byte, pari a 360 000 DVD: più di 6 megabyte di dati a testa ogni giorno. Le informazioni, che provengono sia dalle persone sia da macchine di ogni tipo, consistono in dati sul clima, immagini satellitari, fotografie e video digitali, registrazioni di operazioni o segnali GPS, dati scientifici, dati prodotti dalle reti sociali solo per citarne alcuni.

Diventa quindi importante riuscire ad analizzare questo enorme volume di dati con macchine/algoritmi sempre piu’ veloci e con DB (database) contenenti una grande varieta’ di dati. Gli strumenti e le tecniche sono diverse da quelle tradizionali basate sulla statistica classica. Sempre di piu’ si fa uso di tecniche e algoritmi di machine learning, intelligenza artificiale, pattern recognition, matematica, statistica e scienza dell’informazione. Il Data mining e’ all’intersezione di queste varie discipline. Esso cerca di estrarre la conoscenza dalle miniere di dati disponibili. Solo grazie alla conoscenza I dati possono acquistare un “valore”. Oggi le aziende sono ricche di dati ma povere di informazioni/conoscenza. Solo un processo di “scoperta della conoscenza” (KDD Knowledge discovery in database) puo’ trasformare I dati in oro per rimanere nell’ambito delle miniere. La speranza di tutti e’ che un giorno queste tecniche possano essere automatizzate escludendo completamente l’intervento umano. Ma questo rimarra’ un sogno in quanto il data mining essendo un sistema complesso non potra’ essere completamente automatizzato (indecidibilita’ della complessita’ di Kolmogorov di una qualsiasi stringa). Il data mining quindi sara’ sempre un “arte” il cui scopo sara’ quello di trovare i modelli che meglio si adattano agli insiemi dei dati analizzati.

Ma questo non e’ sempre facile. A complicare le cose interviene anche:

1) la complessita’ dei dati da manipolare a causa della loro varieta’ (tipologia di dati) e multidimensionalita’ dei database

2) la complessita’ computazionale degli algoritmi (per esempio con n righe ed m colonne ci sono O[m2m-1] regole di associazione….)

3) la complessita’ dei risultati (non tutti I pattern che emergono sono facilmente interpretabili)

Da dove deriva tutta questa complessita’?

La risposta nella legge di Ashby: "la complessita’ delle tecniche di analisi deve essere uguale o superiore a quella dei dati da analizzare". Piu’ il mondo evolvera’ verso l’interconnessione digitale di tutte le cose (Internet delle cose) piu’ il data mining dovra’ trovare nuove tecniche analitiche per far fronte a tanta ipercomplessita’.

Link

sabato 9 maggio 2015

Robot che si auto-organizzano

 

Tutto e’ iniziato nel 2011 quando i ricercatori in robotica dell'Universita’ di Harvard costruirono per la prima volta i loro 25 robot. Nel 2013 erano diventati 100 e oggi 1000. I ricercatori Michael Rubenstein, Alejandro Cornejo, e il professore Radhika Nagpal  del gruppo Self-Organizing Systems Research descrivono i loro 1000 robot, chiamati swarm robot in quanto imitano uno sciame di insetti, in un articolo apparso sulla rivista Science alcuni mesi fa. In effetti, si tratta di 1024 robot che nell’ambito dei computer e’ l’equivalente del chilo. Per questo motivo questi robot vengono chiamati anche kilobot.

Ogni kilobot e’ un piccolo dispositivo, dal costo irrisorio ($14), che puo’ muoversi grazie a delle gambe vibranti e comunicare con altri robot grazie a dei trasmettitori/ricevitori agli infrarossi.

Lo sciame ha un numero sufficiente di piccoli robot da ridurre l’importanza del singolo. Se qualcuno dei robot si rovina o si rompe non e’ un problema visto l’elevato numero dello sciame. Prevale il comportamento collettivo su quello del singolo. Con cosi tanti robot qualsiasi operazione e' complicata. Un esempio e’ il loro caricamento. Mettere ognuno dei 1024 robot sul loro rispettivo caricabatteria non e’ cosa da poco. Per questo motivo i ricercatori hanno pensato di usare due placche metalliche con i robot inseriti tra loro che si caricano grazie ad una corrente fatta passare attraverso le placche. Allo stesso modo e’ possibile programmare i robot investendoli con dei raggi infrarossi.

Dati i presupposti di elevato numero di robot e infrastruttura di supporto/gestione, è possibile realizzare uno sciame ispirandosi a quanto accade in natura con gli sciami d'insetti, con gli stormi di uccelli o con i banchi di pesci. In tutti questi sistemi biologici ci sono una serie di regole molto semplici che permettono allo sciame/stormo/banco di organizzarsi e controllarsi pur non avendo un capo, un direttore di orchestra. In un banco di pesci, ad esempio, ci sono una serie di regole sul posizionamento reciproco tra i singoli componenti del banco.

Uno dei modelli piu’ utilizzati e’ il cosiddetto modello delle 3 zone che formalizza tramite 3 semplici regole il comportamento del singolo animale all’interno del gruppo.

· Repulsione: quando e’ troppo vicino agli altri individui, l’insetto tende a spostarsi da quest’area.

· Allineamento: gli individui cercano di identificare la possibile direzione del gruppo e si allineano ad essa

· Attrazione: quando gli individui sono troppo distanti dal gruppo, tendono a riavvicinarsi.

Per rendere piu’ realistico il modello delle 3 zone si inserisce un cono di visione che determina un’area attiva di interazione. L’idea e’ di inserire nel modello l’area di percezione del singolo insetto. Per gli uccelli per esempio quest'area e’ legata principalmente alla vista, mentre per i pesci entra in gioco anche la linea laterale.

Per i Kilobot è stato ideato un algoritmo basato su un insieme di funzionalità anch'esse molto semplici, con l'obiettivo di consentire allo sciame di dare forma a sagome arbitrarie:

· un robot puo’ muoversi lungo la periferia di un gruppo di robot misurando la distanza dai robot sulla frontiera del gruppo

· un robot sorgente puo’ generare un messaggio che crea un gradiente nel propagarsi lungo lo sciame

· i robot possono formare un sistema di coordinate locali usando la comunicazione e la distanza dai primi vicini

I robot comunicano tra loro facendo rimbalzare i raggi infrarossi sulla loro superficie. Possono calcolare la distanza da altri robot semplicemente misurando come cambia la brillantezza degli infrarossi: piu’ varia l’intensita’ della luce e piu’ il robot che ha rimandato indietro il raggio e’ lontano. Non possono pero’ individuare la direzione della luce. La localizzazione quindi dipende da un gruppo iniziale di robot usati come semi per stabilire l’origine del sistema di coordinate rispetto al quale individuare la posizione degli altri robot (vedi schizzo sottostante).

Parte superiore dell’immagine: algoritmo utilizzato per i kilobot. Parte inferiore: viene decisa la forma da riprodurre e trasmessa ai robot. Questi utilizzando l’algoritmo a 3 regole spiegato nel testo formano un po’ alla volta la forma richiesta.

 

Una volta che i robot determinano la propria posizione, la procedura per creare una forma arbitraria e’ relativamente semplice : i robot cominciano a muoversi lungo il perimetro dello sciame fino a quando non rilevano di essere entrati nell’area dove la forma verra’ creata. Ogni robot continua a muoversi lungo il perimetro dei robot che sono gia’ all’interno della forma fino a che arriva in prossimita’ dei confini della sagoma o fino a quando non sono a contatto con altri robot gia’ posizionati. In questo modo seguendo 3 semplici regole viene realizzata la forma voluta.

Una collettività di oltre 1000 robot può essere effettivamente considerata uno sciame poiché l'importanza di un singolo robot è in pratica nulla, ed e’ proprio questa una delle principali caratteristiche di uno sciame: il singolo robot può funzionale male o danneggiarsi, ma all'interno dello sciame ve ne sono così tanti che in ultima analisi è il comportamento collettivo a prevalere su quello del singolo.

Data un'immagine bidimensionale i kilobot seguono delle semplici regole per formare la forma voluta. L’effetto e’ simile a quello di uno stormo di uccelli che piroiettano nel cielo. Ad un certo punto non vediamo piu’ il singolo uccello ma vediamo lo stormo come un tutt’uno.

 

Quale sara’ il prossimo passo?

In natura gruppi di migliaia, milioni, miliardi d’individui possono auto-assemblarsi in una grande varieta’ di forme grazie alla semplice interazione locale. Questo motiva nuovi esperimenti con avanzati algoritmi collettivi capaci di rilevare i robot malfunzionanti e recuperare eventuali danneggiamenti esterni, come anche progettare nuovi robot piu’ stabili e fisicamente attaccabili gli uni agli altri per auto-assemblarsi.

 

Video 1: Introduzione ai kilobit

http://youtu.be/ISMwLCFwgK4

Video due: L'uso di un piccolo numero di kilobot

http://youtu.be/Lx8rvBB_A7I

Per approfondire:

ftp://ftp.deas.harvard.edu/techreports/tr-06-11.pdf

http://www.wikio.it