8
Il concetto di retroazione (feedback) è alla base della cibernetica1 (la cibernetica studia per la
maggiore i casi in cui ogni parte del sistema influisce sull‟altra). Quando in un sistema
dinamico2, come lo sono i software adattivi, gli output del sistema fungono da input per il
sistema stesso, si parla di retroazione. Il concetto di feedback può essere relativamente
semplice in alcuni sistemi elementari, può però diventare molto complesso quando le
interconnessioni fra le diverse parti del sistema superano una certa complessità.
Si possono individuare due tipologie principali di retroazione:3
Retroazione negativa: si ottiene quando i dati dell‟ambiente sono usati per retroagire
sulle cause che gli hanno prodotti. Lo scopo è di ostacolare le deviazioni del sistema,
stabilizzandone il funzionamento. È il caso, ad esempio, del termostato: quando è
troppo caldo agisce spegnendo la caldaia col fine di abbassare la temperatura, quando
invece è troppo freddo la riaccende per aumentarla;
Retroazione positiva: si ottiene quando le cause agiscono sulle premesse. L‟obiettivo è
di incrementare le deviazioni del sistema. Questo tipo di retroazione crea instabilità
spingendo il sistema alla ricerca di un nuovo punto di equilibrio. Il sistema crea un
ambiente diverso, vi è un‟evoluzione. Come esempio si può prendere la dipendenza
dalle droghe: più assumi droga maggiore è la quantità che devi assumerne per sentirti in
pace con te stesso.
In sintesi è quindi possibile affermare che un sistema adattivo altro non è che un sistema
dinamico basato su retroazioni.
Ho voluto cominciare il mio lavoro dando una rapida visione della storia dell‟intelligenza
artificiale dalle origini ad oggi (capitolo primo). Questo per inquadrare il settore nel quale va
ad inserirsi la scienza dei sistemi adattivi e per comprendere quali debolezze dell‟intelligenza
artificiale intende migliorare.
Il secondo capitolo spiega che cosa è un sistema adattivo, quali sono le sue caratteristiche e i
suoi elementi costitutivi, come e quando hanno avuto origine tali sistemi. Una parte del
capitolo è dedicata inoltre alle reti neurali, in quanto parte importante dei sistemi artificiali
intelligenti e adattivi.
La trattazione prosegue quindi con un‟analisi dei primi software basati su ipermedia adattivi
(capitolo terzo), che costituiscono il punto di partenza per lo sviluppo dei più recenti sistemi
1
W. Ross Ashby (1956) An introduction to Cybernetics.
2
Un sistema dinamico è un sistema che evolve nel tempo.
3
http://en.wikipedia.org/wiki/Feedback (Dicembre 2007).
9
adattivi per il Web. Analisi che permette di osservare quale è l‟architettura di un sistema
adattivo ipermediale e di cogliere i principali obiettivi che si pone la disciplina.
Nel quarto capitolo l‟analisi si sposta verso il Web. Tratterò brevemente la sua storia e i suoi
sviluppi più attuali (Web 2.0 e Web Semantico), con un rapido sguardo al prossimo futuro
(Web 3.0, WebOS), per poi incentrare l‟attenzione sullo sviluppo di sistemi adattivi per il
Web, mettendo in luce le diverse tipologie di adattamento e le problematiche tipiche di questa
tipologia di sistemi.
Il quinto capitolo è dedicato ai due problemi che più interessano l‟utenza della rete Internet:
sicurezza e privacy. Problemi che affliggono pesantemente lo sviluppo di sistemi adattivi nel
Web: sono infatti sistemi che fanno ampio uso di dati personali che, come vedremo, gli utenti
sono piuttosto diffidenti a rilasciare. Il capitolo mette in evidenza che cosa prevedono in
questi casi le maggiori legislazioni sulla privacy e quale è il pensiero degli utenti sul
trattamento dei dati personali. Vengono infine proposte delle soluzioni al problema.
Nel sesto e ultimo capitolo vedrò più nei dettagli quali sono alcune applicazioni attuali dei
sistemi adattivi, in particolare nei settori di economia e finanza, con un occhio al
comportamento di Google, per concludere con un breve accenno alle applicazioni più recenti
e innovative in termini di adattività dei sistemi.
Un ringraziamento particolare va al dott. Luigi Colazzo, docente dell‟Università di Trento,
che mi ha seguito durante la stesura della tesi.
10
11
CAPITOLO PRIMO
BREVE STORIA DELL’INTELLIGENZA ARTIFICIALE
Nel 1956, durante un seminario interdisciplinare svoltosi al Dartmouth College nel New
Hampshire4, grazie al contributo del matematico americano John McCarthy5, viene introdotto
ufficialmente il termine “Intelligenza Artificiale”6. McCarthy la definisce come: “The science
and engineering of making intelligent machines” 7. Lo scopo di questa nuova disciplina è far
fare alle macchine cose che richiederebbero l'intelligenza se fossero fatte dagli uomini.
In questo primo capitolo8 vengono messi in evidenza i momenti più significativi della storia
dell‟intelligenza artificiale; in modo da comprendere al meglio il contesto in cui si inseriscono
i sistemi adattivi e quali aspetti dell‟intelligenza artificiale vanno a ridefinire e migliorare.
1.1 OBIETTIVI DELLA DISCIPLINA
Ogni disciplina ha i suoi obiettivi da raggiungere ed è motivata da grandi progetti e spesso
anche da sogni quasi irrealizzabili. Qual è l‟obiettivo ultimo dei ricercatori di intelligenza
artificiale? Molti di loro risponderebbero a questa domanda affermando che l‟obiettivo di tale
scienza è comprendere i principi che stanno alla base del funzionamento della mente umana,
per poi riprodurre l‟intelligenza umana sulla macchina. Una sfida certamente interessante ma
da molti considerata anche come la più inaccessibile fra i progetti scientifici. Probabilmente
assegnare alla disciplina il nome “intelligenza artificiale” è stato un azzardo, che forse ha reso
troppo impegnativa la sfida in cui i ricercatori si sono concentrati. Letteratura e
cinematografia da sempre viaggiano con la fantasia all‟interno di questo campo, mettendo in
scena i sogni più improbabili dei ricercatori.
Al giorno d‟oggi è abitudine fare rientrare le invenzioni di IA nella categoria della
tradizionale informatica. Questo forse perché i problemi scientifici tipici dell‟IA vengono
affrontati e risolti con gli strumenti dell‟informatica. Il fine ultimo dell‟IA, costruire macchine
che si comportino come un essere umano, non è però stato abbandonato. In questi anni sono
stati costruiti computer in grado di battere i più grandi campioni umani in un gioco come gli
4
http://en.wikipedia.org/wiki/Dartmouth_Conference (Novembre 2007).
5
J. McCarthy et alt. (1955) A Proposal for the Dartmouth Summer Research Project on Artificial Intelligence.
http://www-formal.stanford.edu/jmc/history/dartmouth/dartmouth.html (Novembre 2007).
6
L. Carlucci, M. Dapor (2004) Intelligenza Artificiale: i primi 50 anni, pag. 3.
7
In: J. McCarthy (2007) What is artificial intelligence? Traduzione: “La scienza e l’ingegneria per creare
macchine intelligenti”.
8
Il capitolo riprende l‟impostazione utilizzata in: L. Carlucci, M. Dapor (2004) Intelligenza Artificiale: i primi
50 anni.
12
scacchi, ma risulta ovvio che al di fuori del contesto degli scacchi tale computer non saprà
minimamente competere con l‟uomo.
Resta quindi vivo il problema di costruire macchine intelligenti in grado di comportarsi bene
in più campi e anche diversi fra loro, che sappiano adattarsi anche a situazioni non previste in
fase di programmazione. In pratica occorre rendere la macchina in grado di apprendere
dall‟ambiente in cui si trova e di usare le nuove informazioni per produrre nuovi
comportamenti.
1.2 I PRIMI ANNI DI STORIA
L‟uomo ha cercato di costruire artificialmente forme di vita intelligenti ben prima di quanto si
creda: nel XVIII secolo Jacques de Vaucanson costruì un‟anatra artificiale in grado di nuotare
e ingerire chicchi di grano. Leibniz (1646-1716), grande matematico e filosofo, sognava che
un giorno un calcolatore sarebbe stato in grado di trattare qualsiasi problema e di risolverlo.
La sua idea è il punto di partenza per i primi sistemi di calcolo automatico, in grado di
compiere le più semplici operazioni di aritmetica e, nel 1945, conduce alla macchina di J.Von
Neumann9 che rappresenta la base dei moderni calcolatori.
Nel periodo compreso fra il 1930 e il 1955 nascono una serie di teorie che pongono le basi
dell‟IA odierna. Si tratta di studi sulla logica e sulla calcolabilità (in particolare i lavori di A.
Turing10 e A. Church11). Fondamentale la ricerca12 di W.S. McCulloch e W.H.Pitts (1943), i
quali propongono un modello di neurone che costituisce il punto di partenza per la ricerca
sulle reti neurali (che tratterò più nello specifico in seguito). Nel 1950 A. Turing pubblica un
interessante articolo13 sull‟apprendimento automatico, dove formalizza un test per verificare
se una macchina può considerarsi intelligente al livello della mente umana (test di Turing14).
Ancora oggi il test di Turing costituisce il banco di prova per una macchina intelligente e fino
ad ora nessun sistema è stato capace di passarlo. Dal 1990 esiste persino un premio in
denaro15 per la prima macchina che passerà tale test, fino ad ora ogni anno sono stati assegnati
premi minori ai sistemi che più vi si sono avvicinati. Nel 1951 Minski, all‟epoca un giovane
studente (24 anni) ispirato dalle teorie di McCulloch e Pitts, costruisce il primo computer
9
J. Von Neumann (1945) First Draft of a Report on the EDVAC.
10
A. Turing (1936) On Computable Numbers, With an Application to the Entscheidungsproblem.
http://en.wikipedia.org/wiki/Turing_machine (Novembre 2007).
11
A. Church (1932) A set of Postulates for the Foundation of Logic, A. Church (1936) An Unsolvable Problem
of Elementary Number Theory, A. Church (1936) A Note on the Entscheidungsproblem.
http://en.wikipedia.org/wiki/Church-Turing_thesis (Novembre 2007).
12
McCulloch, W. S. and Pitts, W. H. (1943). A logical calculus of the ideas immanent in nervous activity.
13
A. Turing (1950) Computing machinery and intelligence.
14
http://en.wikipedia.org/wiki/Turing_Test (Novembre 2007).
15
http://www.loebner.net/Prizef/loebner-prize.html (Novembre 2007).
13
neurale, lo SNARC16. Minski diverrà poi uno dei maggiori leader e innovatori
dell‟intelligenza artificiale per i successivi 50 anni.
Si arriva così al 1956 quando McCarthy decide di organizzare il famoso seminario in cui la
disciplina prende il nome di “Intelligenza Artificiale”. Il seminario durò due mesi e vide la
partecipazione di tutti i più famosi ricercatori dell‟epoca. Essi mostravano interessi diversi:
dal ragionamento automatico per risolvere problemi complessi, all‟uso dei computer per i
giochi (inizialmente scacchi e dama).
Dopo il seminario si succedono molte ricerche e riflessioni, ma i primi tempi, fino alla fine
degli anni ‟60, sono caratterizzati sia da forte entusiasmo che da grande ingenuità. Nascono
molti programmi in grado di fare cose impensabili fino a qualche anno prima, ma non si è
ancora in grado di creare qualcosa di veramente utilizzabile per risolvere problemi reali. In
questi anni J.Weizenbaum sviluppa ELIZA17, il famoso simulatore di seduta psicanalitica.
L‟intento di Weizenbaum non è però quello di creare un software di IA, bensì quello di
costruire una parodia di tale disciplina. Il programma simula uno psicoanalista Rogeriano, che
pone domande al paziente usando come materiale per scegliere i quesiti le parole del paziente
stesso. Il programma crea quindi domande stereotipate partendo dalle parole usate dal
paziente per rispondere. ELIZA diviene molto popolare e per anni costituisce l‟esempio di ciò
che è possibile realizzare tramite l‟IA. Weizenbaum ritiene tale successo immotivato, in
quanto l‟algoritmo alla base di ELIZA è banale e non intelligente, tanto da rimanerne
intimorito al punto di abbandonare il progetto.
Si sviluppano quindi dibattiti sull‟effettiva fattibilità dell‟intelligenza artificiale: si arriva a
sostenere che una macchina non può risolvere problemi che solo la mente umana sa come
affrontare (J.R. Lucas, 1960). Anche Minski, nonostante i successi delle sue prime reti neurali
artificiali, si dimostra perplesso sui limiti di tali sistemi18. Si assiste quindi ad una riduzione
drastica dei finanziamenti in questo campo. Sarà poi con la ricerca19 di J.J. Hopfield nel 1982
che la disciplina riscoprirà un nuovo interesse.
1.3 I SISTEMI ESPERTI
Negli anni che vanno dal 1970 al 1980, periodo in cui l‟entusiasmo per l‟intelligenza
artificiale subisce un forte ridimensionamento, si fanno strada sistemi in grado di risolvere
16
M. Minsky (1950) A Neural-Analogue Calculator Based upon a Probability Model of Reinforcement.
http://en.wikipedia.org/wiki/SNARC (Novembre 2007).
17
J. Weizenbaum (1966) ELIZA: A Computer Program For the Study of Natural Language Communication
Between Man and Machine http://i5.nyu.edu/~mm64/x52.9265/january1966.html (Novembre 2007).
18
M. Minsky, S. Papert (1969) Perceptrons.
19
J.J. Hopfield (1982) Neural networks and physical systems with emergent collective computational abilities
(known as the Hopfield Network).
14
problemi in domini piuttosto limitati. Si abbandona quindi l‟obiettivo di creare un sistema con
intelligenza generale su una moltitudine di campi diversi e si da spazio allo studio di sistemi
basati sulla conoscenza di un particolare campo, detti “sistemi esperti”. A tali sistemi viene
quindi assegnato il compito di focalizzarsi su problematiche precise e ben circoscritte.
Attraverso lo studio delle regole che governano ambiti ristretti i sistemi esperti conducono
alla soluzione di problemi fino ad allora inaccessibili alle tecnologie informatiche. Si
sviluppano sistemi esperti per diverse applicazioni20:
Biochimica
Prospezione geologica
Diagnosi medica
Progettazione di configurazioni complesse
Finanza
Fra i sistemi che vedono la luce in quegli anni, alcuni in particolare sono da segnalare:
1. Il sistema MYCIN21 (1976), sviluppato a partire dal 1970 alla Stanford University e
concluso dopo sei anni di lavoro. Era un sistema medico in grado di riconoscere le
infezioni del sangue e di proporre l‟antibiotico adeguato;
2. Il sistema R122 (1978), sviluppato alla Carnegie Mellon University (CMU) per la
Digital, che permetteva di automatizzare compiti che avrebbero richiesto grandi
quantità di personale qualificato;
3. Il sistema PROSPECTOR23, esperto in prospezioni geologiche, che nel 1979 trova
spazio nella prima pagina del New York Times. Tale sistema riuscì a localizzare con
precisione un giacimento di molibdeno che gli studiosi in 20 anni non erano riusciti a
trovare.
L‟entusiasmo derivante dai successi dei sistemi esperti porta nuova luce sull‟industria dell‟IA:
finalmente problemi reali trovano soluzione attraverso l‟utilizzo di sistemi di IA. Oggi si può
affermare con certezza che i sistemi esperti costituiscono un grande successo dell‟IA, ma il
loro nome originario è stato abbandonato e ora noi li conosciamo come “sistemi di supporto
alle decisioni”, sistemi utilizzati frequentemente e con ottimi risultati nei sistemi informativi
aziendali.
20
L. Carlucci, M. Dapor (2004) Intelligenza Artificiale: i primi 50 anni, pag. 8.
21
E.H. Shortliffe, E.H (1976) Computer-Based Medical Consultations: MYCIN.
B.G. Buchanan, E.H. Shortliffe (1984) Rule-Based Expert Systems: The MYCIN Experiments of the Stanford
Heuristic Programming Project.
22
http://en.wikipedia.org/wiki/Xcon & http://www.ruleworks.co.uk/mobat/r1-soar.htm (Novembre 2007)
23
P.E. Hart, R.O. Duda, M.T. Einaudi (1978) Prospector: A Computer-Based Consultation System for Mineral
Exploration.
15
Tuttavia, nonostante il successo dei sistemi esperti, l‟industria dell‟IA non riesce a risvegliarsi
del tutto; si ritiene che la dimensione su cui lavorano tali sistemi sia ancora troppo ridotta e di
conseguenza risulta difficile risolvere problemi non esattamente centrati sul dominio di
esperienza del sistema.
1.4 IL RILANCIO DELL’INTELLIGENZA ARTIFICIALE
Dopo la metà degli anni ‟80 l‟industria dell‟IA esce definitivamente dal torpore che ne aveva
caratterizzato gli ultimi anni. L‟IA cerca ora maggiore interazione con discipline quali la
matematica, la statistica e l‟informatica. In questi anni vi è la riscoperta delle reti neurali,
vengono implementate nuove caratteristiche che eliminano alcuni limiti delle prime reti
neurali, rendendo possibile una incredibile espansione del campo di applicazione di tali
sistemi. Questo grazie alla ricerca di Hopfield, accennata in precedenza, e ai lavori successivi
di Rumelhart24 e Hinton25. Nuove scoperte garantiscono quindi nuovi sviluppi per l‟IA, fino
ad allora inimmaginabili. Attorno alla metà degli anni ‟90 i maggiori problemi che
affliggevano la disciplina hanno trovato soluzione. L‟obiettivo nuovo è creare l‟agente
intelligente come entità: si comincia a parlare di robot dotati di cognizione, con la possibilità
di interagire con l‟ambiente fisico che li circonda. Si comincia a parlare anche di software
intelligenti il cui ambiente fisico è il web.
Si assiste in questi anni a un proliferare di nuovi campi di applicazione dell‟IA che va al di
fuori dell‟obiettivo di questa ricerca. Lo scopo della trattazione è concentrarsi sul particolare
filone che ha portato alla nascita dei sistemi adattivi.
1.5 L’INTELLIGENZA ARTIFICIALE OGGI
L‟IA di oggi si presenta come disciplina matura e libera da vincoli ideologici.
“The idea behind digital computers may be explained by saying that these machines are
intended to carry out any operations which could be done by a human computer”26
Con queste parole, nel 1950, A.M. Turing introduceva l‟argomento delle macchine
intelligenti. Dopo più di 50 anni la domanda è ancora fortemente attuale e ricercatori di tutto
il mondo si interrogano costantemente su questa possibilità. Il dibattito si dimostra tutt‟oggi
forte e acceso, tuttavia spesso ci si dimentica di ciò che è veramente importante: i risultati.
24
D.E. Rumelhart, J. McClelland (1986) Parallel distributed processing: Explorations in the microstructure of
cognition.
25
G.E. Hinton et alt. (1983) Massively parallel architectures for A.I.: Netl, Thistle, and Boltzmann machines.
Ed altri numerosi lavori successivi: http://www.cs.toronto.edu/~hinton/chronological.html (Novembre 2007).
26
In: A. M. Turing (1950) Computing Machinery and Intelligence. Traduzione: “Mi propongo di affrontare il
problema se sia possibile per ciò che è meccanico manifestare un comportamento intelligente”.
16
Quelli ottenuti dalla ricerca sull‟IA sono stati comunque notevoli e soprattutto utili nonostante
si sia in grado o meno di riprodurre esattamente l‟intelligenza umana.
Ecco alcuni dei campi in cui l‟introduzione dell‟IA ha avuto più successo27:
Pianificazione e schedulazione autonome: ad esempio gli agenti remoti della NASA
che a milioni di chilometri dalla terra controllano sofisticati veicoli spaziali;
Controllo autonomo: come il sistema di visione Alvinn, in grado di guidare da solo
un‟automobile;
Pianificazione logistica: nella guerra del Golfo il trasporto e la collocazione di oltre
50.000 mezzi americani fu affidato a un sistema di IA;
Robotica: sono applicazioni che vanno dalla robotica di esplorazione alla robotica
industriale, militare e domestica;
Diagnosi: esistono oggi programmi in grado di formulare diagnosi mediche specifiche,
individuando problemi fisici complessi;
Comprensione del linguaggio: questo settore conosce molte applicazioni ed è il suo
studio risulta molto importante in campo Web e telefonico;
Gioco: come già evidenziato l‟esempio più evidente è costituito dal gioco degli scacchi.
Ma anche i giochi per PC più comuni fanno uso abbondante di tecniche di IA.
1.6 UNO SGUARDO AL FUTURO
L‟IA ha già raggiunto risultati importanti sia nel campo dei sistemi software che in quello più
visibile della robotica. I recenti avvenimenti internazionali stanno dando una spinta notevole
verso lo sviluppo di nuovi sistemi di sicurezza e militari. Ma anche altri settori stanno
catturando l‟attenzione degli esperti: su tutti la realizzazione della casa intelligente, settore
che viene definito “domotica”. Tali sistemi fanno uso di un ampio numero si sensori in grado
di controllare il funzionamento di ogni parte dell‟abitazione. La casa potrà occuparsi da sola
di chiamare la manutenzione o di fare la spesa. La domotica pensa però prima di tutto a
rendere la casa un ambiente sicuro. L‟ambiente del futuro sarà quindi invaso da sistemi
intelligenti che attraverso la cooperazione con l‟abitante renderanno la casa un luogo più
sicuro e confortevole.
Ci si rende conto di come tali sistemi dovranno avere un alto grado di adattabilità alle
esigenze dell‟utente, dovranno essere perfettamente in grado di modificarsi in base ai suoi
comportamenti e rispondere di conseguenza. Guardando al futuro dell‟IA si capisce come i
sistemi adattivi saranno una componente di notevole rilevanza.
27
L. Carlucci, M. Dapor (2004) Intelligenza Artificiale: i primi 50 anni, pag. 14-15.
17
Fra gli altri sviluppi futuri incuriosisce la ricerca28 portata avanti dalla RoboCup Federation. Il
progetto nasce nel 1993 e ha come obiettivo quello di arrivare, entro il 2050, a realizzare una
squadra di robot calciatori in grado di battere la squadra umana campione del mondo, nel
pieno rispetto delle regole internazionali di tale sport. Per ora le competizioni avvengono
soltanto fra robot; la prima si è tenuta in Giappone nel 1997, anno in cui si è chiusa la sfida
degli scacchi con la vittoria del supercomputer Deepblue29 sul campione russo Kasparov.
Molti vedono questo impiego dell‟Intelligenza Artificiale come una perdita di tempo,
ritenendo che i ricercatori sprechino tempo e energie concentrandosi su un gioco piuttosto che
su problemi reali. L‟idea alla base del progetto è comunque quella di migliorare le tecnologie
attuali che si dimostrano ancora inadeguate in molti campi; per fare questo i ricercatori si
concentrano sul gioco, ritenuto uno dei settori meno affrontabili dagli attuali sistemi di IA, per
poi riversare le conoscenze ottenute su problemi concreti e ben più importanti.
28
L. Carlucci, M. Dapor (2004) Intelligenza Artificiale: i primi 50 anni, pag. 17.
http://robocup.org (Novembre 2007).
29
http://en.wikipedia.org/wiki/IBM_Deep_Blue (Novembre 2007).