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

sabato 14 febbraio 2015

Il tempo. Questione di complessita’'?

 

Tutti siamo convinti del fatto che il tempo scorra sempre in avanti senza mai poter tornare indietro. Ma quale meccanismo e’ alla base di un tale comportamento?

Le leggi fondamentali della fisica non dipendono dalla direzione temporale, eppure il futuro e’ cosi significativamente diverso dal passato. Ma perche’? L’origine della freccia del tempo ha interessato fisici e filosofi per piu’ di un secolo. Questi hanno cercato di trovare una soluzione ma senza riuscirci. Ancora oggi questa legge rimane uno dei problemi fondamentali concettuali della fisica. In uno studio recente pubblicato sul giornale Physical Review Letters un gruppo di fisici dell’Universita’ di Oxford ha studiato proprio la “freccia del tempo” evidenziando un modo diverso di guardare a come il tempo si manifesta alle scale universali. Tradizionalmente, il tempo e’ stato descritto con “l’ipotesi del passato”, secondo la quale ogni sistema inizia in uno stato di bassa entropia per poi, guidato dalla termodinamica, portarsi in uno stato con entropia sempre maggiore. In parole semplici: il passato e’ bassa entropia e il futuro alta entropia, un concetto conosciuto come l’asimmetria del tempo termodinamico.

Nella nostra vita di tutti I giorni, possiamo trovare molti esempi di aumento di entropia, come il gas che riempie una camera o un cubetto di ghiaccio che fonde. In questi esempi, si osserva un aumento irreversibile di entropia (e quindi di disordine). Se questo viene applicato su scala universale, si presume che il Big Bang abbia generato l’universo partendo da uno stato di minima entropia. Dopo eoni, mentre l’universo si espandeva e si raffreddava, l’entropia ha iniziato ad aumentare. Per questo motivo il tempo e’ intrinsecamente collegato col grado di entropia, o disordine, del nostro universo. Ma ci sono alcuni problemi.

Subito dopo il Big Bang, il primo universo era un posto molto caldo pieno di particelle primordiali caotiche. Non appena l’universo inizio’ a raffreddarsi, la gravita’ prese il sopravvento rendendo l’universo piu’ ordinato e piu’ complesso: dal raffreddamento delle nuvole di gas, iniziarono a formarsi le prime stelle e poi i pianeti. Questo rese possibile l’inizio della chimica organica, della vita e quindi degli umani che iniziarono a filosofeggiare circa il tempo e lo spazio. Su scala universale, percio’, il disordine effettivamente e’ diminuito e non aumentato come previsto “dall’ipotesi del passato”. Come e’ possibile? Siccome l’entropia e’ una quantita’ fisica dimensionale c’e’ la necessita’ di un riferimento esterno rispetto al quale misurarla. Questo puo’ essere fatto solo per sottosistemi dell’Universo e non per l’intero Universo, in quanto per definizione non c’e’ nulla all’esterno dell’Universo. Quindi se non e’ l’entropia a guidare il tempo in avanti di cosa si tratta? La complessita’ e’ una quantita’ adimensionale che descrive quanto e’ complesso un sistema. Quindi se uno guarda al nostro Universo, la complessita’ e’ direttamente collegata col tempo; come il tempo scorre l’Universo diventa sempre piu’ organizzato e strutturato.

Chi ha posto l’Universo inziale in uno stato di minima entropia? La risposta del team di studiosi e’: la gravita’ e la sua tendenza a creare ordine e complessita’ dal caos. Per provare questa ipotesi il gruppo di fisici ha creato dei modelli al computer per simulare le particelle in un universo virtuale. Essi hanno trovato che indipendentemente dalla simulazione utilizzata, la complessita’ dell’Universo aumenta sempre e non decresce mai col tempo.

