12. Filosofia e intelligenza artificiale

di Roberto Cordeschi

12.1 La cibernetica e le scienze dell’artificiale

Il termine “cibernetica” è introdotto nel 1947 dal matematico Norbert Wiener (1894-1964), con riferimento a James Watt e al suo regolatore centrifugo inserito nella macchina a vapore, e soprattutto a Clerk Maxwell, che dei regolatori aveva dato una trattazione matematica generale nel 1868. La parola “regolatore” (governor in inglese) viene intesa da Wiener come la corruzione latina (gubernator) del termine greco kubernétes. Wiener definisce la cibernetica, nel libro pubblicato nel 1948 che la renderà popolare, come lo studio “del controllo e della comunicazione nell’animale e nella macchina”. Questa definizione meglio di altre coglie l’aspirazione originaria della nuova disciplina a presentarsi come una teoria unificata del comportamento degli organismi viventi e delle macchine dotate di autocontrollo, considerati come sistemi che soddisfano le stesse leggi fisiche.

Nelle macchine la nozione di controllo inteso come “retroazione negativa” assume un ruolo di primo piano con i dispositivi studiati dalla teoria del controllo automatico. Il comportamento di un sistema a retroazione negativa è regolato dal continuo confronto tra lo stato in cui esso si trova e quello fissato come parametro di riferimento, in modo che il sistema non si allontani mai troppo da quest’ultimo, rivelandosi dunque in grado di autoregolarsi o autocontrollarsi. Il già ricordato regolatore di Watt è un esempio di sistema del genere: esso mantiene approssimativamente costante la velocità di rotazione dell’albero motore di una macchina a vapore.

In un celebre articolo pubblicato nel 1943, lo psichiatra Warren McCulloch (1899-1969) e il logico Walter Pitts (1923-1969) propongono un modello idealizzato del neurone, visto come una “unità a soglia”, funzionante cioè secondo la “legge del tutto o niente”: un neurone scatta o non scatta a seconda che la somma degli impulsi che riceve superi o no una certa soglia.

Le prime macchine cibernetiche

Riprendendo questa idea, Frank Rosenblatt (1928-1971) progetta nella metà degli anni Cinquanta, negli Stati Uniti, una delle macchine più note dell’era cibernetica, il Perceptron. Esso manifesta un’elementare forma di apprendimento, consistente nell’imparare a discriminare e a classificare pattern visivi ovvero schemi, forme con costanti riconoscibili, come figure a forma di lettere. L’apprendimento è reso possibile dalla presenza nella macchina di uno strato di unità o neuroni con forza o “peso” regolabile dall’esterno in base a una fase di addestramento.

Una macchina molto diversa viene costruita qualche anno prima dallo psichiatra inglese William Ross Ashby (1902-1972), che la battezza “omeostato”. Essa incorpora un nuovo e importante concetto, quello di “ultrastabilità”: un sistema si dice ultrastabile quando non solo è in grado di autocorreggere il proprio comportamento, ma quando è anche capace di cambiare la propria organizzazione interna al fine di reagire in modo appropriato a un disturbo esterno non previsto, e di ristabilire spontaneamente il proprio stato di equilibrio. Ashby considera l’ultrastabilità alla base dell’adattamento e dell’apprendimento per prove ed errori.

12.2 L’Intelligenza Artificiale

Tutte queste diverse tendenze della ricerca cibernetica entrano in crisi molto presto, e tra gli anni Sessanta e Settanta sono drasticamente ridimensionate quando non abbandonate. Questo anche per l’affermarsi di una nuova disciplina, l’Intelligenza Artificiale (IA), che riprende il programma cibernetico dello studio unificato di organismi e macchine, ma su basi molto diverse.

Da sempre l’IA si è presentata sotto un duplice profilo: quello di disciplina ingegneristica, il cui obiettivo è di costruire macchine in grado di assistere l’uomo – e magari di competere con lui in diversi compiti soprattutto intellettuali –, e quello di disciplina psicologica, il cui obiettivo è costruire macchine le quali, riproducendo da vicino le caratteristiche essenziali dell’attività cognitiva umana, gettino una nuova luce su alcuni tradizionali enigmi della mente.

Forse la definizione dell’IA e dei suoi obiettivi più comunemente accettata è quella più generica: l’IA si propone di riprodurre, con programmi per calcolatore, comportamenti che, se osservati negli esseri umani, verrebbero definiti “intelligenti”. Per giustificare questa definizione, e altre possibili che si riferirebbero alle distinzioni che abbiamo richiamato, occorre accennare ad alcuni antefatti che hanno reso possibile la nascita stessa dell’IA: l’evoluzione dei calcolatori come macchine intelligenti.

