Macchine intelligenti Quarta dispensa Le critiche all’intelligenza artificiale e i nuovi paradigmi Introduzione L’obiettivo di fondo della ricerca sull’intelligenza artificiale, era quello di costruire computer almeno in parte intelligenti. E questo progetto, come abbiamo già rilevato nella precedente dispensa, è andato incontro a molte delusioni. Analizzare il comportamento intelligente, e riuscire a farlo riprodurre da una macchina, si è rivelato assai più complicato di quanto non sembrasse in prima istanza, soprattutto quando si è cercato di riprodurre al computer l’intelligenza comune, quella capacità che orienta il comportamento quotidiano di ogni essere umano. I sostenitori dell’intelligenza artificiale, però, non si sono scoraggiati. Il compito di costruire una macchina intelligente, dicono, è certo difficile, ma non è impossibile, e con il tempo sarà possibile conseguire risultati soddisfacenti. A questo atteggiamento ottimistico si sono opposti diversi filosofi e scienziati, che hanno sollevato critiche radicali all’intelligenza artificiale. Tra di essi vi è il filosofo americano John Searle, che ha cercato di confutare i fondamenti teorici stessi del progetto dell’intelligenza artificiale. La critica all’intelligenza artificiale elaborata da John Searle non è l’unica. Un atteggiamento altrettanto scettico verso questa disciplina è molto diffuso anche tra gli scienziati e i medici che studiano la struttura ed il funzionamento del cervello. Per quale ragione? Secondo l’intelligenza artificiale il pensiero è una specie di ‘programma’ eseguito dal nostro cervello. Come un normale PC esegue il sistema operativo e i vari programmi applicativi, così il nostro cervello ‘eseguirebbe’ dei programmi per il linguaggio, per il ragionamento e così via. Per quanto riguarda i computer sappiamo che la capacità di eseguire programmi non dipende dai materiali con cui essi vengono costruiti ma solo dalla loro organizzazione logica. I primi computer erano basati su valvole simili a quelle usate nelle vecchie radio dei nostri nonni. Quelli moderni invece si basano su piccolissimi microcircuiti stampati su una lastra di silicio. E sono già in corso degli studi per realizzare computer ‘molecolari’ o ‘quantici’. Ma è possibile dire che il pensiero e la mente non hanno nulla a che fare con il modo in cui è fatto il cervello? Ebbene la maggior parte degli scienziati che studia il cervello sono convinti che questo non è possibile. È solo grazie alla meravigliosa e complicatissima struttura di questo organo, al modo in cui esso funziona e in cui è collegato al resto del corpo che noi esseri umani possiamo pensare. Il nostro cervello è costituito da una enorme quantità di cellule, i neuroni, collegate fra loro a formare una specie di rete tridimensionale lungo la quale si scambiano incessantemente segnali. Una rete talmente intricata che probabilmente non riusciremo mai a sapere quante possibili connessioni possa avere. Molti studiosi sono convinti che una macchina, per essere intelligente, dovrebbe simulare proprio questo incessante brulichio mediante delle reti neurali artificiali. Collegato a questo nuovo paradigma nello studio dei sistemi intelligenti, chiamato connessionismo, c’è una disciplina consolidatasi negli ultimi dieci anni. Si tratta della ‘vita artificiale’ (artificial life, o alife) che, come potrete immaginare, affronta il tema dello studio e della simulazione informatica dei sistemi biologici e dell’evoluzione. Searle e l’argomento della stanza cinese Come abbiamo visto nella prima dispensa, i fondamenti teorici di molta parte dell’intelligenza artificiale sono la teoria rappresentazionale della mente e l’equivalenza formale tra cervello e macchina di Turing. Queste due teorie hanno avuto una larghissima diffusione sulla scena della filosofia della mente per oltre quaranta anni e sono tuttora sostenute, in varie forme, da molti importanti filosofi e studiosi, e in particolare dalla maggioranza dei ricercatori e degli scienziati che operano nel campo della IA. Non sono tuttavia pochi i filosofi che vi si sono opposti strenuamente. Tra di essi uno dei più autorevoli e tenaci è il filosofo John Searle che a più riprese ha cercato di confutare l’idea che il pensiero umano sia riducibile ad una semplice elaborazione di simboli. La sua argomentazione propone fra l’altro un gioco ideale: il gioco della stanza cinese, che funziona in questo modo. Immaginiamo di prendere una persona qualsiasi che non sappia una parola di cinese. Ora, supponiamo che la persona in questione venga messa una stanza. Nella stanza ci sono un’infinità di piccole scatole che contengono dei foglietti di carta su cui sono disegnati tutti i possibili ideogrammi della scrittura cinese. La persona nella stanza non conosce il cinese. Dunque per lei questi simboli sui fogli non sono che scarabocchi privi di significato. A questo punto immaginiamo che insieme ai fogli con gli ideogrammi al nostro personaggio venga fornito un manuale in italiano che contiene un insieme di istruzioni come questa: se ricevi il simbolo che ha la stessa forma di quello nella scatola X allora restituisci il simbolo nella scatola Y. Anche senza capire nulla del cinese il soggetto potrebbe eseguire queste istruzioni, basandosi esclusivamente sulla forma dei simboli. Ora, immaginiamo che fuori dalla porta ci sia una persona che conosce il cinese. Questa persona di tanto in tanto manda dentro alla stanza una serie di simboli cinesi che corrispondono a frasi perfettamente sensate. Ad esempio: “che colore preferisci?” La persona dentro alla stanza, naturalmente, non capisce questi messaggi. Tuttavia, guarda attentamente i simboli ricevuti, e cerca nel manuale se esiste una regola che li riguardi; se c’è, la esegue scrupolosamente. Supponiamo che le regole scritte sul manuale siano fatte in modo tale che la serie di simboli che la persona nella stanza estrae dalla scatola e restituisce siano riposte sensate alle domanda. Ad esempio: “Il colore che preferisco è l’azzurro”. Ebbene in questo caso la persona fuori dalla stanza sarebbe convinta di parlare con qualcuno che conosce perfettamente il cinese, anche se in realtà la persona dentro la stanza non sa una sola parola di quella lingua! Se riflettiamo sul gioco proposto da Searle ci rendiamo conto che esso assomiglia alla descrizione funzionale di un computer. Infatti: • la persona nella stanza è assimilabile al computer (o al processore) • il manuale è il programma eseguito dal processore e scritto nel suo linguaggio macchina, • i simboli nelle scatole sono i dati usati dal programma per ‘rispondere’ alle domande in cinese L’argomentazione proposta da Searle voleva appunto dimostrare questo: anche se fosse possibile trovare tutte le regole che ci permettono di parlare una lingua, di ragionare, o di fare ogni altra attività intelligente che desideriamo, comunque i computer non potrebbero mai capire veramente quello che fanno. Il problema secondo Searle consiste nel fatto che i computer manipolano i simboli esclusivamente in base alla loro forma o sintassi, ma non al loro significato, o semantica. Il significato infatti è una proprietà primaria che deriva ai simboli dal fatto di essere usati in riferimento al (o di intendere il) mondo esterno. E questa facoltà di riferimento al mondo o intenzionalità è una qualità non riducibile o spiegabile in termini puramente simbolici o sintattici. Solo un cervello fatto così e così, collocato dentro ad un corpo dotato di certi apparati sensoriali e in grado di entrare in relazione con l’ambiente può causare i fenomeni mentali. Caratteristiche che i computer non hanno: Il cervello è un organo biologico specifico e le sue proprietà biochimiche specifiche gli consentono di causare la coscienza e altri tipi di fenomeni mentali. Le simulazioni al calcolatore dei processi cerebrali forniscono modelli degli aspetti formali di questi processi, ma la simulazione non va confusa con la riproduzione. Il modello computazionale dei processi mentali non è più reale di quello di qualsiasi altro fenomeno naturale.1 Naturalmente i fautori dell’intelligenza artificiale, o in generale della teoria rappresentazionale della mente, hanno reagito proponendo diverse controargomentazioni all’attacco di Searle. Molte di queste risposte hanno un carattere tecnico che non possiamo affrontare in questa sede. Ci limiteremo a ricordarne solo due. La prima, un po’ paradossalmente, sostiene che sebbene la persona nella stanza non capisca il cinese, la stanza nel suo complesso sì. Detto in termini più formali, è il sistema di elaborazione nel suo complesso che gode della proprietà di essere intelligente. Esattamente come nel nostro cervello le singole cellule nervose (che, vedremo, svolgono compiti di elaborazione di informazione, anche se in modo affatto diverso dai calcolatori 1 Searle, J., La mente è un programma?, in «Le Scienze quaderni», n. 66, giugno 1992, p. 8. digitali) prese singolarmente non mostrano intelligenza, mentre il sistema cerebrale innegabilmente è intelligente. Secondo Searle, tuttavia, questa mossa teorica, che egli definisce ardita, non regge. Basterebbe una semplice modifica dell’esperimento mentale della stanza cinese per confutarla: ad esempio, potremmo immaginare che la persona imparasse a memoria le forme dei simboli e il prontuario delle regole. A questo punto essa potrebbe lavorare anche all’aperto e non ci sarebbe nessun sistema più complesso a cui appellarsi. Una seconda serie di obiezioni alle tesi di Searle si basano su un argomento ancora più radicale. Il problema messo in evidenza dal filosofo americano è la mancanza di semantica o di intenzionalità dei sistemi formali. Ma ci si può domandare, che cosa è questa semantica? Esiste un fenomeno naturale spiegabile scientificamente che risponde alla definizione di semantica? In effetti sia la critica di Serale, sia quelle simili di altri studiosi come Richard Dreyfus, fanno appello a una facoltà primaria irriducibile e dunque non spiegabile scientificamente, se non mediante petizione di principio: le semantica esiste, e siccome un computer non ha semantica allora un computer non può essere intelligente. Ma se la semantica non esistesse come fenomeno primario? In fondo, moltissimi fenomeni fisici che sembravano determinati da proprietà irriducibili sono stati spiegati o ridotti a fenomeni fisici più semplici (si pensi alla natura della luce o del magnetismo). Dunque nulla ci vieta di immaginare che in realtà la semantica non sia altro che il prodotto osservabile di una complessa serie di interrelazioni tra processi puramente sintattici posti su vari livelli gerarchici. E per l’obiezione che il computer è privo di corpo, basta semplicemente dotare la macchina di strumenti di percezione e di effettori (dispositivi in grado di agire sul mondo circostante), per risolvere il problema. Non a caso le recenti tendenze nel campo dell’intelligenza artificiale hanno ripreso la sperimentazione nel campo della robotica, cercando di realizzare agenti artificiali dotati di corpi meccanici strutturalmente simili a quelli degli organismi naturali. Naturalmente il dibattito sui fondamenti (o sulle pretese, a seconda dei punti di vista) dell’intelligenza artificiale è proseguito a lungo e prosegue ancora oggi, sebbene molto dell’entusiasmo dei primi anni sia scemato. Ma una analisi approfondita di questo dibattito esula dagli scopi di questo corso. I lettori interessati potranno far riferimento ai testi citati nella bibliografia per approfondire questi aspetti. Un nuovo paradigma: le reti neurali e il connessionismo L’intelligenza artificiale, come abbiamo detto più volte, sostiene che le facoltà cognitive di un agente intelligente derivino dalla sua natura di ‘manipolatore’ automatico di simboli. Abbiamo visto che questo genere di sistemi, a partire dalla macchina di Turing fino ad arrivare al computer digitale, sono totalmente indipendenti dal mezzo materiale con cui vengono realizzati. Un computer può essere fatto tanto con componenti elettronici al silicio quanto con componenti meccanici (leve, ruote, alberi di distribuzione e pulegge, come la macchina di Babbage2) o elettromeccanici (come i primi computer che usavano valvole termoioniche). Ma potrebbe anche essere costituito da un semplice insieme di molecole in grado di interagire mediante reazioni chimiche, o da cellule organiche che si scambiano proteine ed enzimi3. Ciò che conta in un computer è la sua struttura formale e funzionale: se in una macchina, comunque essa sia costruita, vi sono dei componenti che svolgono le funzioni previste dal modello teorico di Von Neumann4, essa funzionerà esattamente come un normale PC. Questo ovviamente vale anche per i processi mentali, posto che la mente sia veramente il ‘prodotto’ delle computazioni simboliche del cervello. La struttura biologica di quest’ultimo, dunque, sarebbe completamente irrilevante ai fini di spiegare la natura dell’intelligenza. Tuttavia questa affermazione così radicale non è ovviamente condivisa da tutti gli studiosi. Sembra strano che la struttura biologica e le fisiologia di un organo complesso come il nostro cervello (e della sua ramificata propaggine, il sistema nervoso) non abbia niente che fare con l’intelligenza. In primo luogo, si osserva, allo stato attuali delle conoscenze circa il funzionamento del cervello, risulta piuttosto arduo individuare al suo interno un qualche meccanismo che sia funzionalmente equivalente ad una 2 Si veda la relativa scheda nel secondo capitolo. Non si tratta di esempi un po’ fantasiosi. Esistono veramente dei progetti di ricerca volti alla costruzione di computer molecolari o biologici, che sarebbero assai più veloci degli attuali computer elettronici. 3 4 Anche su questo modello ci siamo soffermati nel secondo capitolo. macchina formale automatica a stati discreti e sequenziali. Anzi, per quanto si è potuto verificare, nel cervello si verificano miliardi di processi contemporanei (o paralleli) e caratterizzati da variazioni di stato continue. In secondo luogo, esistono delle capacità cognitive come la percezione (visione, udito, tatto) che ragionevolmente non sembrano riducibili a processi computazionali simbolici. Infine abbiamo visto come, nonostante i cinquanta anni di ricerche e sperimentazioni, l’intelligenza artificiale classica non sia ancora riuscita a costruire dei modelli computazionali delle varie facoltà cognitive umane plausibili ed effettivamente funzionanti. Tutte queste considerazioni hanno portato, a partire dalla fine degli anni ’70, alla nascita di una nuova impostazione nello studio della mente (e parallelamente nella costruzione di macchine intelligenti). Questa nuova impostazione si chiama connessionismo. Il fondamento teorico del connessionismo, che rovescia completamente le tesi della IA classica, in estrema sintesi è il seguente: per spiegare e/o riprodurre l’intelligenza e tutte le facoltà cognitive di un essere umano (o di qualche altra specie animale) è necessario emulare le proprietà e la fisiologia del cervello, ovvero il funzionamento delle sue cellule. La struttura cellulare del cervello e la sua fisiologia Studiare la struttura biologica e la fisiologia del cervello è un compito tutt’altro che facile. Tuttavia a partire dall’inizio del nostro secolo sono stati fatti dei grandissimi passi in avanti in questo campo. Oggi disponiamo di apparecchiature, come la TAC, che ci consentono di ottenere immagini dettagliate del cervello in attività. E molte conoscenze sono venute anche studiando i danni e le disfunzioni riportate da persone cerebrolese. In questo modo i neuroscienziati sono riusciti a capire che tutte le attività intelligenti sono controllate dalla parte esterna del cervello, quella parte caratterizzata da un superficie involuta di colore grigiastro e chiamata corteccia cerebrale. E sappiamo anche che la corteccia è a sua volta divisa in diverse regioni specializzate: ogni regione controlla una determinata facoltà cognitiva. Ma le conoscenze sul cervello non si fermano qui. I neuroscienziati, infatti, sono riusciti a ricostruire anche la struttura cellulare del cervello e a capirne almeno in parte il funzionamento. Il cervello è costituito da un enorme insieme di cellule, denominate neuroni. I neuroni sono costituiti da un corpo centrale o soma, dal quale si dipartono una serie di prolungamenti filiformi; alcuni di questi prolungamenti sono piuttosto ‘corti’ e terminano a loro volta in strutture fortemente ramificate: essi sono denominati dendriti. Uno dei prolungamenti invece è molto più lungo degli altri (talvolta, come avviene nelle cellule collegate direttamente agli organi sensoriali esso può estendersi persino per diverse decine di centimetri) e si chiama assone. Anche l’assone termina in una o più ‘code’ alla cui estremità si trova una sorta di rigonfiamento, detto sinapsi. Ogni neurone è collegato mediante le sue terminazioni sinaptiche ai dendriti di molti altri neuroni. In questo modo i neuroni, che nel cervello umano sono circa dodici miliardi, formano un reticolo di interconnessioni fittissimo: secondo alcune stime il numero di connessioni possibili (che ovviamente non sono pari a quelle realmente esistenti) sarebbe superiore al numero degli atomi nell’universo! Ma come funzionano queste cellule, ed in che modo determinano l’attività del cervello? Ebbene, si è scoperto che i neuroni comunicano tra loro scambiandosi dei segnali elettrici e attivandosi reciprocamente. Il rilascio di un segnale da parte di un neurone non è automatico e immediato: affinché avvenga è necessario che il neurone venga eccitato da altri neuroni fino al superamento di una certa soglia; solo allora la cellula invia un segnale agli altri neuroni con cui è collegata. I segnali in uscita da un neurone viaggiano sotto forma di minuscoli impulsi elettrici cha vanno dal nucleo della cellula, lungo l’assone, fino alle sinapsi. Quando le cariche giungono alle terminazioni sinaptiche esse inducono la liberazione di particolari molecole dette neurotrasmettitori; queste a loro volta raggiungono le terminazioni dendritiche dei neuroni collegati all’assone, e scatenano una reazione chimica che permette il passaggio del segnale elettrico da un neurone all’altro. Studiando l’attività biochimica dei neuroni mediante dei raffinati sistemi di rilevamento, si è notato che ogni diversa facoltà cognitiva e locomotoria corrisponde ad una aumento di attività in particolari aree del cervello. Si suppone perciò che il cervello abbia una struttura modulare: ogni modulo è specializzato per un certo tipo di attività. Le reti neurali Le ricerche di impostazione connessionista hanno cercato di emulare il comportamento delle cellule neuronali facendo ricorso alle cosiddette reti neurali: Una rete neurale è una struttura formata da un certo numero di unità collegate tra loro da connessioni. Attraverso le connessioni un’unità influenza fisicamente le altre unità con cui è collegata. Le unità hanno alcune caratteristiche essenziali delle cellule nervose, i neuroni del sistema nervoso reale, mentre le connessioni alcune delle caratteristiche essenziali dei collegamenti sinaptici tra neuroni 5. Una rete neurale è costituita da un insieme di nodi collegati. Per ogni nodo vi sono dei collegamenti di input (da cui arrivano segnali) e dei collegamenti di output (attraverso cui la rete emettte segnali). I nodi possono assumere due stati: stato di riposo e stato di attivazione. Quando un nodo è in stato di attivazione esso invia dei segnali ai nodi con cui è collegato. Un aspetto importante della microfisiologia cerebrale che viene emulato dalle reti neurali è il sistema di eccitazione. Infatti i collegamenti tra i nodi di una rete neurale sono di due tipi: collegamenti eccitatori e collegamenti inibitori. Ogni collegamento tra un nodo della rete e un altro, inoltre, è dotato di un peso. Il peso del collegamento che assegna diversi valori ai segnali che li attraversano. Ogni nodo diventa attivo e dunque manda un segnale ai nodi ad esso connessi solo se i messaggi che gli arrivano (nel computo tra segnali inibitori e segnali eccitatori) lo portano oltre una certa soglia di attivazione (misurata mediante una scala numerica). Visto nel suo complesso, il comportamento di una rete neurale può essere descritto come un processo in cui, una volta fornita in ingresso alla rete una configurazione di segnali-stimolo (mediante l’attivazione di alcuni suoi nodi, detti nodi in input), la rete rilascia in uscita un’altra configurazione di segnali. Le reti neurali si differenziano in base alla loro architettura, cioè in base al modo in cui i nodi si dispongono su uno o più strati: in particolare si distinguono reti a uno strato, reti a due strati reti a tre o più strati. In questi ultimi due tipi gli strati esterni svolgono rispettivamente la funzione di strato di input e strato di output, un po’ come nel cervello ci sono cellule che sono in contatto diretto con gli organi di senso e cellule che governano il movimento e l’emissione di messaggi vocali. Un altro aspetto che differenzia le reti neurali è rappresentato dalla tipologia delle connessioni tra i nodi: in alcuni casi le connessioni viaggiano solo in un senso; in altri, i messaggi possono andare sia in avanti sia indietro; in altri ancora, nodi topologicamente distanti possono avere dei collegamenti diretti. Dal punto di vista della implementazione, una rete neurale può essere simulata interamente ‘via software’ mediante un normale calcolatore digitale; oppure può essere realizzata direttamente a livello hardware, mediante la connessione di molti semplici microprocessori in grado di lavorare in parallelo. Quali proprietà hanno le reti neurali che le rendono, oltre che un modello (a dire il vero ancora ‘alla lontana’) del cervello, un possibile modello dei comportamenti intelligenti? Una prima proprietà interessante è che le reti neurali, a differenza dei computer digitali, funzionano in modalità parallela, nel senso che in ogni istante molti nodi cambiano il loro stato simultaneamente. Questo tipo di elaborazione sembra essere molto più aderente al funzionamento reale del cervello rispetto al modello di elaborazione sequenziale proprio delle macchine di Turing e Von Neumann. Ma la proprietà più interessante delle reti neurali è la loro capacità di apprendimento: esse cioè possono imparare a svolgere dei compiti senza bisogno di essere programmate esplicitamente. Il processo di apprendimento avviene in questo modo: per un dato periodo di tempo vengono forniti alla rete una serie di stimoli in entrata e i corrispondenti stimoli in uscita che essa dovrebbe generare. Ad esempio, in entrata vengono fornite le rappresentazioni in formato bitmap dei caratteri di un certo sistema di scrittura, e in uscita le corrispondenti posizioni della tavola ASCII6. Durante questo periodo nella rete vengono modificati i pesi assegnati ai collegamenti tra nodi. Superata un certa soglia di autorganizzazione interna la rete è in grado di riconoscere da sola le configurazioni di input: essa ha cioè imparato a riconoscere i caratteri della scrittura. Un’altro aspetto estremamente interessante delle reti neurali (soprattutto in relazione al discorso sui fondamenti dell’intelligenza artificiale classica e sulla teoria rappresentazionale della mente) è che in esse la conoscenza necessaria a svolgere un dato compito non è rappresentata da simboli distinti che vengono 5 D. Parisi, Mente. I nuovi modelli della vita artificiale, Il mulino 1999, p. 80. 6 Della tavola ASCII abbiamo parlato nel primo capitolo. trasformati in base a regole, ma è diffusa tra tutti i nodi della rete che concorrono ad elaborala. In altri termini, la conoscenza insita in una rete neurale e la sua elaborazione sono subsimboliche. Anche da questa nostra breve trattazione, appaiono evidenti le ragioni in virtù delle quali si afferma che il connessionismo rappresenti un paradigma teorico radicalmente diverso dalla teoria computazionale classica: esso in primo luogo sostiene che per ottenere un comportamento intelligente è necessario emulare la struttura fisica (cellulare per la precisione) del cervello; ma soprattutto sostiene che i processi cognitivi e, inter alia, il pensiero, non sono il prodotto di processi computazionali simbolici, ma emergono dal comportamento complessivo di moltissime unità subsimboliche che, prese singolarmente, non rappresentano niente. Sulla base di questo paradigma, la cui prima formulazione risale ad un lungimirante (visto da oggi) saggio di W. McCulloch e W. Pitt risalente al 19437, sono state realizzate numerose applicazioni delle reti neurali in vari domini: per esempio nella simulazione dei comportamenti elementari di specie inferiori, spesso associata alla costruzione di robot reali. In questo settore specifico il primo esperimento importante è stato il Perceptron di Rosenblatt (1958) che era un robot in grado di muoversi in un ambiente evitando gli ostacoli. Un altro settore in cui il paradigma connessionista ha avuto larga diffusione è quello dello studio e della emulazione dei processi soggiacenti alla percezione, ambito nel quale l’impostazione computazionale classica ha mostrato notevoli limiti. E non sono mancate anche le applicazioni pratiche, soprattutto nel campo dei software per il riconoscimento dei caratteri (OCR, su cui ci siamo soffermati nel primo capitolo), e, negli ultimi anni, anche nel campo dell’analisi finanziaria. Intorno a queste sperimentazioni, poi, è proliferata una ingente mole di letteratura teorica e filosofica che considera il connessionismo la strada maestra per la creazione di macchine intelligenti e per lo studio dell’intelligenza naturale. Naturalmente i sostenitori dell’IA classica e della teoria rappresentazionale hanno reagito, producendo una pari mole di confutazioni delle tesi connessioniste. E in realtà, sebbene il connessionismo abbia riportato dei buoni successi nei domini che abbiamo appena ricordato, quando si è tentato di applicarlo alla riproduzione artificiale delle facoltà cognitive superiori ha rivelato non pochi limiti. Infatti, è innegabile che molte di queste attività consistano in qualche specie di elaborazione simbolica (non necessariamente di tipo computazionale): e finora nessuno è stato in grado di capire come dalla concorrenza di moltissimi processi di elaborazione paralleli e subsimbolici possa effettivamente emergere una qualche forma di elaborazione simbolica, come la competenza linguistica o la capacità di ragionare in modo deduttivo. Per questa ragione molti studiosi sono convinti che se una prospettiva di sviluppo e di successo per l’intelligenza artificiale esiste veramente, questa scaturirà dalla convergenza tra il modello computazionale e modello connessionista. Infatti i processi che avvengo nel cervello, almeno allo stato attuale delle conoscenze, sembrano disporsi su vari livelli: ai livelli bassi (che corrispondo alla percezione e ai processi di elaborazione degli stimoli provenienti dall’ambiente) avvengono molte elaborazioni veloci e parallele di elementi subsimbolici; ai livelli alti invece si collocano dei processi che trasformano l’output dei livelli bassi in simboli e con tali simboli eseguono quelle elaborazioni che la Buona Vecchia IA ha studiato da mezzo secolo ai giorni nostri. La vita artificiale In questo corso abbiamo visto come negli ultimi cinquanta anni un intero esercito di studiosi abbia cercato di riprodurre mediante i computer quel complesso di fenomeni che chiamiamo mente o intelligenza.. Un obiettivo assai difficile, e tuttora ben lontano dall’essere conseguito. Negli ultimi anni però c’è stato qualcuno che ha pensato di andare oltre: sono i ricercatori impegnati in una curiosa disciplina che si chiama vita artificiale, o Alife (contrazione dall’inglese artficial life). Non si tratta di novelli emuli del dottor Frankenstein, né di arditi sperimentatori delle tecnologie genetiche. La vita artificiale infatti ha come obiettivo la simulazione del comportamento di organismi ed ecosistemi reali sul computer. La data di nascita ufficiale di questo campi di studi a cavallo tra biologia, genetica e informatica è stata fissata nel 1987, quando in una conferenza tenuta all’Oppenheimer Study Center di Los Alamos (New Mexico) il biologo Christopher Langton riunì circa 160 studiosi provenienti da molteplici campi disciplinari. 7 W. McCulloch e W. Pitt, “A Logical Calculus of the Ideas Immanent in Nervous Activity”, in Bul. Math Biophys., vol. 5, p. 115-133. Esattamente come l’intelligenza artificiale studia i principi e la natura dell’intelligenza cercando di riprodurne alcune caratteristiche mediante i computer, così la vita artificiale cerca di rispondere a domande sulla natura della vita e dei processi che caratterizzano un organismo vivente (o una popolazione di organismi), e di capire come si siano svolti i processi evolutivi che da forme di vita semplici hanno portato all’evoluzione di forme di vita sempre più complesse e intelligenti, mediante simulazioni realizzate al computer. In un certo senso il programma della vita artificiale estende quello dell’intelligenza artificiale. L’intelligenza, infatti, è una caratteristica di alcune specie viventi superiori (e, in senso pieno, solo dalla nostra specie) che si sono evolute a partire da forme di vita più semplici. Dunque lo sviluppo e la natura dei sistemi intelligenti rientra tra gli obiettivi della vita artificiale. Tuttavia, allo stato attuale, la maggior parte delle ricerche in questa disciplina è rivolta allo studio di processi biologici elementari (assimilabili a quelli dei virus o degli esseri monocellulari) o alla simulazione del comportamento di esseri più complessi ma comunque assai in basso nella scala evolutiva, come gli insetti. 8 La maggior parte delle creature studiate dalla vita artificiale sono pure simulazioni software che vivono in ambienti digitali. Tuttavia non mancano applicazioni di sistemi di vita artificiali a piccoli robot che sono in rado di muoversi in ambienti reali ancorché semplici. Già abbiamo citato il caso del Perceptron di Rosenblatt, un robot tartaruga che, governato da una rete neurale, poteva muoversi in un appartamento evitando gli ostacoli e individuando le fonti di energia necessarie al suo ‘sostentamento’. Da allora numerose sono state le creature meccaniche realizzate dai ricercatori per studiare le basi del comportamento degli esseri viventi. La somiglianza nei comportamenti tra alcune delle forme di vita artificiale (digitali o robotiche che siano) sviluppate dai ricercatori di Alife e le creature organiche cui esse si richiamano ha portato alcuni studiosi in questo settore ad assumere una posizione che può sembrare paradossale: per conto loro gli esseri artificiali sono ‘vivi’ tanto quanto quelli organici. Altri studiosi, invece, si limitano ad asserire che le sperimentazioni condotte con i computer ci possono far capire meglio alcuni dei misteri della vita organica, senza assumere che le forme di vita artificiale possano dirsi viventi in un senso pieno. Insomma, come nell’intelligenza artificiale, anche nella vita artificiale vi è una posizione ‘forte’ e una ‘debole’. La teoria dell’evoluzione di Charles Darwin Un elemento fondamentale degli studi di vita artificiale è lo studio e la simulazione dei processi evolutivi teorizzati da Charles Darwin nel secolo scorso. Come forse saprete Darwin è l’artefice della teoria evoluzionista attualmente condivisa da pressoché tutti i biologi, sebbene vi siano vari punti di vista su diversi aspetti interni alla teoria stessa. Il cuore della teoria darwiniana è costituito dal concetto di ‘selezione naturale’. Secondo questa teoria tutte le forme di vita attualmente esistenti si sono evolute nel corso del tempo in virtù di una serie di variazioni casuali intervenute tra gli individui di generazioni successive. Alcune di queste variazioni, in determinati momenti, si sono rivelate dei vantaggi competitivi per gli individui che le subivano, favorendone la sopravvivenza e la riproduzione. In sostanza nella competizione per le risorse in un dato ambiente, questi individui ‘mutanti’ si sono rivelati più efficienti nel procurarsi il cibo e nella cura della progenie. In seguito a molteplici variazioni di successo da una unica specie se ne generano altre, alcune delle quali sono premiate dal processo di selezione naturale, mentre altre vengono punite e si estinguono. È importante ribadire che secondo la teoria di Darwin le mutazioni che differenziano ogni individuo di una specie vivente sono puramente casuali: non esiste nessuno scopo o nessuna direzione preferenziale nell’evoluzione. In un certo senso l’evoluzione è una specie di programma eseguito dalla natura. Un processo insomma, che si presta ad essere simulato abbastanza facilmente mediante i computer. Automi cellulari e algoritmi genetici Naturalmente gli organismi che vengono simulati negli esperimenti di vita artificiale sono estremamente semplici, molto più semplici dei più semplici batteri che vivono sulla terra. I più noti enti artificiali studiati nell’ambito della vita artificiale sono gli automi cellulari, le cui basi teoriche si debbono, indovinate un po’, ad Alan Turing e a John Von Neumann. Un automa cellulare è una macchina software autodiretta che di norma ‘vive’ in 8 Che pure mostrano in alcuni casi dei comportamenti sociali assai articolati: si pensi alle formiche o alle api! ambienti simulati bidimensionali, è dotata di alcuni semplici comportamenti simili a basilari processi vitali (mangiare, spostarsi alla ricerca di cibo, difendersi da altri automi) ed è in grado di autoreplicarsi assemblando elementi inerti tratti dall’ambiente in base a regole semplicissime (come avviene nella mitosi cellulare, diretta dal DNA). La duplicazione di un automa cellulare non è completamente deterministica (altrimenti ci troveremmo di fronte a un programma che copia se stesso 9). Nel processo di replica, infatti, possono occorrere delle mutazioni che simulano le variazioni degli organismi reali previste dalla teoria darwiniana. In questo modo un sistema in cui ‘vivono’ degli automi cellulari simula il corso di un processo evolutivo per selezione naturale, con il vantaggio che i tempi che regolano l’andamento del processo possono essere controllati dai ricercatori, a differenza di quanto avviene negli esperimenti effettuati con organismi reali. Un esempio di applicazione dei principi degli automi cellulari, estremamente semplice – ma altrettanto pieno di sorprese – è costituito dall’ambiente artificiale conosciuto come ‘gioco della vita’, ideato dal matematico John Horton Conway nel 1960. L’ambiente del gioco è costituito da una scacchiera bidimensionale. Gli organismi che vivono nell’ambiente sono rappresentati da una o più celle piene nella scacchiera. Le celle vuote sono invece considerate morte. Questi organismi si evolvono in base a tre semplici regole: • ogni cella con nessuna o una sola cella adiacente muore (questa regola simula la morte per isolamento); • ogni cella con quattro celle adiacenti piene muore (questa regola simula la morte per sovraffollamento); • ogni cella morta con tre celle adiacenti piene torna in vita alla generazione successiva (questa regola simula la nascita). Seguendo queste semplici regole, il sistema si evolve da solo e durante questa evoluzione genera forme di vita sempre più complesse battezzate con strani nomi: alianti, lampeggiatori, fulmini, bombardieri. A un certo punto alcune di queste forme di vita assumono comportamenti che possono essere descritti (ad un livello di descrizione alto) come dare la caccia alle forme più semplici, difendere porzioni di territorio e così via. Un altro tipo di strutture digitali autoreplicantesi ed evolutive studiate in vita artificiale sono gli algoritmi genetici. L’idea degli algoritmi genetici è stata sviluppata da John Holland, intorno alla metà degli anni ’70, come metodo per individuare e ottimizzare gli algoritmi usati nel calcolo di alcune funzioni. 10 A tale fine Holland si è rifatto al meccanismo della selezione naturale: si generano in modo casuale alcuni algoritmi genitori, dotati di un certo ‘patrimonio genetico digitale’ espresso in termini di sequenze di bit. A questi algoritmi vengono applicati due tipi di processi evolutivi: la mutazione casuale di un o più bit del patrimonio genetico originale; il crossing-over, ovvero la generazione di un individuo figlio il cui patrimonio genetico è costituito da parte del patrimonio di due algoritmi ‘genitori’ (come avviene nella riproduzione sessuata degli organismi viventi). Una volta ottenuta una generazione di algoritmi ‘figli’ si stima, in base a una funzione di valutazione, quali tra i nuovi individui siano più adatti alla risoluzione del problema che è stato affidato loro (come nella selezione naturale l’adattamento all’ambiente premia alcuni degli individui mutanti): gli individui ‘migliori’ vengo mantenuti per essere sottoposti ad un nuovo processo di mutazione, mentre gli altri sono eliminati. Il processo prosegue finché l’evoluzione non genera degli algoritmi in grado di risolvere il problema. Molto spesso le tecnologie alla base degli algoritmi genetici vengono applicate anche a popolazioni di reti neurali che, come abbiamo visto, presentano per conto loro alcune interessanti proprietà di autoapprendimento. In questo modo, ad esempio, sono state generate delle specie di ‘formiche digitali’ che sono in grado di svolgere compiti quali la ricerca del cibo, la capacità di lottare e di sopraffare i simili, la capacità di evitare il contatto con ‘sostanze velenose’. I virus informatici hanno esattamente questo comportamento, ma a differenza dei virus organici, non possono mutare e dunque evolversi da soli: ogni nuovo virus deve essere esplicitamente programmato da un programmatore umano, che svolge un po’ il ruolo che i creazionisti attribuiscono a Dio. 9 10 Un algoritmo è la sequenza finita e ben definita di passi che sono necessari per calcolare una certa funzione. Lo spazio a disposizione di questa dispensa e gli scopi di questo corso non ci consentono di approfondire ulteriormente questi argomenti, che al pari dell’intelligenza artificiale (su cui siamo soffermati in modo particolare) evocano interrogativi e curiosità di non poco rilievo. I lettori che sono interessati ad avere ulteriori notizie, oltre che dai libri citati in bibliografia (in particolare quelli di Silvi Antonimi e di Parisi), potranno trovare una grande quantità di informazioni (e di programmi di vita artificiale da provare sul proprio computer di casa) sul sito Artificial Life online, realizzato dalla Santa Fe University, il cui indirizzo è http://alife.santafe.edu. Bibliografia Barr, A., Feigenbaum, E. A., The Handbook of Artificial Intelligence (vol. 1), William Kaufmann, Los Altos (Calif.) 1981 Bernstein, J., Uomini e macchine intelligenti, Adelphi, Milano 1990 Bobrow, D. G., Collins, A., Representation and Understanding: Studies in Cognitive Sciences, Academic Press, New York 1975 Boden, M. A., Artificial Intelligence and Natural Man, Basic Books, New York 1987 Chomsky, N., Saggi linguistici. Vol. 2 – La grammatica generativa trasformazionale, Bollati Boringhieri, Torino 1979 Cook, V., Newson, M., Grammatica universale. Introduzione a Chomsky, Il Mulino, Bologna 1996 Dennet, D. C., Coscienza. Che cosa è, Rizzoli, Milano 1993 Dennet, D. C., La mente e le menti, Sansoni, Firenze 1997 Di Francesco, M., Introduzione alla filosofia della mente, Nuova Italia Scientifica, Firenze 1996 Dreyfus, H. L., Che cosa non possono fare i computer. I limiti dell’intelligenza artificiale, Armando, Roma 1988 Feigenbaum, E., Feldman, J., (a cura di), Computers and Thought, McGraw-Hill, New York 1963 Fodor, J., Concetti. Dove sbaglia la scienza cognitiva, McGraw-Hill Italia, Milano 1999 Frixione, M., Logica, significato e intelligenza artificiale, Franco Angeli, Milano 1994 Haugeland, J., Intelligenza Artificiale, Bollati Boringhieri, Torino 1988 Haugeland, J., Progettare la mente. Filosofia, psicologia, intelligenza artificiale, Il Mulino, Bologna 1989 Hobbes, T., The Leviathan, (tr. it Il Leviatano, Editori Riuniti, Roma 1982) Hodges, W., Logica, Garzanti, Milano 1986 Hofstadter, D. R., Dennet, D. C., L’io della mente. Fantasie e riflessioni sul sé e sull’anima, Adelphi, Milano 1985 Hofstadter, D. R., Gödel, Escher, Bach: un’Eterna Ghirlanda Brillante, Adelphi, Milano 1984 Johnson- Laird, P. N., La mente e il computer. Introduzione alla scienza cognitiva, Il Mulino, Bologna 1990 Kodarkowsky, M. e Shamkovich, L., A New Era. How Garry Kasparov Changed the World of Chess, Ballantine Books, New York 1997 Lolli, G. (a cura di), Mente e macchine, «Le Scienze quaderni», n. 66, giugno 1992 McClelland, J. L., Rumelhart, D. E., Parallel Distributed Processing. Exploration in the Microstructure of Cognition, MIT Press, Cambridge (Mass.) 1986 McCorduck, P., Storia dell’intelligenza artificiale. Gli uomini, le idee, le prospettive, Franco Muzzio, Padova 1987 McCulloch, W. S., Pitt, W. S., A Logical Calculus of the Ideas Immanent in Nervous Activity, in «Bul. Math. Biophys.», vol. 5, 1943, p. 115-133 Minsky, M., (a cura di), Semantic Information Processing, MIT Press, Cambridge (Mass.) 1968 Minsky, M., Framework for Representing Knowledge, in Winston 1975 (tr. it. in Haugeland 1989) Minsky, M., La società della mente, Adelphi, Milano 1989 Mishkoff, H. C., Understanding Artificiale Intelligence, Sams, Indianapolis 1985 Parisi, D., Mente. I nuovi modelli della Vita Artificiale, Il Mulino, Bologna 1999 Pessa, E., Intelligenza artificiale. Teorie e sistemi, Bollati Boringhieri, Torino 1992 Picardi, E., Le teorie del significato, Laterza, Roma-Bari 1999 Pratt, V., Macchine pensanti. L’evoluzione dell’intelligenza artificiale, Il Mulino, Bologna 1990 Rich, E., Intelligenza Artificiale, McGraw-Hill Italia, Milano 1986 Rolston, D. W., Sistemi esperti. Teoria e sviluppo, McGraw-Hill Italia, Milano 1991 Rose, S., Il cervello e la coscienza, Mondadori, Milano 1977 Schank, R. C., Abelson, R. P., Script, Plans, Goals, and Understanding, Lawrence Erlbaum, Hillsdale (N.Y.) 1977 Schank, R. C., Il computer cognitivo, Giunti, Firenze 1989 Searle, J., Mente, cervello, intelligenza, Bompiani, Milano 1999 Searle, J., Menti cervelli e programmi, Clup-Clued, Milano 1984 Searle, J., La mente è un programma?, in «Le Scienze quaderni», n. 66, giugno 1992 Silvi Antonini, S., Vita artificiale. Dal Golem agli automi cellulari, Apogeo, Milano 1995 Smolensky, P., Connessionismo tra simboli e neuroni, Marietti, Milano 1992 Somenzi V., Cordeschi, R. (a cura di) , La filosofia degli autom, Boringhieri, Torino 1986 (2° ed. 1994) Tabossi, P., Intelligenza naturale e intelligenza artificiale introduzione alla scienza cognitiva, Il Mulino, Bologna 1994 Tagliasco, V., Dizionario degli esseri umani fantastici e artificiali, Mondadori, Milano 1999 Turing, A. M., Computing Machinery and Intelligence, in «Mind», Vol. 59, 433-60, 1950 (tr. it Macchine calcolatrici e intelligenza, in Somenzi e Cordeschi 1986) Vallar, G. (a cura di), I misteri della mente. «Le Scienze quaderni», n. 101, aprile 1998 Weizenbaum, J., Il potere del computer e la ragione umana, Edizioni Gruppo Abele, Torino 1987 Winograd, T., Calcolatori e conoscenza, Mondadori, Milano 1987 Winograd, T., Understanding Natural Language, University Press - Academic Press, New York 1972 Winston, P., The Psychology of Computer Vision, McGraw-Hill, New York 1975