Con il Big Bang, l’universo e’ partito da uno stato di minima complessita’ (un brodo di particelle ed energia). Da quel momento in poi col susseguente raffreddamento la gravita’ inizio ‘ a prevalere sulle altre interazioni: i gas cominciarono ad aggregarsi, si formarono le stelle e le galassie cominciarono ad evolversi. L’universo divento’ inesorabilmente piu’ complesso con la gravita’ la forza responsabile dell’aumento della complessita’. Ogni soluzione del modello gravitazionale utilizzato dal gruppo di ricercatori ha la proprieta’ di avere qualche stato passato molto omogeneo caotico (eventualmente proveniente dalla contrazione precedente della materia) e non strutturato che assomiglia molto al plasma che costituiva l’universo al tempo in cui veniva generata la radiazione di fondo cosmica (CMB).

A partire da questo stato col passare del tempo la gravita’ aumenta le inomogeneita’ creando le strutture cosmiche e quindi l’ordine in modo irreversibile. Come l’universo matura, i suoi sotto sistemi diventano abbastanza isolati da far si che altre forze comincino a far sentire I loro effetti e quindi a settare nei sistemi a bassa entropia le condizioni per avere la classica freccia del tempo. In questi sotto sistemi, come la nostra Terra, l’entropia crea una freccia termodinamica del tempo.

L’Universo e’ una struttura la cui complessita’ e’ in crescita. Esso e’ formato da miliardi di galassie separate tra loro da vaste “bolle” vuote. In un passato lontano erano molto piu’ vicine di adesso. Quindi la congettura del team di ricerca e’ che la nostra percezione del tempo risulti da una legge che determina una crescita irreversibile della complessita’.

Il prossimo passo sara’ quello di cercare delle evidenze dalle osservazioni dell’universo. Il team ha stabilito quali tipi di esperimenti mettere in piede per testare la loro idea. Si trattera’ di fare le giuste osservazioni cosmologiche.

Risolto quindi il problema della freccia del tempo? Probabilmente ancora no. Rimane il mistero del perche’ le frecce del tempo di diversi sistemi fisici puntano tutte nella stessa direzione. Le onde elettromagnetiche vengono ritardate non anticipate; I nuclei radioattivi decadono e mai si riassemblano; I sistemi gravitazionali si aggregano e mai si disperdono; noi tutti ricordiamo il passato e non il futuro. Quello che andrebbe dimostrato e’ che effettivamente queste disparate frecce temporali puntano tutte nella stessa direzione indicata dal modello gravitazionale proposto. Comunque i risultati presentati dagli scienziati di Oxford forniscono un nuovo intrigante punto di vista. La loro visione offre l’evidenza che l’ordinaria dinamica gravitazionale (quella Newtoniana per intenderci) puo’ essere sufficiente a produrre un semplice punto iniziale che puo’ dare una direzione al tempo. Non ci resta che aspettare ulteriori sviluppi futuri.

mercoledì 14 gennaio 2015

La complessità dei sistemi di numerazione e l’Università Stradale di Matematica


Il 28 Dicembre scorso sono stato a Napoli insieme ad amici e rispettive famiglie come ormai mi capita da diversi anni. Lo scopo e’ quello di trascorrere una giornata nella nostra Napoli visto che siamo “emigranti” ormai da piu’ di 20 anni. Rivivere le atmosfere colorate di Napoli, i suoni tipici del Natale, assaggiare i piatti tipici e visitare le mostre di presepi e’ diventata ormai una consuetudine. Non puo’ mancare una visita a San Gregorio Armeno, Piazza Miraglia, Via Duomo e le vie del Decumano.
Mentre passeggiavamo nella zona dei Tribunali all’altezza dell’ex Libreria Guida (vicino Scaturchio a Via Mezzo Cannone) ci siamo imbattuti in un gruppetto di persone che ascoltavano un signore con una bacchetta in mano che puntava dei cartelloni con su quadrati pieni di numeri. La sorpresa e’ stata tanta. E’ strano trovare per strada una persona che parli di matematica facendo divertire il pubblico incuriosito. Partecipando ad uno dei giochi proposti e con una piccola offerta si poteva ottenere una laurea in matematica niente di meno che dall’Universita Stradale Matematica di Napoli.



A consegnare l’onorificenza il signor Giuseppe Polone, campano con appena un diploma di quinta elementare alle spalle. Qui di seguito alcune fotografie scattate in strada.



