di Ugo Spezza
Questo articolo
è in fase di revisione...
Vogliamo discutere in
questo testo le implicazioni relative alla possibilità di creare un
computer pensante, ossia una Intelligenza Artificiale di tipo
"forte" che sia in grado di interagire con esseri umani a pari o
superiore livello. Inoltre vogliamo qui verificare se è possibile
ipotizzare, pur con la limitazione delle attuali tecnologie, una
metodologia per ideare un "trasferimento di coscienza" del
tipo di quello immaginato dal famoso scrittore di fantascienza Arthur Clarck (2001
Odissea nello Spazio). Prima di procedere però bisogna cercare di capire
come è se un computer possa essere definito intelligente. Affinché ciò sia
possibile un tale computer dovrebbe superare il cosidetto “Test di Turing”.
 |
Questo test è stato ideato dallo scienziato Alan
Turing (1912-1954) considerato da molti, e non a torto, “padre dell’informatica
moderna”, alla quale ha dato le sue basi matematiche. La mente di questo
brillante scienziato si spense nel 1954 all’età di soli 42 anni, causa suicidio.
Turing infatti morì mordendo una mela che lui stesso aveva avvelenato con
cianuro di potassio. Da questo evento si dice che abbia poi tratto vita il logo
della Apple computer, che evidenzia appunto una mela morsicata.
Lo scienziato
venne portato al suicidio a seguito dell’accusa di omosessualità, “reato” per
cui negli U.S.A. venne addirittura arrestato nel 1931. Egli si giustificò
dicendo che non aveva mai fatto niente di male a nessuno. |
Chissà di cosa
sarebbe stata capace una delle menti matematiche più brillanti del
ventesimo secolo se l’oscurantismo di una società viziata da
pregiudizi non avesse posto fine alla sua esistenza.
Ma torniamo al test in questione, in modo
semplificato si può dire che un computer che superi il Test di Turing debba, a
tutti gli effetti, essere considerato un essere pensante. Ecco in cosa
consiste il test:
-
Un essere umano (A) posto in una stanza
isolata prende contatto, solo in forma dattiloscritta, con due personalità
presenti in due stanze attigue non potendo osservare, in quanto nascosti, i
suoi due interlocutori.
-
In una delle due stanze attigue vi è un
essere umano di media intelligenza (B), nell’altra un computer (C). Essi non
possono comunicare tra loro.
-
L’essere umano (A) deve conversare di
svariati argomenti, ad esempio filosofia, medicina, politica, attualità,
facendo addirittura pettegolezzi o battute di spirito con entrambi gli
interlocutori senza riuscire a distinguere minimamente chi tra (B) e
(C) sia l’essere umano e chi il computer.

