Nella quasi totalità dei libri informatici e dei testi introduttivi ai calcolatori elettronici il computer, e in particolare la CPU, viene descritta come un dispositivo analogo al cervello umano, in grado di elaborare e memorizzare dati allo stesso modo in cui il cervello umano elabora e memorizza gli stimoli esterni.
Questa analogia è ottima per dare l’idea di cosa sia un computer ma se scendiamo nei dettagli ci rendiamo conto che il paragone è tutt’altro che preciso. L’architettura del cervello umano e quella di una CPU sono completamente differenti: la prima è estremamente parallelizzata mentre la seconda è praticamente seriale.
Nel cervello ogni cellula celebrale delle decine di miliardi di cellule nel cervello umano lavora quasi in completa autonomia, ogni zona del cervello lavora senza curarsi (o curandosene solo in casi specifici) di cosa fanno le altre zone e anche all’interno di un singolo settore possono svolgere micro-calcoli in contemporanea. Tuttavia le cellule umane sono estremamente lente con velocità dei segnali dell’ordine dei millisecondi.
Le CPU invece, anche nel migliore dei casi, non supera il numero delle 32/64 unità e quindi un grado di parallelizzazione di 32/64, insufficiente a dare un grande vantaggio prestazionale a qualsivoglia algoritmo. Tuttavia una CPU ha segnali che viaggiano quasi alla velocità della luce e il numero spaventoso di miliardi di operazioni al secondo.
È quindi ovvio che nel tentativo dell’ AI di replicare l’intelligenza umana subentrino difficoltà legate proprio alla differenza architetturale del sistema di origine e del sistema di destinazione. Si cerca infatti di replicare in modo efficiente algoritmi che funzionano bene su sistemi “paralleli” su dispositivi “seriali”. E la differenza può essere notevole! È infatti noto che modelli di calcolo equipotenti (come lo sono Cervello e CPU) non sono equivalenti quando subentra il fattore “spazio” e l’ancor più importante fattore “tempo”.
Algoritmi risolvibili in tempo esponenziale su un sistema possono essere risolti in tempo polinomiale su altre architetture e viceversa. Ad esempio la ricerca su un grafo, che viene eseguita scandendo progressivamente ogni singolo nodo, può essere notevolmente migliorata nel caso in cui vengano esplorati decine di milioni di nodi in contemporanea.
Quindi, al di là dei progressi teorici e algoritmici che da qui ai prossimi anni coinvolgeranno l’AI, ci sono progressi tecnologici che coinvolgono la struttura stessa dei calcolatori che potrebbero aprire nuove strade o riaprirne di vecchie (scartate perché poco efficienti su architetture tradizionali).
La creazione di un dispositivo che abbia un livello di parallelizzazione analogo a quello di un cervello umano ma allo stesso tempo conservi la velocità di calcolo di un computer tradizionale sembra ancora al di là delle possibilità tecnologiche umane, ma potrebbe essere un buon punto in cui concentrare la ricerca nel prossimo futuro. Magari sfruttando le nuove scoperte di computer quantistici e di spintronica.
Sicuro che il modello di calcolo di un computer e quello di un cervello siano equipotenti?
Sicuro. A meno che qualcuno non trovi qualcosa che il cervello può calcolare e una macchina di Turing no. Cosa che non è mai stata fatta.