Il Signor Polone e’ noto per aver partecipato ad alcune trasmissioni televisive come esperto di quadrati magici. Ha girato il mondo ed e’ tornato da poco dagli Stati Uniti per tentare di stabilire un record come lui stesso racconta: "Sono tornato a Napoli dagli Stati Uniti perchè ho intenzione di stabilire il guinnes world record". “Ho solo la quinta elementare ma riesco a fare calcoli estremamente complessi. Vere opere d'arte su carta".
Quando parla di "opere d'arte" Giuseppe si riferisce alla sua "invenzione". Una torre alta 35000 millimetri del peso di 35000 grammi che su ogni lato riporta una serie di quadrati riempiti da numeri sia di tre che di quattro cifre. "Se si somma una qualsiasi riga, colonna o diagonale di quattro numeri" continua Polone, "il risultato sarà sempre 35000".



L’opera matematica viene mostrata e spiegata a tutti, lasciando di stucco curiosi e turisti fermi ad osservare i velocissimi calcoli. "Voglio portare Napoli nel mondo" conclude Giuseppe, "grazie all'intelligenza e all'arte matematica".
Il giochino matematico a cui abbiamo assistito e’ diverso da quello della torre. Di seguito i dettagli. Polone propone 6 matrici con all’interno dei numeri. Chiede di pensare ad un numero da 1 a 60 e di mostrare in quali matrici e’ presente il numero pensato. Fatto cio’ con la meraviglia dei presenti Polone indovina il numero.



Tutti a bocca aperta a chiedersi ma come ha fatto? Appena ci siamo allontanati gli amici, ovviamente, mi hanno chiesto: “ tu che sei un matematico hai capito come ha fatto?”
Ho preso in mano il foglio con le 6 matrici e l’ho guardato. Dopo una decina di minuti, mentre passeggiavamo per le stradine di Napoli ho trovato la soluzione. Si trattava di utilizzare il sistema binario. Come tutti sanno il nostro sistema di numerazione (quello decimale) e’ un sistema posizionale con 10 cifre: 0,1,2,3,4,5....9
A seconda della sua posizione, ogni cifra puo’ avere un valore diverso. Tutto quello che serve sono le potenze di 10 e le dieci cifre da 0 a 9. In questo modo possiamo rappresentare tutti i numeri interi. Per esempio se consideriamo il numero 149 lo possiamo pensare come:
1*102 +4*101+9*100
Allo stesso modo per il sistema binario utilizziamo le cifre 0 e 1 e le potenze di 2. Lo stesso numero 149 in base binaria e’ dato da:
1*27+0*26+0*25+1*24+0*23+1*22+0*21+1*20
Questo significa che se consideriamo tutti i numeri interi tra 1 e 60 questi li possiamo rappresentare come somma di potenze di 2. Nell’immagine di seguito ho riportato una matrice dove vengono rappresentate le potenze di 2 (prima colonna a sinistra) da utilizzare per ottenere i primi 60 numeri interi (riportati nella prima riga). In parole povere una cella bianca indica uno 0 del sistema binario mentre una cella colorata un 1. Il numero 35, per esempio lo possiamo scrivere come:
35=1+2+32=20+22+25
Osservare il bellissimo pattern che emerge con chiare strutture nidificate.



A questo punto il gioco e’ fatto. Basta raccogliere in matrici 6x6 i numeri appartenenti allo stesso colore. Nella matrice che inizia con 1 avremo tutti i numeri dispari. Nella matrice che inizia con 2 tutti i numeri di colore verde chiaro e cosi via. Osservare che la prima matrice contiene i numeri con il pattern: una cella bianca e una colorata; la seconda i numeri che hanno 2 celle bianche e due colorate, la terza i numeri con tre celle bianche e tre celle colorate e cosi via. Se il nostro spettatore pensa al numero 45, indichera’ la prima, la terza, la quarta e la sesta matrice. Ai “maghi matematici” bastera’ sommare il primo numero in alto a sinistra delle matrici indicate per indovinare il numero pensato. Nel nostro caso avremo: 1+4+8+32=45. E il gioco e’ fatto.



