Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Tutti e tre questi casi, se osservati in modo astratto, presentano alcuni tratti in
comune. Sembra insomma che vi sia un modello generale di ragionamento
soggiacente a queste attività. L’analisi di questo modello e la sua riproduzione
mediante sistemi informatici è il dominio di molte ricerche che si collocano nell’ambito
intelligenza artificiale e che vengono di norma rubricate sotto le etichette di soluzione
di problemi (problem solving), dimostrazione automatica, ricerca selettiva.
Naturalmente ognuna di queste ricerche ha degli aspetti peculiari legati al particolare
oggetto di ciascuna di esse. Tuttavia si può individuare un corpo comune di
metodologie e di strumenti. Questo corpo comune consiste nella ricerca di una serie di
procedimenti generali per la risoluzione di problemi formalmente definibili. Per capire
1 Sulla singolare attrazione che moltissimi ricercatori di intelligenza artificiale hanno mostrato verso il
gioco degli scacchi torneremo nel prossimo paragrafo.
di cosa si tratti, cominciamo con un esempio di ‘ricerca della soluzione di un problema’
piuttosto comune e banale.
Immaginiamo che Marco sia in procinto di uscire di casa. Proprio mentre sta per
aprire la porta si accorge di avere perduto le chiavi della sua automobile. Egli è
tuttavia sicuro che le chiavi siano da qualche parte nel suo piccolo appartamento di
tre stanze. Si mette così a cercarle. Per evitare di girare a vuoto, però, decide di
procedere in modo sistematico nella sua ricerca. Inizia così a cercare dall’ingresso.
Naturalmente anche per effettuare la sua ricerca nella stanza di ingresso adotta il
medesimo approccio sistematico. Si mette pertanto ad esplorare ogni singolo mobile
presente nell’ingresso, e per ogni singolo mobile guarda in ogni possibile cassetto,
piano o anta. Poiché la ricerca nell’ingresso non ha avuto esito, passa in cucina. Anche
qui guarda prima sul tavolo, poi sul frigorifero, poi sul piano di cottura. Non avendo
ancora trovato le chiavi si mette ad esplorare l’ultima stanza, quella da letto, essendo
ormai sicuro che le chiavi debbano essere li dentro. Ovviamente anche nella camera
da letto adotta la sua strategia sistematica: comodino, cassetto del comodino,
superficie del letto, sotto il letto…
La ricerca di una soluzione corrisponde alla esplorazione dei percorsi che legano i
nodi dell’albero finché non si raggiunge un nodo foglia che rappresenta lo stato finale
o obiettivo della ricerca.
Ci sono due cose interessanti che possiamo capire grazie a questo modo di
rappresentare la ricerca della soluzione di un problema. In primo luogo esso può
essere applicato a moltissimi problemi di ambito diverso. Ad esempio potremmo
rappresentare allo stesso modo la ricerca del migliore investimento da fare in borsa. O
la scelta della mossa migliore durante una partita di scacchi. In secondo luogo ci
accorgiamo che è possibile seguire diverse strategie nella ricerca delle soluzioni di un
problema, ovvero diversi modi di esplorare l’albero.
Uno dei procedimenti euristici più noti è l’analisi mezzi-fini, formalizzata da Allen
Newell, Cliff Shaw e Herbert Simon durante lo sviluppo di un programma battezzato
modestamente General Problem Solver (GPS, o ‘solutore generale di problemi’).
Nell’analisi mezzi-fini la ricerca procede in questo modo. Si prende in considerazione lo
stato iniziale del problema e il suo obiettivo, cercando di individuare in che cosa
consista la differenza. Poi si applicano una serie di regole di trasformazione per
cercare di ridurre tale differenza: questo equivale al darsi una sorta di obiettivo
parziale. Una volta conseguito l’obiettivo parziale si comincia da capo finché lo stato
del problema non coincida con l’obiettivo dato. Secondo Newell, Shaw e Simon, questo
tipo di ragionamento euristico sarebbe alla base del ragionamento umano.
In realtà il GPS, e i principi su cui era basato, si sono rivelati troppo semplicistici.
Come mette in evidenza Haugeland, due in particolare sono le idee ingannevoli 2. La
prima è la tesi che malgrado le diversità di superficie tutti i problemi, o almeno tutte le
strategie di soluzione dei problemi, siano sostanzialmente equivalenti. Ben presto ci si
è resi conto, al contrario, che ogni classe di problemi ha delle euristiche specifiche che
si applicano esclusivamente al dominio di quei problemi. La seconda è la convinzione
che la formulazione di un problema e del suo dominio nei termini formali richiesti dai
programmi di problem solving sia tutto sommato un compito semplice. Invece il vero
‘problema’ nella risoluzione dei problemi consiste proprio nel trovare il modo migliore,
più efficiente e, perché no, più elegante per formularlo.
In una sequenza del film, viene messa in scena una partita di scacchi: una partita
tra HAL e Dave, uno degli astronauti, che viene naturalmente vinta dal computer.
Perché Kubrick decise di inserire quella sequenza nel film? Perché la vittoria di HAL al
gioco degli scacchi poteva dare una idea assai chiara di quanto egli fosse intelligente.
La storia degli scacchi al computer ha raggiunto il suo culmine un paio di anni fa,
quando per la prima volta un computer è stato in grado di sconfiggere il più grande
giocatore vivente, Gary Kasparov. Protagonista di questo storico risultato è stato Deep
Blue, un computer progettato e programmato nei laboratori di ricerca della IBM.
Kasparov e Deep Blue si sono scontrati due volte. Il primo match si è svolto nel
febbraio 1996. In quella occasione Kasparov riuscì a sconfiggere il suo sfidante
artificiale senza troppa fatica. Ma nella rivincita, che si è svolta nel maggio del 1997, è
finalmente avvenuto ciò che si attendeva da anni: Deep Blue è riuscito a vincere due
partite e a pareggiarne tre, battendo Kasparov.
Ma ci sono almeno due altre ragioni che rendono gli scacchi così interessanti. In
primo luogo si tratta di un gioco in cui ci sono un insieme limitato di elementi distinti
(le pedine) e delle regole molto precise che specificano quali mosse si possono fare.
Ad esempio l’alfiere si può muovere solo in diagonale. Infine sappiamo con certezza
quando il gioco finisce. Un gioco come questo, come sappiamo, può essere
sicuramente giocato da un computer.
Progettare un programma che sappia giocare a scacchi, dunque, a prima vista non
è così complicato. Basta rappresentare le pedine mediante un insieme di simboli, e poi
tradurre le regole del gioco in una serie di regole per manipolare tali simboli. A questo
punto il programma è in grado di calcolare per ogni mossa tutte le possibili
contromosse dell’avversario e per ognuna di esse tutte le sue possibili contromosse, e
così via. Se il programma potesse veramente operare in questo modo riuscirebbe
senza dubbio a trovare la mossa giusta per ogni turno di gioco. Ma quante sono le
possibili mosse di un partita di scacchi?
Va detto comunque che, anche se programmi come quello utilizzato da Deep Blue
incorporano componenti euristiche, siamo ancora molto lontani dal poter dire di aver
costruito una macchina dalla ‘intelligenza scacchistica’ paragonabile a quella di un
giocatore umano. Il punto di forza di Deep Blue – come del resto di tutti i programmi
per il gioco degli scacchi – resta infatti la capacità di calcolo, la ‘forza bruta’. Rispetto
al giocatore umano, in grado di individuare immediatamente le strategie più
promettenti e di limitare fortemente il numero di mosse analizzato, le capacità
euristiche del computer restano grossolane: quanto basta per limitare in qualche
modo l’esplosione combinatoria, e renderla compatibile con le capacità di calcolo della
macchina. Insomma, il computer è in grado di compensare la minore ‘intelligenza’ con
la capacità di analizzare un numero assai maggiore di mosse, molto più velocemente
di un uomo. La sconfitta di Kasparov indica solamente che l’equilibrio di questi due
fattori si è ormai spostato (o si sta spostando) a favore della macchina, ma non che il
computer sia diventato un giocatore dall’intelligenza scacchistica maggiore di quella di
un uomo.
I sistemi esperti
Le ricerche nell’ambito del problem solving, insieme a quelle sulla
rappresentazione delle conoscenze, sono alla base della creazione dei sistemi esperti.
I sistemi esperti rappresentano la più importante (e forse la sola vera) applicazione
dell’intelligenza artificiale che ha avuto una ricaduta pratica (anche e soprattutto a
livello commerciale).
• un motore inferenziale che sia in grado di dedurre (o inferire), a partire dalla base
di conoscenza, le conclusioni che costituiscono la soluzione a un dato problema che
rientra nel dominio. Il motore inferenziale, che è il vero cuore del programma,
funziona applicando alla base di conoscenze una serie di procedure euristiche simili
a quelle sviluppate nell’ambito del problem solving. Tuttavia nella maggior parte
dei casi alle euristiche generali si affiancano delle euristiche specifiche per
l’argomento di cui il sistema si occupa. Infatti in ogni campo specialistico un
esperto umano è in grado di escludere immediatamente e senza valutarle una
serie di opzioni che sono manifestamente improduttive;
Insomma i sistemi esperti costituiscono nel loro insieme una delle applicazioni
pratiche più interessanti dell’intelligenza artificiale. Tuttavia, in un certo senso, il
successo di queste applicazioni rappresenta una misura delle difficoltà incontrate
dall’intelligenza artificiale in senso forte. Un sistema esperto infatti, pur essendo molto
abile nel suo campo, non sarebbe mai in grado di applicare la sua abilità ad altri
domini: il suo è una specie di micromondo, solo un po’ più ricco di quello in cui
operava SHRDLU. E soprattutto un sistema, per quanto possa essere esperto in
medicina o geologia, non riuscirebbe mai a trovare la soluzione ad un qualsiasi banale
problema quotidiano che ciascun essere umano risolverebbe con il solo buon senso.
C’erano una volta tre Scatole: Papà Scatola, Mamma Scatola e il piccolo
Baby Scatola. Papà Scatola stava sul pavimento al centro dello loro modesta
casetta, con Baby Scatola appollaiato sulla spalla; Mamma scatola sedeva
tranquillamente accanto alla porta. All’improvviso, sferragliando sulle sue
rotelline, entrò Cavodoro, tutta desiderosa di risolvere qualche problema. Si
guardò intorno e poi con somma cura spinse Papà scatola fino alla parete
opposta4.
Cavodoro sa perfettamente dov’è Papa Scatola perché è lei che lo ha spinto fino
alla parete. Per quanto riguarda Mamma Scatola e Baby, non avendoli toccati, il robot
presumerebbe che siano rimasti dov’erano. Il fatto è che la sua azione di spostare
Papà Scatola ha avuto un effetto collaterale: lo spostamento di Baby, poggiato sopra il
papà. Dunque per rispondere alla terza domanda il robot dovrebbe tenere conto di
questo effetto collaterale. Il problema è che i possibili effetti collaterali di una azione
sono tantissimi. Ad esempio:
• …
3 Un progetto con tale obiettivo è in effetti in corso. Si tratta del progetto Cyc, ideato e condotto da
Wendy Lenat dal 1984. Cyc è un programma di IA che è stato dotato di una enorme quantità di
conoscenze di senso comune formalizzate in oltre dieci anni di lavoro. Tuttavia i risultati del progetto non
sembrano per ora avere scosso più di tanto la comunità dell’IA.
Naturalmente in una situazione semplice come quella della famiglia di scatole non
sarebbe difficile dare ad un programma la capacità di tenere conto degli effetti
collaterali rilevanti (ricordate SHRDLU?). Ma nella vita reale l’impresa è molto più
complicata. Ad esempio, se entriamo in una casa e diamo una spinta al padrone di
casa, egli potrebbe reagire, oppure la moglie potrebbe chiamare la polizia, o potrebbe
arrivare un vicino e fermarci. Ogni nostra azione insomma ha una serie di
conseguenze che ci costringono ad aggiornare continuamente la nostra conoscenza. E
talvolta questi aggiornamenti sono radicali. Noi esseri umani siamo capaci di fare
queste cose senza troppa difficoltà e in pochi secondi sin dalla tenera età. Ma finora
nessuno è stato in grado di capire esattamente come questo avvenga e di
trasformarlo in una serie di regole euristiche che un computer potrebbe usare per
aggiornare nel corso del tempo le sue conoscenze sui fatti accidentali del mondo e
sulle conseguenze delle sue eventuali azioni.