Negli anni Quaranta del Novecento si verificano in rapida successione numerosi eventi che segnano una svolta nella costruzione delle macchine, e nella stessa concezione di macchina e di interazione uomo-macchina. Nel 1941, in Germania, Konrad Zuse costruisce il calcolatore digitale elettromeccanico Z3, e nel 1944, negli Stati Uniti, Howard Aiken costruisce il Mark I. Qualche anno dopo, nel 1946, J. Presper Eckert e John W. Mauchly completano, sempre negli Stati Uniti, la costruzione del calcolatore elettronico ENIAC. È in quel periodo che John Von Neumann dà il suo decisivo contributo all’architettura del calcolatore a “programma memorizzato”, poi costruito nel 1949 in Inghilterra con il nome di EDSAC. Al decennio precedente risale invece un altro contributo alla scienza dei calcolatori, che dunque ne anticipa la nascita: l’articolo pubblicato nel 1936-1937 di Alan Turing sulla macchina universale.

L’EDSAC possiede almeno due caratteristiche importanti che consentono di parlare di “intelligenza” dei calcolatori. In primo luogo è un elaboratore simbolico. In altri termini, è un calcolatore generale, programmato per manipolare, sotto forma di strutture di simboli, le entità più diverse: parole di una lingua naturale, espressioni matematiche, posizioni di un gioco, oggetti da riconoscere e classificare. In secondo luogo, nell’EDSAC è presente l’istruzione di “salto condizionato”. Con essa il programma può cambiare l’ordine di esecuzione delle istruzioni, in modo che, se una data condizione viene soddisfatta, vengono effettuate le operazioni specificate da una certa parte del programma (un sottoprogramma), altrimenti ne vengono eseguite altre, specificate da una diversa parte del programma (un altro sottoprogramma). Diventa dunque possibile dare al programma una certa capacità discriminativa, che gli permette di “scegliere” quale sequenza di istruzioni eseguire.

Nell’estate del 1956 si svolge negli Stati Uniti, a Dartmouth (nel New Hampshire), un seminario organizzato da John McCarthy (1927-2011), Marvin Minsky (nato nel 1927), Nathaniel Rochester (1919-2001) e Claude Shannon (1916-2001). In quel memorabile incontro, al quale partecipano coloro che sono ormai ritenuti i padri dell’IA (la scelta del nome, in particolare, si deve a McCarthy), si gettano le basi della nuova disciplina, vengono individuate alcune aree di ricerca rimaste classiche e si discutono i lineamenti dei primi programmi per calcolatori “intelligenti”.

Nei giorni di Dartmouth, è pronto per girare su calcolatore un programma ideato da Allen Newell (1927-1992), Clifford Shaw (1922-1991) e Herbert Simon (1916-2001), il Logic Theorist, che dimostra alcuni teoremi del calcolo enunciativo dei Principia Mathematica di Bertrand Russell e Alfred Whitehead. Ma bisogna ricordare almeno un altro programma la cui sperimentazione era cominciata qualche tempo prima, quello di Arthur Samuel (1901-1990) per il gioco della dama, in grado di migliorare le proprie prestazioni al punto di arrivare a battere ottimi giocatori. Altri programmi sarebbero presto seguiti: da quelli per la dimostrazione di teoremi della geometria ai primi programmi per gli scacchi.

Comuni a questi e ad altri programmi sono almeno le caratteristiche che abbiamo ricordato a proposito della programmazione dell’EDSAC. Essi elaborano strutture di simboli e, soprattutto attraverso complesse sequenze di applicazioni di regole di salto condizionato, sembrano simulare almeno i prodromi di una capacità ritenuta peculiare dell’intelligenza umana: quella di scegliere, davanti a un problema che dà luogo all’esplosione combinatoria delle mosse lecite, solo alcune sequenze di mosse che potrebbero portare alla soluzione. Classico è il caso del giocatore di scacchi, che ha di fronte a sé un numero ultra-astronomico di possibili mosse alternative, che Shannon calcola nell’ordine di 10120. L’intelligenza viene identificata con questa capacità selettiva della mente umana, del resto ben documentata dalla psicologia dei processi del pensiero. È proprio con quest’ultima che l’IA delle origini si confronta, aspirando al ruolo di nuova scienza della mente.