Inutile dire che allo stato attuale della tecnologia
non esiste un computer capace di superare questo test, inclusi i mastodontici
mainframe della IBM o della Cray. I vari programmi di simulazione del
comportamento umano creati fino ad ora, ad esempio Mad, Eliza… sono facilmente
aggirabili. Tuttavia il neofita potrebbe a questo punto pensare che, essendo
stati costruiti dei computer capaci di giocare a scacchi essi possano essere
definiti macchine intelligenti in quanto tale gioco è riservato solo ad esseri
umani dotati di grande intelligenza e sagacia tattica. In effetti il giorno 11
Maggio del 1997 il super-computer DeepBlue della IBM riuscì, per la prima volta
nella storia, a battere un campione mondiale di scacchi. Gary Kasparov venne
sconfitto dal gigantesco elaboratore il quale, delle sei partite in tabellone se
ne aggiudicò due, ne perse una e tre finirono pari.
Tuttavia questo non deve portare a credere che la
macchina abbia “pensato” nell’eseguire le sue mosse; DeepBlue stava
semplicemente elaborando un programma software. I suoi 24 processori in
parallelo erano in grado di calcolare fino a 200.000 posizioni di scacchi al
secondo.
Per fare un esempio pratico ammettiamo che degli
istruttori addestrino a giocare uno scimpanzé affinché impari a fare una
apertura a scacchi, diciamo le prime dieci mosse di seguito, anche data la
limitata capacità cerebrale del primate ciò sarebbe assolutamente possibile.
Certo lo scimpanzé non capirebbe nulla del gioco degli scacchi in sé ma saprebbe
solo che se fa quelle cose gli viene dato un premio, diciamo una banana.
Ebbene, un giocatore umano che prendesse i pezzi
neri e non potesse vedere il suo avversario, di fronte alla sequenza delle prime
dieci mosse (il giocatore coi bianchi muove per primo…) sarebbe portato a
pensare che dall’altra parte vi sia un giocatore di scacchi umano. Dalla
undicesima mossa però la scimmia inizierebbe a mettere giù i pezzi a caso
perdendo irrimediabilmente. Immaginiamo però che si addestri una seconda scimmia
per fare altre dieci mosse, una terza, una quarta e cosi via, che subentrino
quando si verifica una determinata situazione di gioco, ebbene in questo caso la
partita proseguirebbe e l’essere umano verrebbe impegnato severamente.
Super-Computer come DeepBlue semplicemente hanno registrate in memoria (una
grande memoria) milioni di possibili combinazioni, anche riprendendo
informazioni da situazioni di “master chess”, ossia intere partite dei maestri
di scacchi memorizzate mossa per mossa.
Ma facciamo un altro esempio: chi scrive è un
discreto giocatore di scacchi ed usa il programma gratuito Brutal Chess (http://brutalchess.sourceforge.net)
riuscendo a battere il computer a livello di difficoltà “1” quasi sempre,
vincendo di rado a livello “2” e perdendo praticamente tutte le partite a
livello “3”. Ebbene è come se al livello “1” io mi trovassi a giocare da solo
contro un migliaio di scimmie, contro cinquantamila al livello “2” e contro un
milione al livello “3”. E’ chiaro che in quest’ultima situazione le possibilità
di previsione del labirinto delle mosse della partita da parte del cervello
umano è soverchiata dall’enorme numero di avversari “stupidi”. Ciò è dimostrato
anche dal fatto che il computer impiega diversi secondi per elaborare una mossa
al livello “3” in quanto cerca la soluzione in una grande base di dati, al
contrario gli occorrono solo alcuni istanti per eseguire la mossa ai livelli “2”
e “1”. Potete provarlo personalmente scaricando il programma in questione.
Un altro sistema che segnala in modo inequivocabile
che gli attuali computer sono intelligenti quanto può esserlo un frigorifero è
il test CAPTCHA, la cui sigla tradotta significa pressappoco questo: “Test
di Turing pubblico e completamente automatico per distinguere computer ed esseri
umani”; in pratica si tratta del test di Turing alla rovescia. In cosa
consiste? Ecco, guardate questa immagine (tratta da wikipedia):

Ebbene qualunque essere umano, compreso un bambino delle elementari, saprebbe
trarre da questa figura la seguente sequenza di lettere e numeri: 6138B. Al
contrario un computer non sarebbe mai in grado di leggerne il contenuto. Infatti
per l’interpretazione dei test i computer usano la tecnica OCR (Optical Caracter
Recognition) la quale, sfruttando tecniche matematiche come l’interpolazione
lineare e studiando le curve sinusoidali che compongono i singoli caratteri
riescono a ricostruire, a partire dalla scansione bitmap della pagina scritta,
il testo in essa contenuto. Ma è sufficiente che la pagina si presenti
leggermente corrotta, ad esempio quella prodotta in uscita da un Fax a bassa
definizione, perchè l’OCR inizi a generare almeno il 60% di errori
nell’interpretazione dei caratteri. Se poi lo sfondo della pagina contiene
rumore di fondo, con caratteri inclinati, di dimensione diversa e di diverso
colore il computer impazzisce del tutto riuscendo ad interpretare una
percentuale ridicola del testo.
Questa incapacità dei computer a leggere testi
interpretabili solo dal cervello umano fu usata per la prima volta dai
programmatori del motore di ricerca Altavista per impedire che programmi di
ricerca automatica (Bot) inserissero indirizzi iniqui nel loro database. La
tecnica CAPTCHA è attualmente usata da molti siti web per assicurarsi che chi
sta compilando un modulo per la iscrizione ad una chat, ad un forum ecc. sia
effettivamente un essere umano e non un Bot. Un altro esempio di come i computer
non riescano a pensare sono i programmi di traduzione automatica. In particolare
la traduzione dall’inglese all’italiano, che richiede spesso periodi a sintassi
rovesciata, produce in certi casi risultati esilaranti.
Uno dei mondi ove l’intelligenza artificiale è
applicata con maggior successo è nei videogiochi 3D. In questi casi l’avversario
umano si trova a combattere con armi simulate contro pseudo-giocatori generati
dal computer, anche qui chiamati Bot (abbreviazione incongrua di RoBot). Ebbene,
quando si gioca in rete contro un essere umano, ad esempio in un game di guerra
simulata, bisogna guardarsi sempre intorno per evitare di essere sorpresi
dall’avversario. Al contrario quando si affronta un Bot basterà stimolarlo
facendogli rilevare la propria presenza e poi nascondersi dietro l’angolo di un
muro. Quindi si potrà farlo fuori facilmente quando girerà l’angolo stesso
nel tentativo di inseguirvi. Al contrario un giocatore umano non girerebbe mai
quell’angolo, anzi vi ci piazzerebbe una mina, poi girerebbe dal lato opposto
per prendervi alle spalle.
Una posizione estrema rispetto all’argomento è
quella del filosofo John Searle (http://it.wikipedia.org/wiki/John_Searle)
il quale afferma che l’esecuzione di un programma software in un elaboratore non
potrebbe mai portare lo stesso a divenire un essere pensante. Ciò proprio a
causa delle limitazioni intrinseche alla programmazione. A sostegno di questa
tesi egli riporta un esperimento denominato stanza cinese la cui
onerosa descrizione rimando ad un prossimo articolo.
IPOTESI: Sarebbe possibile inserire i contenuti di una mente umana
in un computer?
Ma ammettiamo ora, anche senza avere prove, che in futuro si
possano realizzare computer a parallelismo massiccio, in grado di
apprendere dall’ambiente esterno ed autoprogrammarsi, in pratica di
“imparare”. Si parla in questo caso di Intelligenza Artificiale (IA)
di tipo “forte”. Queste macchine sarebbero dotate di almeno due dei
sensi umani più importanti: vista ed udito. Percepirebbero quindi
l’ambiente circostante e sarebbero in grado di interagire sia con
gli esseri umani che con altre IA del loro livello e, ovviamente, di
superare il Test di Turing senza il minimo problema. Da questa
situazione scaturisce la
domanda (A): “sarebbe possibile
trasferire i contenuti di un cervello umano in un elaboratore
elettronico ad intelligenza artificiale in modo da realizzare un
clone artificiale del cervello biologico?
Ad una analisi approfondita tale domanda
risulta però fuorviante poiché devono essere soddisfatte alcune
condizioni prima di porla. Ecco dunque che si genera un’altra questione:
domanda (B): “E’ possibile collegare
un cervello umano, con un qualsiasi tipo di infrastruttura,
biologica o elettronica che sia, ad un elaboratore elettronico?”
La risposta logica, con l’attuale tecnologia, è sicuramente un NO. Semplicemente
per il fatto che, a differenza degli elaboratori elettronici, il cervello umano
non dispone di porte di Output ossia non è in grado di inviare dati all’esterno.
Consideriamo infatti che il suo scopo primario è condurre alla esplorazione
dell’ambiente terrestre un organismo vivente, fargli cercare del cibo (energia)
per sopravvivere e preservare la sua salute fisica affinché porti a termine un
obiettivo: la preservazione della sua specie.
In altre parole, mentre un elaboratore elettronico
dispone di porte di uscita (es. Usb, Lan ecc.) dal quale si può accedere ai suoi
contenuti interni, un cervello biologico non ne dispone in quanto deve governare
un sistema “chiuso” quale è un organismo vivente. Le interazioni esterne con le altre
menti avvengono essenzialmente attraverso la parola o manifestazioni
fisiche del corpo. Tuttavia potrebbe essere possibile, in futuro, innestare
milioni di microcavi che si congiungano alle varie aree del cervello e ne
raccolgano i flussi di dati. Da questa situazione si genera la
domanda (C): “se trasmettessimo un
flusso di dati contenente la configurazione di una o più aree del
cervello umano in un elaboratore elettronico dotato di IA, sarebbe
esso in grado di interpretare i dati in tale flusso e,
successivamente, sarebbe in grado di simularli?”
La risposta è quasi sicuramente un altro NO in
quanto si tratta di sistemi di elaborazione profondamente diversi. In termini
informatici si pensi ad esempio di dover collegare un attuale PC con Windows
Vista, dotato di processore Core Quad e 4000 Megabyte di ram ad un Atari-ST, con
sistema operativo Tos, processore Motolorola 68000 e dotato di 0.5 Megabyte di
ram. Si tratta di sistemi diversificati sia nelle interfacce di Input/Output,
sia nel tipo di processore, sia nel sistema operativo, sia nella codifica dei
dati e sia nella potenza di elaborazione. La semplice trasmissione dei dati
sarebbe possibile in questo caso realizzando un protocollo di comunicazione
specifico unitamente ad un cavo di I/O progettato da zero. Ma anche così il
computer Atari sicuramente non sarebbe in grado di elaborare i dati in arrivo
dal PC. Invero, nemmeno il PC saprebbe come elaborare i dati presi dall’Atari-ST
via cavo ma potrebbe però far funzionare i programmi dell’Atari-ST realizzando
una macchina virtuale software che ricrei da zero il sistema operativo e simuli
l'hardware del computer tecnologicamente più semplice. Si
realizzerebbe così una emulazione dell’hardware del vecchio computer.
Questo comporterebbe però il dover avere il codice sorgente del sistema
operativo e del firmware dell’Atari-ST oltre che la conoscenza del modo di
funzionare dei suoi chipset.
Volendo traslare questo problema al trasferimento
dei dati tra un cervello umano ed una macchina ci troviamo in una situazione
drammaticamente più complessa. In questo caso infatti non abbiamo la possibilità
di interpretare i dati in ingresso, ossia quelli prelevati dal cervello umano,
in quanto gli stessi non sono scritti nel linguaggio binario dei computer.
Quindi un protocollo di comunicazione non sarebbe nemmeno implementabile se
prima non si interpretano i sistemi di elaborazione del cervello e se ne
comprende il funzionamento. In ingresso la mente artificiale riceverebbe dal
cervello umano solo una serie di dati incongrui.
Per risolvere il problema si dovrebbero scrivere dei
software che eseguano la “emulazione” dei contenuti cerebrali, sarebbe a dire
che riproducano il funzionamento del sistema nervoso in quanto tale nella sua
interezza. Ciò è estremamente complesso in quanto il sistema nervoso implementa
meccanismi inconsci, quali quelli che ci consentono di far battere il cuore,
respirare, digerire il cibo ecc. Anche questi sistemi, e non solo le funzioni
cognitive superiori, andrebbero emulati.
Per semplificare il processo dovremmo quindi
collegare un cervello umano ad un altro cervello umano e poi
esaminare col metodo informatico del man in the middle (usato spesso in
ambito hacker) il relativo flusso di dati in transito.
In questo modo si potrebbe capire come operino i “software” di gestione del
cervello. Da qui la macchina ad intelligenza artificiale, sondando i dati in
transito, potrebbe produrre dei software di emulazione.