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.
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.
(Searle, J., La mente è un programma?, in "Le Scienze
quaderni", n. 66, giugno 1992, p. 8)
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
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.
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 Babbage) 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 enzimi . 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 Neumann, 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 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!
Figura 1 - Rappresentazione schematica del neurone
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. (D. Parisi, Mente. I nuovi modelli della
vita artificiale, Il mulino 1999, p. 80)
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.
Figura 2 - Lo schema di una semplice rete neurale
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 ASCII . 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 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
1943 (W. McCulloch e W. Pitt, "A Logical Calculus of the Ideas Immanent in
Nervous Activity", in Bul. Math Biophys., vol. 5, p. 115-133), 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.
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.
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
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). Nel processo di replica, infatti,
possono occorrere delle mutazioni che simulano le variazioni degli organismi
reali previste dalla teoria darwiniana.
Figura 3 - Tierra Synthetic Life: un ambiente in cui
vivono
automi cellulari in competizione
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.
Figura 4 Una versione per Windows del Gioco della Vita
(http://psoup.math.wisc.edu/Life32.html)
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. 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'.
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
|