Ma anche presso i ricercatori meno attratti da questa ambiziosa aspirazione, il successo dei primi programmi alimenta la convinzione che compito dell’IA è la “programmazione euristica”, cioè lo studio e l’implementazione delle strategie di soluzione di problemi efficacemente selettive, o “euristiche”. Si tratta di euristiche generali, come ad esempio quella di affrontare un problema suddividendolo in problemi più semplici da risolvere in prima battuta, dunque di strategie che possono essere applicate a compiti di natura molto diversa: dagli scacchi alla logica, da problemi matematici a numerosi giochi e rompicapo.

La rappresentazione della conoscenza

È nel contesto di questi compiti, talvolta detti “problemi giocattolo” (toy problem), che la programmazione euristica sembra dimostrarsi efficace. Le vere difficoltà cominciano con i “problemi della vita reale” (real-life problem), quali comprendere una lingua, riassumere un testo, fare una diagnosi medica e così via. In questo caso il programma deve essere in grado di gestire una quantità di informazioni specifiche sul compito da portare a termine, le quali influenzano la natura stessa delle euristiche. I cosiddetti sistemi “esperti” o “basati sulla conoscenza” sono il risultato di questa esigenza.

Indipendentemente dall’evoluzione dei sistemi esperti, che hanno conosciuto applicazioni commerciali di notevole portata, l’attenzione per i problemi della vita reale ha contribuito a riqualificare molte aree di ricerca che si erano mostrate intrattabili con l’approccio della programmazione euristica della prima IA: dalla traduzione automatica alla comprensione del linguaggio naturale, dalla robotica alla visione artificiale.

La macchina di Turing

Nel 1936, in Sui numeri computabili con un’applicazione all’Entscheidungsproblem, il matematico inglese Alan Mathison Turing interviene nel dibattito attorno al problema della decisione, ovvero: data una qualunque proposizione matematica esiste un algoritmo che, applicato a quella proposizione, possa con certezza stabilire che la proposizione sia dimostrabile? Per rispondere a questo problema, Turing analizza e descrive passo dopo passo il procedimento in base al quale un essere umano esegue un calcolo algoritmico, ed elabora un modello di questo processo in un sistema che prenderà poi il nome di “macchina di Turing”.

Una “macchina di Turing” (MT) consiste in un sistema di controllo, costituito da un insieme finito di stati, e in una memoria esterna, costituita da un nastro monodimensionale finito, ma potenzialmente illimitato in entrambe le direzioni, suddiviso in celle, ciascuna delle quali è vuota oppure ospita un simbolo di un alfabeto finito. La macchina compie operazioni precise e definite: la testina può leggere, scrivere e muoversi verso destra o sinistra lungo il nastro oppure stare ferma.

Il processo di calcolo avviene quindi per passi successivi e discreti: spostamento a destra o sinistra della testina, sostituzione di un simbolo, cancellazione, lettura/scrittura, cambiamento di stato, fermata. I passi sono regolati da una serie di istruzioni non contraddittorie, ovvero da un programma. Dopo un numero finito di passi, il nastro conterrà un numero finito di simboli, eventualmente inframmezzati da celle vuote.

Le MT manipolano dunque espressioni su un nastro che funge da medium per gli input e per gli output e, contemporaneamente, da memoria di lavoro nel corso della computazione. I simboli manipolati possono essere di un qualsiasi tipo, il che permette alle MT di lavorare su rappresentazioni simboliche, mediante le quali si possono rappresentare, ad esempio, numeri.

Turing nel suo articolo analizza quali procedimenti matematici possono essere effettuati da una macchina di questo tipo, e ipotizza che tutti i problemi che possono essere risolti con un algoritmo possano essere risolti da una macchina di Turing. Dimostra poi che esistono problemi matematici che non possono essere risolti da alcuna macchina di Turing (e quindi, di conseguenza, da nessun algoritmo). Da ciò consegue una risposta negativa al problema della decisione.

Dimostra poi l’esistenza di una macchina di Turing universale, ossia una macchina programmabile, in grado di simulare il comportamento di qualsiasi altra macchina di Turing. La macchina di Turing universale costituisce il modello teorico dei moderni computer (ideato un decennio prima della realizzazione tecnologica dei primi computer, che risalgono alla metà degli anni quaranta).