Per chi di voi mi segue da un po’ avra’ capito guardando l’immagine nidificata di cui sopra che questa somiglia all’output di un tipico automi cellulari (vedi mio post). Questo fa pensare che alla base di un semplice sistema di numerazione possa esserci in agguato la complessita’. Non a caso Stephen Wolfram il papa’ degli automi cellulari ha dimostrato che partendo con delle semplici regole matematiche si possono generare delle strutture altamente complesse. La semplicita’ puo’ indurre la complessita’.
Ma e’ vero che dei semplici sistemi di numerazione possono dare origine a dei comportamenti complessi? Guardando alla maggior parte dei testi di matematica sembrerebbe di no. Eppure se guardiamo i risultati di esperimenti eseguiti al computer (quindi non quelli di calcolo a cui siamo abituati) facilmente ci accorgiamo che anche semplici sistemi di numerazione possono portare ad un comportamento complesso. Quale e’ l’origine di questa complessita’? E come e’ legata alla complessita’ degli automi cellulari? Si potrebbe pensare che questa sia una questione semplice e che essa abbia una risposta immediata. Eppure non e’ cosi. La matematica tradizionale non aiuta a trovare una risposta. Anzi secondo quanto riporta Wolfram nel suo voluminoso testo “A new kind of science” la matematica non fa altro che aggiungere confusione alla questione. Secondo lui, il problema di base e’ che i numeri nella matematica tradizionale vengono maneggiati in modo diverso da come vengono maneggiati nei computer. La matematica tradizionale assume che i numeri sono degli oggetti elementari il cui unico attributo rilevante e’ la sua grandezza (dimensione). Ma per un computer i numeri non sono oggetti elementari. In realta’ essi devono essere rappresentati in modo esplicito riportando in genere una sequenza di cifre. Il sistema di base utilizzato dal computer e’ il binario e non quello decimale perche’ l’informazione immagazzinata in un semplice condensatore di una memoria dinamica o il floating gate di una memoria flash e’ la presenza o meno di carica elettrica. Quindi il modo piu’ naturale per maneggiare questa informazione e’ quello di usare un sistema a due cifre. Questo significa che i numeri all’interno di un computer sono rappresentati da sequenze di 0 e 1 in modo simile a quanto succede con gli automi cellulari. E le operazioni con i numeri corrispondono ai diversi modi con cui si possono aggiornare le sequenze di 0 e 1. Nella matematica tradizionale i dettagli di come queste operazioni vengono eseguite sono considerate irrilevanti. Ma quello che vedremo qui e’ come la complessita’ si sviluppa nei sistemi basati su numeri e come essa e’ molto simile a quella degli automi cellulari proprio analizzando questi dettagli.
Per iniziare osserviamo cosa succede partendo col numero 1 e aggiungendo ad esso 1 ad ogni step. Il risultato sara’ la semplice successione dei numeri naturali 1, 2, 3, 4, 5, 6, 7, 8, ... La grandezza di questi numeri ovviamente forma una semplice progressione. Ma se invece di guardare alla grandezza dei numeri guardiamo alla sequenza delle cifre allora emerge qualche cosa di piu’ complicato. E infatti, come visto precedentemente la successione delle cifre in base due dei primi 60 numeri interi forma un pattern molto interessante con una struttura di base nidificata. L’immagine si seguito mostra cosa succede sempre in base 2 se uno invece di aggiungere 1 aggiunge dei numeri diversi come 2, 3, 4, 5… Ad un livello superiore tutte le strutture risultano simili tra loro.



Se invece dell’addizione usiamo la moltiplicazione i risultati che otteniamo sono completamente differenti. Vediamo cosa accade se uno parte con 1 e ad ogni step moltiplica per 2 il risultato precedente. In base due, l’operazione di moltiplicazione per 2 ha un semplice effetto: spostare di un posto verso sinistra la sequenza di cifre aggiungendo uno zero a destra. Il risultato e’ una semplice diagonale nera (vedi immagine a sinistra). Ma se il fattore moltiplicativo e’ 3 anziche’ 2, allora le cose vanno in modo completamente diverso come l’immagine a destra mostra. La complessita’ e’ veramente elevata con delle strutture triangolari che sembrano apparire in modo del tutto casuale. Eppure abbiamo fatto una semplice moltiplicazione per 3.



