Gli insetti e i loro comportamenti come esempio da imitare nella programmazione diffusa e condivisa. Sempre più informatici si avvalgono dei consigli di etologi per migliorare reti neurali, sistemi esperti e così via. Prima di ogni altra considerazione, cominciamo con il dire che, nel caso del cervello, le dimensioni non contano. Facciamo qualche paragone: il cervello di una balena pesa 9 kg e ha approssimativamente 200 miliardi di neuroni. Un cervello umano pesa 1/1.5 kg ed ha circa 80-100 miliardi di neuroni; un’ape ha un cervello di un millimetro cubo, e meno di un milione di neuroni.
Gli insetti hanno apparati sensoriali che umani e mammiferi (ammesso che gli umano non siano mammiferi) si sognano. Gli insetti sono in grado di registrare migliaia di input sensoriali, sono dotati di centinaia di occhi, odorano e toccano con le antenne, hanno peli su tutto il corpo che gli fanno sentire gli spostamenti d’aria. Ma soprattutto, gli insetti imparano, si creano mappe mentali dell’ambiente in cui si trovano, regolano il battito d’ali in base alla velocità del vento; le api hanno le loro danze che mai sono identiche; le formiche manipolano l’ambiente e altre specie a loro piacimento. Gli etologi sostengono che gli insetti hanno un numero di comportamenti che vanno da 15 a 59. A 59 ci arrivano gli animali socialmente più evoluti come api e formiche. Le api, ad esempio, sono in grado di: costruire tipi specifici di favi a seconda delle necessità: manipolare il polline; ingannare i nemici in combattimento; effettuare una quantità pressoché infinita di danze per comunicare; ripulire il nido; riscaldare i loro compagni (o le loro vittime) tramite vibrazioni; volare al di sopra di una zona e memorizzare tutte le informazioni salienti non solo per ritrovare la strada, ma per ritrasmetterla in giro; e così via.
Per tornare ai mammiferi, il cervello di un mammifero (o un cetaceo) è milioni di volte più grosso di quello di un insetto, eppure, generalmente, i comportamenti che può intraprendere sono solo il doppio. Secondo gli scienziati, la miniaturizzazione del cervello degli insetti è la dimostrazione che il loro sistema nervoso centrale è decisamente più ottimizzato di quello di un mammifero: lavorano di qualità, non di quantità. Il C.Elegans è un nematode con soli 302 neuroni, eppure può imparare.
La vera differenza non è nel numero di neuroni, bensì nei collegamenti fra differenti grovigli di neuroni che portano a comportamenti tangibili a fare la differenza, ed è tutto lì il vantaggio di avere un cervello grosso invece che miniaturizzato: la flessibilità. Ho appena ripetuto che non è la dimensione del cervello che conta, ma i collegamenti e i circuiti cerebrali, e questi non sono miniaturizzabili all’infinito. (Forse. Qualcuno ha scoperto che una microscopica vespa, Encarsia formosa, ha neuroni con assoni lunghi 0.05 µm. Il limite teorico inferiore al di sotto del quale un assone è troppo corto per funzionare, è 0.1 µm).
Ma che relazione c’è tra l’intelligenza singola e collettiva degli insetti e le ricerche più spinte in ambito informatico? Sapete cos’è un TCP/IP?
TCP/IP sta per “Transmission Control Protocol/Internet Protocol” è lo standard del movimento di dati su internet. Una piccola parabola per spiegare come funziona.
Mio nonno, da giovane, manda una lettera d’amore dal fronte a mia nonna. Scrive una lettera piena di zuccheritudini, e la infila in una busta, prestando ben attenzione all’indirizzo del destinatario. La lettera viene spedita e, dopo un certo periodo di tempo (variabile, tendente a più infinito con le poste italiane) arriva alla destinataria, che subito risponde al nonnino per fargli sapere che ha ricevuto il messaggio e ha apprezzato le zuccherositudini, gli risponde usando sempre la posta. Tanto più le strade sono libere dai nazisti, tanto più velocemente il postino porterà la risposta senza rimanere intralciato nei vari punti di controllo.
Ora. Mio nonno è il computer, le pucciosità scritte nella lettera i dati, la busta è il packet, l’indirizzo è l’IP, la risposta è l’acknowledgment, o ack. Quanto velocemente l’ack torna indietro dipende dal numero di nazisti per strada nella metafora (dalla quantità di banda disponibile se stiamo parlando di computer). Se la strada è piena di nazisti (poca banda) ben pochi postini vorranno portare le lettere dei miei nonni (e la velocità di trasmissione sarà bassa). Se invece la strada è sgombra mentre le altre sono più pericolose, ecco che una masnada di postini vorrà andar lì, e non dalle altre parti, e la velocità di trasmissione sarà ottimale. Passiamo, ora, alle formiche. La Pogonomyrmex barbatus è una formica del sudest degli stati uniti. E’ piuttosto grossa e piuttosto cattiva.
E’ anche molto efficiente. Una formica parte in una certa direzione alla ricerca di cibo. Non tornerà finché ha trovato qualcosa. Se fa jackpot, e trova una quantità abbondante di semi, tornerà molto alla svelta, e più formiche partiranno nella stessa direzione. Se la formica ci mette tanto a tornare, partiranno meno formiche in quella direzione o addirittura lasceranno perdere.
Non finisce qui. Se i postini vengono catturati dai nazisti, ad un certo punto le poste centrali si svegliano, e smettono di trasmettere le lettere su quella strada. In informatica questo è il time-out: i packet partono ma gli ack non arrivano entro una certa quantità di tempo (time-out, no?). Per evitare che tutte le lettere finiscano perdute, la trasmissione si blocca.
Se una formica non torna al nido entro venti minuti, nessun’altra ha il permesso di addentrarsi fuori. La prima cercatrice è fuori da troppo tempo: potrebbe essere perduta, morta, in mano ai nazisti. Non è il caso di rischiare altre vite.
C’è un altro protocollo che le formiche imitano, che mi viene difficile spiegare con la metafora, e che quindi ho lasciato per ultimo. In gergo si chiama slow-start: un grosso numero di packets viene spedito insieme all’inizio verso il destinatario per determinare la larghezza di banda, e a seconda degli ack che tornano indietro, la velocità di trasmissione si aggiusta.
Allo stesso modo, per controllare la disponibilità di cibo in una zona, un gruppo nutrito di formiche viene inviato nello stesso posto, e a seconda della velocità a cui tornano al nido si aggiusta più precisamente la quantità di raccoglitrici da inviare.
Ci sono al mondo più di 11 mila specie soltanto di formiche, senza andare a prendere altri tipi di insetti sociali. Lavorano in ogni tipo di habitat, in ogni tipo possibile di rete ecologica, affrontando ogni tipo possibile di problema. Individualmente, ciascuna formica, o termite, o ape, è sufficientemente intelligente per mettere in pratica una serie di istruzioni complesse, ma la sua struttura nervosa non gli dà grossa flessibilità, il che implica che più meccaniche sono, meglio è.
Collettivamente, gli algoritmi che regolano il comportamento delle formiche devono essere scalabili, distribuibili, ed il più efficienti possibile. Sono una probabile miniera d’oro per soluzioni a problemi che neppure sappiamo ancora di avere.
|