Nel 1948 Alan Turing viene nominato direttore del Computing Laboratory dell’università di Manchester. È del 1950 il suo articolo Computing Machinery, nel quale si pone la domanda: “possono pensare le macchine?”. Nell’articolo Turing sostiene che l’unica possibile risposta a questa domanda consiste nel costruire una situazione sperimentale piuttosto particolare, che Turing chiama “il gioco dell’imitazione”, ma che da allora prenderà il nome di “test di Turing”. “Il gioco viene giocato da tre persone, un uomo [A], una donna [B] e l’interrogante [C]. L’interrogante viene chiuso in una stanza, separato dagli altri due. Scopo del gioco per l’interrogante è quello di determinare quale delle due persone sia l’uomo e quale la donna. Egli le conosce con le etichette X e Y e alla fine darà la soluzione “X è A e Y è B” oppure “X è B e Y è A”. Le risposte dovrebbero essere scritte, o meglio ancora battute a macchina, in modo che il tono di voce non possa aiutare l’interrogante. […] Poniamo ora la domanda: Che cosa accadrà se una macchina prenderà il posto di A nel gioco? L’interrogante darà una risposta errata tanto spesso di quando il gioco viene giocato tra un uomo e una donna?”. In questo modo Turing ritiene di aver riformulato il problema della possibilità di attribuire a una macchina la capacità di pensare in un modo sperimentale e verificabile, abbandonando la domanda iniziale troppo imprecisa e generica. Al termine del suo articolo, infatti, afferma: “Credo che entro circa 50 anni sarà possibile programmare calcolatori con una capacità di memorizzazione di circa 109, per fare giocare loro il gioco dell’imitazione così bene che un esaminatore medio non avrà più del 70% di probabilità di compiere l’identificazione esatta dopo 5 minuti di interrogazione. Credo che la domanda iniziale “Possono pensare le macchine?” sia troppo priva di senso per meritare una discussione. E credo che alla fine del secolo l’uso delle parole e l’opinione corrente si saranno talmente mutati che chiunque potrà parlare di macchine pensanti senza aspettarsi di essere contraddetto.”

Turing muore suicida quattro anni dopo, a soli quarantadue anni, dopo essere stato imprigionato e sottoposto a pesanti e assurde cure ormonali a causa della sua omosessualità. Durante la guerra aveva messo a disposizione il suo genio matematico per decrittare le comunicazioni effettuate dall’esercito tedesco attraverso la macchina Enigma. Laddove molti tra i migliori scienziati coinvolti non erano riusciti, egli riuscì, contribuendo alla vittoria dello schieramento alleato. Ma nemmeno queste glorie gli furono di aiuto nella battaglia contro i pregiudizi della società in cui viveva.

Margherita Marcheselli

Logicisti e antilogicisti

Appare necessario chiarire quale sistema di strutture simboliche sia più adeguato per rappresentare le conoscenze nel calcolatore. Ciò dà luogo a dispute molto vivaci all’interno della comunità dell’IA, che contrappongono ai “logicisti”, sostenitori della logica quale strumento di rappresentazione della conoscenza, gli “antilogicisti”. A Minsky si devono alcune idee influenti della tendenza antilogicistica. Egli propone, nei primi anni Settanta del Novecento, una struttura dati, il frame (“cornice”), nella quale è possibile rappresentare conoscenze sotto forma di prototipi. Al programma viene data piuttosto che la definizione esplicita di un concetto, ad esempio di uccello, una definizione basata su un prototipo. Questo, come avviene nel caso degli esseri umani, può essere modificato in qualche sua caratteristica a seconda delle diverse esigenze o dei diversi contesti, in presenza di eccezioni o di aspettative mancate. Per restare all’esempio, si pensi alla caratteristica di volare, evidentemente presente nel prototipo del concetto di uccello, ma da modificare nel caso di un uccello che non voli (uno struzzo, poniamo). Altre strutture-dati proposte in IA condividono questa stessa impostazione, come gli script (“copioni”) di Roger Schank o i “modelli mentali” di Philip Johnson-Laird.

In McCarthy si riconosce invece l’ispiratore della tendenza logicista, la quale ha sviluppato diverse tecniche logico-formali nel tentativo di affrontare lo stesso difficile problema delle eccezioni e delle aspettative mancate, e in generale del ragionamento, sfumato e allusivo, tipico del comune buon senso umano.

Il connessionismo

Una strada alternativa, inizialmente ritenuta promettente per affrontare questa e altre difficoltà dell’IA, viene suggerita dalla ripresa della ricerca sulle reti neurali negli anni Ottanta, all’insegna del cosiddetto “connessionismo”. Le reti neurali dell’epoca cibernetica, come il ricordato Perceptron, non si mostrano in grado di competere con i primi programmi su calcolatore dell’IA. Le speranze di simulare le principali caratteristiche dell’intelligenza con macchine di questo tipo si arenano ben presto. Ma all’inizio degli anni Ottanta alcuni risultati aprono nuove frontiere alla ricerca, in particolare quelli del fisico di Princeton John Hopfield e quelli dello psicologo David Rumelhart.