E se continuiamo a fare evolvere nel tempo questa procedura otteniamo una struttura simile con i triangoli disposti secondo una distribuzione apparentemente casuale.



Esattamente come per gli automi cellulari sembra che un semplice sistema di numerazione puo’ dare origine a comportamenti altamente complessi e apparentemente casuali. Si potrebbe pensare che la complessita’ osservata in questa immagine possa essere una conseguenza del fatto che stiamo osservando i numeri in termini della sequenza delle loro cifre e che questa sia assente nel caso in cui guardiamo i numeri in termini della loro grandezza (dimensione). Ma alcuni esempi mostreranno come cio’ non e’ vero.
Come primo esempio consideriamo cosa accade se moltiplichiamo n per 3/2 partendo con n=1.
1, 3/2 = 1.5, 9/4 = 2.25, 27/8 = 3.375, 81/16 = 5.0625, 243/32 = 7.59375, 729/64 =11.390625, ...
L’immagine di seguito mostra la sequenza delle cifre di questi numeri in base 2. Le cifre direttamente sotto e a sinistra dell’uno originale corrispondono alla parte intera di ogni numero (per esempio 1 in 1.5) mentre le cifre a destra corrispondono alla parte frazionaria (per es. 0.5 in 1.5).



Di nuovo la presenza di strutture complesse allo stesso tempo del tutto casuali. Un fenomeno simile puo’ essere visto anche in sistemi che coinvolgono numeri interi e non solo numeri frazionari. Consideriamo una piccola variante della procedura ora analizzata: se il numero ad un particolare step e’ pari allora va moltiplicato per 3/2; se il numero e’ dispari, allora prima aggiungere 1 e poi moltiplicare per 3/2. Ovviamente questa procedura genera sempre numeri interi e se partiamo con 1 la sequenza di numeri che si ottiene e’
1, 3, 6, 9, 15, 24, 36, 54, 81, 123, 186, 279, 420, 630, 945, 1419, 2130, 3195, 4794, ...
Alcuni di questi numeri sono pari mentre altri dispari. La comparsa di numeri pari e’ dispari sembra del tutto casuale.



Nonostante la mancanza di un ordine, la dimensione dei numeri cresce in modo regolare. Cambiando leggermente la procedura possiamo ottenere una crescita meno regolare. Come esempio possiamo prendere un numero ad un particolare step e se esso e’ pari moltiplicarlo per 5/2 altrimenti aggiungere 1 e moltiplicare per 1/2. Se si parte con 1 questa procedura ritorna 1 come output ad ogni step. Con diversi numeri come punto di partenza questa procedura da’ origine ad un comportamento ripetitivo. Ma qualche volta puo’ generare un comportamento decisamente piu’ complesso.



Anche se guardiamo alla semplice dimensione dei numeri naturali, quindi, possiamo ottenere una elevata complessita’ con comportamenti analoghi a quelli degli automi cellulari. C’e’ comunque da precisare che le regole utilizzate per gli automi cellulari sono molto differenti da quelle utilizzate per i sistemi di numerazione. Le regole degli automi cellulari infatti sono sempre locali: lo stato di una particolare cella dipende solo dallo stato della stessa cella ad un istante precedente e da quello delle celle vicine. Per i sistemi di numerazione, invece non c’e’ alcuna localita’. Nonostante questa differenza il comportmento globale e’ molto simile. Si conferma che usando semplici regole o procedure, anche partendo con una configurazione iniziale semplicissima come puo’ essere il numero 1 e’ possibile generare dei comportamenti altamente complessi. E come Wolphram ipotizza e’ possibile che sia proprio questo fenomeno alla base della maggior parte della complessita’ che osserviamo in natura.
http://www.wikio.it