Seleziona la tua lingua
Progressione esponenziale e singolarità
La progressione esponenziale è uno dei temi più discussi in ambito informatico poiché descrive l'andamento dello sviluppo tecnologico ma anche un limite alla complessità computazionale. Un problema che aumenta di complessità in modo esponenziale diventa presto insolubile poiché le risorse necessarie alla sua soluzione aumentano in breve tempo fino a superare i limiti pratici di tempo o spazio. Allo stato attuale di conoscenza, questo è un vincolo universale ed invalicabile, anche se i numeri a volte possono ingannara. La progressione esponenziale infatti aumenta in modo sorprendente per la mente umana perché i nostri processi cognitivi sono lineari e faticano a comprenderne l'andamento. Inizialmente la crescita sembra essere sotto controllo e non ci si preoccupa perché l'aumento non è ancora così ingente da destare i nostri sospetti. Esiste però un punto in cui questo andamento trascende la nostra comprensione superando i limiti della nostra mente: tale punto è detto singolarità.
Nonostante il nostro mondo sia per natura finito e soggetto a fenomeni lineari, i fenomeni esponenziali esistono e caratterizzano la nostra società. L'aumento della popolazione segue una legge esponenziale, così come la legge di Moore asserisce che ogni 24 mesi la potenza di calcolo di un computer, espressa come numero di transistor miniaturizzati nella sua CPU, raddoppia. Se il processo non subisce mutamenti, prima o poi si arriva alla singolarità.
Un esempio illuminante è dato dal goco degli scacchi. Sebbene la nascita del gioco sia avvolta nella leggenda, una di queste storie ne attribuisce l'invenzione ad un mercante indiano. La storia narra di un principe talmente ricco da potersi permettere ogni lusso. La sua vita era diventata tanto agiata al punto da risultare noiosa, tanto che un giorno bandì un concorso. A colui che sarebbe riuscito a divertirlo avrebbe concesso qualsiasi desiderio. In molti provarono ma senza successo, finché un giorno arrivò a corte un uomo, mercante e inventore. Questi omaggiò il principe con il gioco di sua invenzione, una scacchiera sopra alla quale ripose le trentadue figure intagliate nel legno.
Il mercante illustrò le regole del gioco e sfidò il principe, che venne sconfitto diverse volte. Alla quarta sconfitta il principe realizzò che quel gioco era davvero stimolante e decise di ricompensare il mercante. Questi fece una richiesta apparentemente modesta: chiese che gli venisse dato del riso. Un chicco per la prima casella della scacchiera, due per la seconda, quattro per la terza e così via, raddoppiando di volta in volta il numero di chicchi ad ogni casella successiva fino alla sessantaquattesima, come nello schema seguente:
20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 210 | 211 | 212 | 213 | 214 | 215 |
216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 |
224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 |
232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 |
240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 |
248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 |
256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 |
Il principe non comprese subito la portata della richiesta, gli sembrò anzi piuttosto modesta, quindi acconsentì. Quando i suoi contabili iniziarono a fare i calcoli scoprirono l'imbroglio. Il numero di chicchi necessario per soddisfare la richiesta del mercante superava di gran lunga la produzione mondiale, anche ammesso che l'intero pianeta fosse devoluto alla sola coltivazione di riso! Il mercante fu quindi giustiziato poiché il principe si trovò in scacco. La sua promessa non poteva essere ritrattata ma allo stesso tempo non era possibile soddisfare la richiesta del mercante.
In effetti il numero di chicchi su ogni casella segue la progressione delle potenze di 2, e sommando la serie fino alla sessantaquattresima casella il totale è 264-1 (due alla sessantaquattro meno uno), pari all'esorbitante numero di 18.446.744.073.709.551.615 (oltre 18 miliardi di miliardi). Anche se inizialmente il numero di chicci di riso non sembra così importante, c'è un punto arrivati al quale l'incremento si fa davvero preoccupante. Alla fine della prima riga il totale dei chicchi è appena 255. Alla fine della seconda siamo a 65.535 chicchi, mentre alla fine della terza abbiamo già superato i 16 milioni.
Considerando che un chicco di riso può pesare da 10 a 45 milligrammi, il peso complessivo dei chicchi posati sulla prima riga della scacchiera si aggirerà tra i 2,55 e 11,475 grammi. Alla fine della seconda riga il peso dei chicci sarà compreso tra 0,655 e 2,949 Kg, corrispondente ad alcuni piatti di riso. Alla fine della terza riga il peso aumenta in modo impressionante, attenstandosi nell'intervallo di 167,77 e 754,97 Kg. Inutile proseguire.
La leggenda della nascita degli scacchi era già nota durante il Medioevo con il nome di Duplicatio scacherii, tanto che vi appare un accenno anche nella Divina Commedia di Dante Alighieri, dove viene adoperata dal sommo poeta per dare un'idea al lettore del numero degli Angeli presenti nei cieli:
L'incendio suo seguiva ogne scintilla;
ed eran tante, che 'l numero loro
più che 'l doppiar de li scacchi s'inmilla.
(Dante Alighieri, Divina Commedia, Paradiso, canto XXVIII, versi 91-93)
La singolarità si verifica in tantissimi fenomeni umani in cui un'entità cresce al punto da sfuggire alla nostra comprensione. In campo tecnologico si manifesta con l'avvento di una tecnologia tanto avanzata da risultare incomprensibile alla nostra mente e superiore ad essa. Come si possa arrivare ad essa non è chiaro ma secondo il futurologo Raymond Kurzweil e la sua teoria dei ritorni accelerati, prima o poi sarà inevitabile. Basti confrontare il cervello umano con un microprocessore. Il numero di connessioni tra le parti del cervello, così come il numero di transistor all'interno del chip, può dare un'idea della potenza di calcolo di un essere umano e di un computer.
Nel cervello umano ogni neurone stabilisce mediamente 10,000 connessioni con altri neuroni. Si stima che un cervello contenga circa 1000 miliardi di neuroni, quindi le connessioni sono circa 1 milione di miliardi. Si pensa che un cervello umano possa immagazzinare tra i 10 e i 100 miliardi di informazioni elementari e che siano presenti al suo interno circa un quadrilione di connessioni sinaptiche.
Per quanto riguarda i computer siamo ancora molto lontani da questi numeri ma se pensiamo che un processore Intel 4004 del 1971 contava appena 2300 transistor al suo interno, mentre grazie alla miniaturizzazione e all'avanzamento tecnologico un moderno microprocessore di oggi può vantarsi di contenere alcuni miliardi di transistor, allora è evidente che negli ultimi 44 anni molta strada è stata fatta.
L'avvento di tecnologie superiori può accelerare l'avvento di ulteriori innovazioni. Confrontando il secolo trascorso con quello attuale, è come se quest'ultimo fosse durato 20000 anni in termini di avanzamento tecnologico. Tralasciando le teorie del complotto, c'è chi ha preso questa cosa molto seriamente.
L'informatica però ci insegna che futurologia e scienza spesso non vanno di pari passo. Allo stato attuale, l'intelligenza artificiale è una mera illusione se ce la figuriamo come un moderno Prometeo che porterà in dono alle macchine una coscienza umana. Qualsiasi problema di IA si riduce ad un problema di ricerca di soluzioni in uno spazio potenzialmente molto grande di possibilità. In questo senso una macchina può esibire un comportamento intelligente, mostrando di saper trovare soluzioni sensate a problemi complessi in tempi inferiori a quelli umani. Tecniche matematiche, logiche ed euristiche vengono impiegate per ridurre lo spazio di ricerca delle soluzioni per problemi molto specifici, come per esempio il gioco degli scacchi o l'ottimizzazione di un magazzino.
Resta comunque un fatto. Da sempre la società persegue il traguardo di una maggiore potenza di calcolo che non è mai abbastanza. Ciò che oggi è adeguato per svolgere i compiti più complessi domani non lo sarà più perché raggiunto un obiettivo il passo successivo sarà fare di più. Elaborazioni batch che un tempo impiegavano una notte, i cui risultati erano disponibili solo nella giornata successiva, oggi sono inutili perché si pretende di averli online o per lo meno su richiesta. Questa avidità di FLOPS (Floating Point Operations Per Seconds, di solito con prefisso Tera o Giga per indicarne i multipli di 10) porterà allo sviluppo di macchine sempre più complesse, fino al superamento delle nostre capacità mentali. Nonostante ciò non è chiaro ad oggi se questo traguardo sarà mai una minaccia.