Da quel momento non pochi ricercatori cominciano a considerare le reti neurali come una possibile via per uscire dalle ricordate difficoltà dell’IA e per progettare modelli cognitivi più adeguati, perché ritenuti più vicini all’architettura del cervello reale. Le reti neurali posseggono una memoria distribuita, basata su procedure di tipo associativo piuttosto che su indirizzi, come nel caso del calcolatore; inoltre, manifestano un fortissimo parallelismo nell’elaborazione dei dati, rispetto all’elaborazione seriale tipica del calcolatore, e appaiono in grado di migliorare le loro prestazioni, specialmente a confronto con la rigidità manifestata da molti programmi di IA. L’introduzione di un livello di microstrutture (riassumibile nei concetti di nodo, di attivazione e di connessione tra i nodi di una rete) più “in basso” rispetto a quello delle macrostrutture simboliche come i frame o gli script ha reso possibile questi sviluppi. Su questa base Paul Smolensky ha contrapposto il paradigma “subsimbolico” del connessionismo (al quale viene spesso assimilata buona parte della ricerca sulle nuove reti neurali) a quello “simbolico” dell’IA precedente.

Verso la nuova IA

Il paradigma simbolico non è stato scalzato, tuttavia, da quello subsimbolico. Tra gli anni Ottanta e Novanta vanno ricordati i programmi di simulazione della scoperta scientifica, dei quali Herbert Simon (1916-2004) è stato uno dei promotori. In quegli stessi anni, Douglas Lenat (nato nel 1950) ha lanciato il progetto CYC, un programma in via di definizione, progettato per essere in grado di gestire un volume di conoscenze sempre più ampio. A queste ricerche vanno affiancate quelle centrate sugli agenti intenzionali e sui sistemi multiagente, nei quali agenti diversi cooperano in varie attività di pianificazione e di soluzione di problemi. Alcune di queste ultime ricerche, come pure quelle più classiche sulla rappresentazione della conoscenza, hanno finito per trovare anche applicazioni nel vasto mondo del web, dai sistemi ipertestuali ai motori di ricerca. La scelta del livello subsimbolico per la costruzione dei modelli della cognizione ha comunque messo in discussione la separazione tra lo studio della mente e quello del cervello: una separazione che, sia pure in forme diverse, è stata comunemente accettata dai ricercatori di IA e di scienza cognitiva. Il filosofo Hubert Dreyfus già alla fine degli anni Sessanta aveva criticato come fallimentare la tendenza dell’IA di studiare la mente come separata dal corpo, da lui inteso come l’insieme delle capacità e delle attività percettive e motorie come sono da noi stessi esperite nell’interazione con il mondo, con tutto il nostro bagaglio di esperienze emotive e non solo cognitive. Queste vecchie obiezioni di Dreyfus all’IA delle origini godono ora di una diffusa popolarità, anche tra i sostenitori della cosiddetta “nuova IA” la quale, in polemica soprattutto con l’IA simbolica ma anche con quella subsimbolica, ha spostato con forza l’attenzione sullo stadio della percezione del mondo reale, uno stadio ritenuto il presupposto ineludibile per la spiegazione dell’attività intelligente.

È l’attenzione per questo fenomeno che ha ispirato la nuova IA nelle sue diverse tendenze, venute alla ribalta a partire dalla seconda metà degli anni Ottanta. In primo luogo va ricordata la robotica originata dalle ricerche di Rodney Brooks al Massachusetts Institute of Technology (MIT). I suoi semplici robot riescono a muoversi coerentemente in ambienti reali senza far uso di rappresentazioni simboliche. Nuovi scenari si sono aperti nel frattempo con la robotica umanoide, che in prospettiva consentirà forme inedite di interazione uomo-macchina.

Tra le altre tendenze della nuova IA vanno poi ricordate la vita artificiale, promossa da Cristopher Langton (che ha posto al centro dei suoi modelli le nozioni di sviluppo, evoluzione e comportamento emergente) e i sistemi dinamici complessi (che tentano un approccio generale alla cognizione antitetico a quello della macchina di Turing). Molte di queste nuove tendenze, tuttavia, convivono con quelle classiche, talvolta integrandosi positivamente in esperienze “ibride”, cosicché, ancora una volta, appare difficile inquadrarle in un paradigma unitario, contrapposto a quello della “vecchia” IA simbolica.