You are on page 1of 32

NOTE

I N T R O DU Z I O NE A LL I N T E LL I G E N Z A
A R T I FI C IA L E

STEFANO DE LUCA

S E T TE M B R E 2 0 1 0

Introduzione allIntelligenza Artificiale

Stefano De Luca

INTRODUZIONE
Lobiettivo di queste note essere di supporto al corso di intelligenza artificiale del corso di laurea
triennale di informatica. Vogliono quindi essere un supporto didattico pi che un testo scientifico auto
contenuto; difficilmente quindi le note saranno esaustive, ma si rimander a fonti esterne pi complete.
Una delle problematiche emerse durante gli anni di insegnamento, che non esistono testi che trattino
linterezza della materia: o sono del tutto sbilanciati verso lintelligenza artificiale simbolica, basata su
logica, o trattano esclusivamente degli approcci sub simbolici basati su apprendimento automatico.
Queste note vogliono cercare di dare unintroduzione alla materia mostrando pregi e difetti di entrambi
gli approcci, a nostro avviso necessari per realizzare sistemi che possano mostrare almeno un barlume
di intelligenza.

Introduzione allIntelligenza Artificiale

Stefano De Luca

1 STORIA DELLINTELLIGENZA ARTIFICIALE E SUA


DEFINIZIONE
1.1 NASCITA DELLINTELLIGENZA ARTIFICIALE
Il desiderio di creare intelligenze simili a quelle umane, ma artificialmente prodotto, antico quasi
quanto luomo. Gi nellantica Grecia, si riteneva che Efesto, dio del fuoco e della metallurgia, avesse
creato degli automi che lo aiutavano nel lavoro, e addirittura troviamo citato nellIliade (Omero, 1997,
p. XVIII, 417-421), che:
due ancelle si affaticavano a sostenere il signore,
auree, simili a fanciulle vive;
avevano mente nel petto e avevano voce
e forza, sapevano lopere per dono dei numi immortali;
queste si affaticavano a sostenere il signore;

Come riporta la Pugliara (Pugliara, 2002, p. 86), il dio fabbro infonde dunque una sorta di animazione
artificiale che possiede la medesima collocazione corporea, il medesimo nome e le medesime
potenzialit dellanimazione umana.
Addirittura, le ancelle doro [] sono istruite dagli dei
immortali, cio sanno come comportarsi grazie allintervento degli dei; ci presuppone, da parte loro,
una capacit di apprendimento (ibidem). Queste caratteristiche di animazione e capacit di
apprendimento sono elementi ancor oggi fondanti dellintelligenza artificiale.
Anche Aristotele (Aristotele, 1997, p. I A, 4, 1253b), ha inteso mostrare questa tensione verso strumenti
automatici intelligenti:
"Se ogni strumento riuscisse a compiere la sua funzione o dietro un comando o prevedendolo in anticipo, come si dice
delle statue di Dedalo o dei tripodi di Efesto... e le spole tessessero da s e i plettri toccassero la cetra, i capi artigiani
non avrebbero davvero bisogno di subordinati, n i padroni di schiavi

La storia ricca di automi che hanno tentato di replicare quelli doro di Efesto, tra cui uno addirittura di
Leonardo da Vinci, che progett un automa cavaliere nel 1495. In alcuni casi il desiderio di esprimere
una vera intelligenza fece si che si produssero dei clamorosi falsi, il cui caso pi noto quello del Turco
Meccanico, un automa della seconda met del 1700 che giocava splendidamente a scacchi. Solo dopo
molti anni si scopr che vi era una persona dentro.
Tutti questi sono visti oggi come tentativi poetici o primordiali di cercare di ottenere degli artefatti che
mostrassero caratteristiche proprie dellumanit; tra questi lattenzione mirata principalmente ai robot
(sebbene il termine sia stato creato dallo scrittore ceco Karel apek soltanto nel 1920), a macchine che
sapessero giocare, e in particolare il pi intellettuale dei giochi, quello degli scacchi.
Oggi si fa risalire la nascita dellintelligenza artificiale moderna a due lavori: quello di Alan Turing,
Computing Machinery and Intelligence(Turing, 1950), larticolo di Shannon (Shannon, 1950) sulla
programmazione di un programma di scacchi (un antenato del turco meccanico!). Siamo agli albori
dellinformatica , ma gi viva listanza di realizzare automi e programmi intelligenti.
anche importante sottolineare come lintelligenza artificiale nasca sin dal primo momento come
lunione dellinformatica e della filosofia. Non un caso se il suo inventore sia un logico matematico
(Turing), che Shannon pubblichi il suo contributo su una rivista di filosofia. Questa necessit fu
rimarcata dopo qualche anno anche dal pi che autorevole McCarthy nellarticolo Some philosophical
2

Introduzione allIntelligenza Artificiale

Stefano De Luca

problems from the standpoint of artificial intelligence(McCarthy & Hayes, Some philosophical problems from
the standpoint of artificial intelligence, 1969).
La fase iniziale degli anni 50 fu ricca di proposte estremamente innovative (come la proposta di
Turing di usare algoritmi evolutivi). Un momento particolarmente importante per questo settore fu la
conferenza di Dartmouth, tenutasi nel 1956 col nome di Dartmouth Summer Research Conference on
Artificial Intelligence presso il Dartmouth College, dove insegnava McCarthy, e supportata da altri
nomi importantissimi come quelli di Marvin Minsky, Nathaniel Rochester e Claude Shannon. Questa
conferenza dur circa un mese e serv come laboratorio e scambio di idee e quindi anche come
piattaforma di lancio di molti dei lavori successivi. Il termine stesso intelligenza artificiale venne
proprio coniato, da McCarthy, nella proposta della conferenza.
McCarthy, il cui nome abbiamo gi trovato spesso, avr modo di lasciare altre impronte fortissime
nellintelligenza artificiale: suo il linguaggio LISP (1958), in assoluto il linguaggio di programmazione
pi importante nellintelligenza artificiale, e suo anche il situation calculus (1963), un sistema logico per la
rappresentazione e il calcolo delle pianificazioni.
1.2 DEFINIZIONE DI INTELLIGENZA ARTIFICIALE
Finora non abbiamo dato alcuna definizione di intelligenza artificiale (IA), e in realt non affatto
facile darne una di una qualche validit. Si potrebbe dire che lIA il settore dellinformatica che si
occupa di creare macchine intelligenti, ma rimane il problema aperto che nessuno ha definito in modo
oggettivo, o quanto meno ampiamente condiviso, cosa sia lintelligenza stessa.
In genere, si intende per intelligenza la capacit di completare compiti e risolvere problemi nuovi
(problem solving), eventualmente sorti durante il completamento del compito originale, nonch la capacit
di adattarsi allambiente e ai suoi mutamenti. Si vuole aggiungere a questa definizione alquanto
pragmatica ed operativa anche la capacit della comprensione della realt (qualunque cosa questa sia),
includendo in questa anche la comprensione del linguaggio. Oggi giorno si tende a superare questa
forma di intelligenza orientata alla parte intellettuale, e si parla anche di altre tipologie di intelligenze,
come lintelligenza emotiva, quella relazionale ed altre,
La versione informatica dovrebbe quindi essere capace di rispondere a questi compiti estremamente
complessi. La verit che inizialmente lIA ha privilegiato gli aspetti pi intellettuali e mentali
dellintelligenza, e in buona parte continua a farlo. Facciamo un esempio: se mentre scriviamo un
articolo, vogliamo rispondere allobiettivo di mangiare, potremo farlo pianificando di andare in cucina,
prendere il pane, del formaggio, tagliare il pane, tagliare il formaggio, porlo dentro al pane e finalmente
potremo mangiare. Questa la cosiddetta attivit di pianificazione, e rientra indiscutibilmente
nellambito dellintelligenza artificiale (anche se oggetto di altre branche dellinformatica, ad es. della
ricerca operativa). Ma per operare un simile compito avremo bisogno di numerose altre abilit, che non
abbiamo nemmeno menzionato: dovremo avere un apparato visivo capace non solo di vedere ma anche
di distinguere la porta, il pavimento, il pane e gli altri oggetti utili; non solo, ma anche importante saper
riconoscere ci che mangiabile da ci che non lo , e se il formaggio che abbiamo preso ha della
muffa, dovremo poterlo dire e scartare quel particolare pezzo di formaggio; dovremo essere capaci di
camminare, di aprire porte, tagliare il pane Abbiamo quindi bisogno di una parte di intelligenza pi
simbolica, capace di manipolare la pianificazione, ma anche di altri elementi, quelli meno simbolici,
come la visione e il movimento, che oggi sono riconosciuti cardine di un sistema veramente intelligente.
Si pensi che per una compiuta critica alleccessiva preponderanza della parte intellettuale si iniziata a
fare solo verso la fine degli anni 80 e nei primi anni 90, con larticolo di Brooks, Intelligence without
representation (Brooks, 1991).
Vediamo storicamente le distinzioni che sono state fatte nellintendere il concetto di AI.
3

Introduzione allIntelligenza Artificiale

Stefano De Luca

1.3 INTELLIGENZA ARTIFICIALE FORTE


Inizialmente lIA ha avuto una pozione, chiamata IA forte (strong artificial intelligence), che si posta
lobiettivo di replicare esattamente lintelligenza umana, e in particolare la parte intellettuale
dellesecuzione dei compiti. Un magnifico paradigma letterario dellIA forte sono i robot di Asimov,
degli alter ego umani con cervelli positronici e capacit di essere senzienti tipicamente almeno
equivalenti a quelle umane, e spesso anche superiori.

FIGURA 1 UN ESEMPIO LETTERARIO DI IA FORTE

Il termine IA forte stato introdotto dal filosofo della mente John Searle, che ha voluto dividere lIA in
due categorie (Searle J. , 1980):

IA forte: unintelligenza artificiale che pu pensare e avere una mente;


IA debole: unintelligenza artificiale che agisce come se pensasse e avesse una mente.

Questa disputa, che oggi pu sembrare alquanto distante dalla reale attivit del ricercatore o dallo
specialista del settore, stata considerata essenziale negli anni 70 e 80. Si consideri che tutta quasi lIA
del primo periodo (fino alla fine degli anni 80) ha abbracciato la posizione forte, e c stato un forte
ostracismo alle altre varianti dellIA.
I punti su cui lIA forte si concentrata maggiormente sono:

la rappresentazione della conoscenza, in particolare tramite logica matematica;


uso del ragionamento, e di meccanismi di dimostrazione automatica;
pianificazione, in particolare tramite lapplicazione di algoritmi basati su grafi;
analisi del linguaggio naturale, nel tentativo di rendere automatica la comprensione e la produzione di
espressioni della lingua umana.

Si dato invece poco spazio ad altri elementi oggi ritenuti essenziali, come:

lapprendimento automatico, per cui un sistema apprende a funzionare meglio sulla base delle esperienze
registrate (si potrebbe anche dire vissute, applicando una metafora che agli intelligenti artificiali viene
molto naturale);
Introduzione allIntelligenza Artificiale

Stefano De Luca

capacit di riconoscere pattern, trend e classificare.

La tecnologia emblematica dellIA forte stata quella dei sistemi esperti, ovvero insiemi di regole che
descrivono in forma logica (o approssimativamente tale) e sulla base dei quali un motore inferenziale
riesce a trarre deduzioni. Lidea sottostante era che si potesse in questo modo riversare tutta la
conoscenza di un esperto di dominio in un sistema esperto, e questo avrebbe potuto essere equivalente
(e quindi sostituibile) ad una persona. Il problema reale non stato tanto la scelta della tecnologia,
ancora oggi usata in forma pi limitata, ma piuttosto questa promessa di poter avere tanti piccoli robot
asimoviani pronti a lavorare per noi.
Questa promessa, fatta con la tecnologia di quegli anni, e con computer a dir poco molto meno potenti
degli attuali, ha fatto si che il termine Intelligenza artificiale sia quasi del tutto inusabile, e rimanga
legato a promesse non mantenute che hanno portato al cosidetto fallimento dellintelligenza
artificiale. Una testimonianza interessante arriva dal giornalista scientifico John Horgan, noto per il
libro The End of Science. In un articolo di revisione, The End of Science Revisited (Horgan,
2004), parla proprio di questo fallimento:
One would think that chaoplexologists would also be chastened by the failure of artificial intelligence to live up to
expectations. AI researchers have come up with some useful inventions, including devices that can translate languages,
recognize voices, judge loan applications, interpret cardiograms, and play chess. But these advances pale beside the
hopes that AI pioneers once had for their field. In 1984, I edited an article for IEEE Spectrum in which AI
expert Frederick Hayes-Roth predicted that expert systems were going to usurp human roles in professions such as
medicine, science, and the business world. When I called Hayes-Roth recently to ask how he thought his predictions
had held up, he cheerfully admitted that the field of expert systems, and AI generally, had stalled since their heyday in
the early 1980s.

Rispetto a chi puntava a sostituire le persone, evidente che la nuova intelligenza artificiale sia
ferma (stalled). I risultati che lIA oggi ha portato (e non aveva potuto portare in questa presunta era
doro), negano fermamente questa posizione.
1.4 INTELLIGENZA ARTIFICIALE DEBOLE
La posizione dellintelligenza artificiale debole una posizione utilitaristica. Non si pone pi lobiettivo
di realizzare intelligenze simili a quelle umane, ma piuttosto realizzare software che possano sostituire
alcune funzioni umane, come ad es. la traduzione automatica di testi, o la previsione di atti criminali,
che sono senzaltro funzioni complesse non immediatamente riconducibili a sistemi formali, ma la cui
soluzione non potr far dire che nuove intelligenze vivono tra noi.
Limportante che il software agisca come un soggetto intelligente, non che lo sia davvero. Se un navigatore
satellitare ci consente di arrivare a destinazione, fornendoci informazioni con una voce sintetica
suadente, magari addirittura confrontandosi con il traffico reale sulle strade, a chi segue lIA debole non
importer il modo in cui ci arriva, mentre un seguace dellIA forte potr obiettare che non cos che le
persone ragionano. curioso come questa obiezione si potrebbe applicare anche ai sistemi esperti, o ai
programmi che giocano a scacchi, ma questo non stato fatto.
In conclusione, oggi questa polemica sembra fuori tempo e mal posta, basandosi su assunti sulla mente
umana assolutamente non scientifici, e tantomeno utili allo sviluppo del settore; ad es. vi fu una
posizione negativa verso le reti neurali artificiali, oggi una delle tecnologie di maggior successo.

Introduzione allIntelligenza Artificiale

Stefano De Luca

Non si pu per negare che la posizione di avere intelligenze almeno simili a quelle umane sia un
obiettivo ancora oggi assolutamente affascinante, e che la possibilit di avere i famosi robot di Asimov
il sogno di chiunque si avvicini a questa materia.

1.5 TEST DI TURING


Una soluzione pragmatica e operativa al problema dellespressione dellintelligenza in una macchina
stata avanzata da Turing nel gi citato articolo (Turing, 1950). Lidea che una persona sa riconoscere
un sistema intelligente quando lo incontra, sia esso una persona o un automa; invece di proporre una
lunga e probabilmente controversa lista di caratteristiche richieste ad un computer per essere
considerato intelligente, Turing ha suggerito un test basato sullimpossibilit di distinguerlo da entit
che lo sono indubbiamente: gli esseri umani.
Il computer passer il test se un esaminatore umano, dopo aver posto alcune domande in forma scritta,
non sar in grado di capire se le risposte provengono da una persona o no. Le domande possono essere
di qualsiasi tipo, e possono riguardare la conoscenza enciclopedica (dimmi qual la capitale di Italia),
capacit di calcolo (quanto fa 2 alla 3?), esperienze anche emotive (come ti senti quando guardi il
mare?), domande con co-referenza (ti piace la citt di cui abbiamo gi parlato?) e qualsiasi altra cosa
venga in mente allesaminatore. Si noti che non sempre rispondere correttamente indurr nella persona
lidea che laltro sia una persona, ad es. pochi di noi saprebbero dire qual la radice quadrata di
102,21391, cosa invece semplice per un automa.

FIGURA 2 IL TEST DI TURING: UNA PERSONA ESAMINA UNA PERSONA E UN AUTOMA

Il computer quindi, dovrebbe possedere le seguenti capacit:

Interpretazione del linguaggio naturale per comunicare con lesaminatore nel suo
linguaggio umano.

Rappresentazione della conoscenze per memorizzare quello che sa o sente.

Ragionamento automatico per utilizzare la conoscenza memorizzata in modo da


rispondere alle domande e trarre nuove conclusioni.

Apprendimento per adattarsi a nuove circostanze, individuare ed estrapolare pattern.

Bisogna dare credito a Turing di aver concepito un test che rimasto significativo a distanza di
cinquantanni. Sono state fatte delle estensioni al test per introdurre elementi multimediali, ma
fondamentalmente il test ancora oggi considerato piuttosto valido.
6

Introduzione allIntelligenza Artificiale

Stefano De Luca

FIGURA 3 UNA VERSIONE DIVERTENTE DEL TEST DI TURING

Un tentativo di superare la posizione del test di Turing stata fatta da Searle. Ipotizza lesistenza di una
stanza dove possibile introdurre dei testi scritti in una lingua, e da dove verranno emessi dei testi
tradotti in unaltra lingua, ad es. i testi originali in inglese e i testi tradotti in cinese. Un osservatore potr
pensare che chi sta facendo le traduzioni, sia esso una persona o un automa, sia intelligente, mentre,
obietta Searle, questa operazione potr essere eseguita in modo del tutto automatico e meccanico, ad es.
osservando un libro di regole o un dizionario. Non necessario quindi che chi opera la traduzione
conosca la lingua di traduzione e nemmeno la lingua originale: loperazione non ha nulla di intelligente.

FIGURA 4 LA STANZA CINESE DI SEARLE

La posizione di Searle non ha lobiettivo di contestare il test di Turing in s, quanto piuttosto laderenza
di questo alla posizione dellIA forte.
A sua volta, per, anche le sue osservazioni sono attaccabili. Sostenere che sia possibile loperazione di
traduzione sulla base di un dizionario unaffermazione palesemente falsa (famosa la traduzione di la
carne debole e lo spirito forte, tradotta nella lingua finale come il liquore forte e la bistecca
avariata); si prende cos un compito estremamente arduo e se ne ipotizza una soluzione banale, per
7

Introduzione allIntelligenza Artificiale

Stefano De Luca

poter sostenere che non c pensiero; ma se questa soluzione fosse possibile, il compito non sarebbe
complesso e non rientrerebbe nellambito dellIA e della specificit dellintelligenza umana.
Rimane da analizzare il punto dellIA forte contestato da Searle: necessario che i programmi
pensino, o quanto meno seguano gli stessi processi delle persone, per poter risolvere task tipici
dellintelligenza?
Il problema particolarmente mal posto, in quanto non stato stabilito ancora in modo in cui noi
persone pensiamo. Vi addirittura chi mette in dubbio lesistenza del pensiero stesso diviso dai suoi
effetti operativi (ed una delle posizioni prevalenti della moderna psicologia, quella del
comportamentismo e ancora di pi la scuola cognitivo-comportamentale), o altri che fanno risalire alle
emozioni la base dellintelligenza (in questo caso un medico di fama internazionale, Antonio Damasio
(Damasio, 2000)). La critica di Searle risulta quindi non indirizzabile al test di Turing, ma a letture di
questo che ne hanno senzaltro travisato il senso.
Non vi sono i bench minimi fondamenti scientifici per supportare oggi (o al momento della sua
formulazione) la posizione dellIA forte; non rimane quindi che la posizione dellIA debole, che
potremmo oggi piuttosto redifinire come IA pragmatica. Questo non vuol dire che gli obiettivi
dellIA forte, come la creazione di robot e automi antropomorfi, debbano essere abbandonati, ma solo
che possibile cercare di raggiungerli anche in altri modi diversi dallapproccio al pensiero che per
risulta pi simile a quello della scuola medievale della Scolastica che quello che deriva dai risultati reali
della medicina, della psicologia e della filosofia moderne.
Da ultimo, non si pensi che questa attenzione ai temi filosofici e pi fondazionali sia eccessiva. LIA da
sempre usa e modella i propri tentativi su teorie filosofiche, e non un caso, ad esempio, che la
grandissima parte dellintelligenza artificiale distribuita, i cosiddetti sistemi di agente (MAS Multi Agent
Systems) si basino su una metodologia, la BDI Belief Desire Intention, derivata dalle teorie
sullintenzionalit del filosofo della mente Daniel Dennett (Dennett, 1971), e addirittura tutti i linguaggi
di comunicazione tra agenti (KIF, FIPA ACL) si basino sul lavoro del filosofo del linguaggio Austin
(Austin, 1975)(Searle J. R., 1970).
1.6 USI DELLIA
Lobiettivo che ai nostri giorni si attribuisce allIA, o ai sistemi intelligenti, o anche ai sistemi adattativi, che
sono altri modi di chiamare questo settore, quello di risolvere compiti che tipicamente siano associati
allintelligenza umana e, specie di recente, anche a quella animale.
Si va quindi da grandi obiettivi, come la realizzazione di automi del tutto equivalenti alle persone,
magari anche con una coscienza morale, o la creazione di nuove forme di intelligenza, fino a compiti
estremamente pi pratici.
Alcuni di questi sono gi oggi sotto gli occhi di tutti: il riconoscimento automatico di caratteri (OCR),
cosa che oggi diamo per scontata ma che gi negli anni 70 e 80 sarebbero stati considerati
fantascienza; il riconoscimento e il rendering del parlato; sistemi di governo come i piloti automatici,
ormai cos economici che vengono venduti anche sulle automobili di fascia media (Volkswagen Touran,
Toyota Prius) per parcheggiare da s; addirittura veicoli che riescono a guidare automobili nel deserto,
senza alcun intervento umano; sistemi di profilazione utente che sanno quale musica farci ascoltare
sulla base del gradimento mostrato per i brani gi ascoltati (LastFm.com, Bose LifeStyle 48); sistemi
capaci di capire i sentimenti espressi in un testo, come quelli positivi, negativi, di critica sociale etc.;
robot capaci di riconoscere le emozioni delle persone o di simularle tramite mimica facciale; sistemi che
prevedono con precisione il futuro consumo di energia elettrica, o di individuare gli elementi comuni
8

Introduzione allIntelligenza Artificiale

Stefano De Luca

tra gli acquirenti di un prodotto; sistemi di supporto alle decisioni (DSS) capaci di aiutare gli
investigatori a riconoscere potenziali minacce (threath analysis) o individuare i colpevoli di un crimine
(Evodevo Mimesis) un elenco che potrebbe andare avanti a lungo, a dimostrazione che mai come
oggi lIA funziona e viene usata davvero, sempre pi spesso e sempre meno con quellaura di magia
che accompagnava, ad es. , i primi programmi di scacchi. Ormai lIA non pi un settore di nicchia, ma
mainstream.

FIGURA 5PARCHEGGIO AUTOMATICO

FIGURA 6 HYPE CYCLE DI GARTNER, 2005

Vediamo qualche applicazione tipica dellintelligenza artificiale.


Robotica
Come abbiamo visto, lidea di avere dei simulacri umani, e sempre pi spesso animali, connaturato
allumanit, ed uno dei settori maggiormente studiati dellIA. Probabilmente proprio per questo non
facile definire in modo univoco cosa sia un robot. Normalmente si conviene che un robot sia un
sistema che agisce sullambiente fisico. Lo standard ISO 8373, sui robot industriali, li definisce come:
9

Introduzione allIntelligenza Artificiale

Stefano De Luca

An automatically controlled, reprogrammable, multi-purpose manipulator programmable in three or more axes,


which may be either fixed in place or mobile for use in industrial automation applications. (ISO 8373, 1994)

FIGURA 7 ROBOT AUTONOMI SU MARTE

La definizione talmente ampia che anche un forno a micro-onde pu essere considerato un robot.
Altri studiosi, come Alan Mackworth, presidente della American Association for Artificial Intelligence,
ritengono che i robot debbano avere uno scopo, ed agire in accordo ad esso. Rodney Brooks, che
abbiamo gi incontrato ed una delle figure pi autorevoli dellintelligenza artificiale e della robotica in
particolare, ritiene che:
To me a robot is something that has some physical effect on the world, but it does it based on how it senses the world
and how the world changes around it. You might say that a dishwasher is a robotic system for cleaning dishes but to
me it's not really. First it doesn't have any action outside the confines of its body. Secondly, it doesn't know about the
dishes inside it. It just spurts hot water around and swishes it and whether there are dishes there or not doesn't affect
its behaviour, so it's not really situated in the world, it's not understanding the world around it in any sort of
meaningful way. (CBC News, 2007)

I punti critici, per Brooks, sono quindi la possibilit di agire sul mondo, la capacit
di percepirlo e, in definitiva essere situato nel mondo e percepirlo. una
definizione eccellente, e la troveremo in seguito quando andremo a definire un
agente.
Forse la migliore definizione per quella di Joseph Engelberger, considerato uno
dei padri della robotica, che, intervistato, disse non so definire cosa sia un robot,
ma lo so riconoscere quando ne vedo uno!
Usi dei robot sono veramente innumerevoli. Sono usati con successo nelle fabbriche (ed opportuno
aggiungere che lItalia una delle nazioni leader in questo settore) per lautomazione industriale; sono
usati in ambito medico per supportare i medici nelle operazioni pi complesse, come quelle al cervello,
per agire a distanza come forma estrema di tele-medicina; sono impiegati per la produzione di arti
artificiali (braccia, gambe) e addirittura organi interni; vengono usati a scopi di esplorazione in
condizioni difficili, ad esempio in una tubatura di una fogna, o nel mare profondo, fino ad arrivare

10

Introduzione allIntelligenza Artificiale

Stefano De Luca

allesplorazione dello spazio esterno, come gi successo con i robot rover Spirit e Opportunity inviati
su Marte dalla NASA1.
I robot vengono distinti in guidati da persone e autonomi, ovvero capaci di rispondere ad un obiettivo
(goal) e alle situazioni ambientali senza alcun intervento da persone.
Una competizione molto famosa Robocup 2 , sponsorizzata da societ giapponesi tra cui Sony.
Lobiettivo della gara mettere in competizione e, cosa pi in importante, in comunicazione centri di
ricerca e aziende, con lobiettivo di creare robot autonomi capaci di giocare a calcio; vi sono diverse
categorie, andando da piccoli robot a robot umanoidi nelle forme e nelle dimensioni.

FIGURA 8 ROBOT NELLA COMPETIZIONE ROBOCUP

Una derivazione della Robocup molto interessante la Rescue League3, il cui obiettivo creare robot
capaci di dare supporto alle situazioni di disastri, come terremoti, incendi, attacchi terroristici; tra gli
obiettivi principali, la ricerca di persone ferite e la creazione di mappe delle zone e degli edifici
trasformatei dellevento disastroso. Robot sono impiegati sempre di pi anche su scenari militari, sia per
operazioni di scouting che per vere e proprie azioni di difesa e supporto.

FIGURA 9RESCUE LEGUE: ROBOT PER LE EMEREGENZE

http://marsrover.nasa.gov/technology/is_autonomous_mobility.html
http://www.robocup.org/
3 http://www.robocuprescue.org/
1
2

11

Introduzione allIntelligenza Artificiale

Stefano De Luca

Alcuni robot sono solo parzialmente autonomi, ma questo non vuol dire che non si richieda
intelligenza: il coordinamento di bracci meccanici, la traduzione di un ordine in azione concreta sono
spesso operazioni estremamente complesse.
Di recente la ricerca si attestata su forme di robotica meno convenzionali. Tra queste vi la possibilit
di lavorare con gruppi (o sciami) di robot (swarm robotics), in modo da distribuire il carico
dellintelligenza tra tutti i membri dello sciame: il paradigma il comportamento degli insetti, in
particolare le formiche e le api.
Molta attenzione si sta prestando ai robot emozionali, capaci di esprimere emozioni tramite espressioni
del viso e del corpo, ed eventualmente anche riconoscere le stesse emozioni nelle persone.
Trattamento dei testi e del linguaggio
Lobiettivo della comprensione del linguaggio , e sar ancora per molto, uno dei prioritari di tutta lIA.
Comprendere il linguaggio ha diversi obiettivi:

Permettere ad una persona di dare ordini a un sistema artificiale.

Capire un testo, e fornirne una sintesi: estrarne un riassunto (summarization), comprendere i


concetti principali espressi (classificazione) o i sentimenti di chi scrive (sentiment analysis, opionion
mining).

Tradurre un testo da una lingua allaltra.

Trovare elementi ricorrenti tra testi, usato anche per riconoscere che un testo di una data
persona.

Poter ricercare testi (ma anche la parte parlata di oggetti multimediali come i film) non pi sulla
base dei termini contenuti ma a partire dal significato, sia quello implicito contenuto nel testo
che eventualmente correlabile (ad es. trovare la Divina Commedia o lOrlando Furioso a partire
dalla ricerca capolavori italiani).

Trovare i termini e i concetti correlati ad un argomento dato: fornendo il tema di ricerca Alfa
Romeo, si potranno trovare temi come velocit, passione, FIAT, corse e cos via; si
potr creare una nuvola di concetti, che esprimer meglio la semantica dei termini dati. Questa
operazione rientra nella categoria del text mining.

Poter condurre conversazioni, come nei chatbot, agenti che si collegano ad una chat e riescono
ad interagire con gli altri utenti, o negli NPC Non-Player Character, i personaggi di un gioco non
controllati da un giocatore, da cui vogliamo sempre pi naturalezza e interattivit.

Analisi dei database (Knowledge Discovery in Database, Data Mining)


Se ad una persona vengono mostrati molti dati, del tutto naturale che riesca a scoprire regolarit,
pattern e riconoscere alcune regole sottostanti alla creazione dellinsieme di informazioni;
eventualmente si potr cercare di capire quale sar la curva tendenziale degli eventi, ad es. che tipo di
libro comprer una persona. Questi sono proprio i temi che affronta lestrazione di conoscenza dalle
basi dati, o Knowledge Discovery in Database, pi spesso chiamata Data Mining, loperazione del minatore
che estrae a colpi di piccone la conoscenza nascosta.
Il data mining viene usato regolarmente da organizzazioni di vendita, in particolare da parte della
grande distribuzione organizzata come i supermercati, o le aziende di telecomunicazioni, o le banche.
Lobiettivo pu essere il riconoscimento di un gruppo omogeneo di consumatori, ad esempio per
12

Introduzione allIntelligenza Artificiale

Stefano De Luca

scegliere un gruppo su cui attivare una campagna promozionale; il modo migliore di vendere un
prodotto accostandolo ad un altro; la previsione di vendita di un particolare acquirente, che si potr
concretizzare in offerte specifiche e sconti personalizzati; la possibilit di interesse di un prodotto
ancora nella sua fase iniziale di ideazione.
Il data mining permette anche di riconoscere situazioni criminali, come le frodi o possibili attentati. Un
caso di successo quello della VISA che ha usato tecniche di data mining (in particolare le reti neurali)
per lantifrode:
"Credit card fraud costs the industry about a billion dollars a year, or 7 cents out of every $100 spent on plastic. But
that is down significantly from its peak about a decade ago, Sorrentino says, in large part because of powerful
technology that can recognize unusual spending patterns. (The Washington Post, 2006)

Giochi
Lumanit gioca da sempre, e sarebbe stato impossibile che lIA non fosse stata applicata, sin dai primi
anni, alla produzione di giochi e giocatori artificiali.
Inizialmente lattenzione si concentrata sui giochi da tavolo, affrontando quelli pi semplici, come la
dama, per poi passare a giochi che hanno una parte di alea come il backgammon, e tentando pi volte
con i giochi pi difficili, come gli scacchi e il go.
Tutti questi giochi sono stati risolti, ovvero i programmi artificiali giocano al livello dei campioni del
mondo, meno il go, che ancora resiste anche grazie al fatto che si gioca su una scacchiera 19x19, che fa
esplodere in modo combinatorio le mosse possibili.

FIGURA 10 LA SCACCHIERA DEL BACKGAMMON E DEL GO

Fece particolare impressione quando un programma scritto da Hans Berliner vinse, nel 1979, il
campione del mondo, litaliano Luigi Villa. Era gi stato prodotto un software capace di battere il
campione del mondo di dama, ma non si pensava che fosse possibile per un software trattare con
lincertezza data dalluso dei dati, e della capacit di gestire il rischio.
Per gli scacchi, innumerevoli scienziati hanno lavorato per costruire programmi sempre pi forti,
producendo una grandissima quantit di teoria usata in applicazioni anche molto lontane dai giochi. Nel
1997, un programma dellIBM, Deep Blue, su un hardware dedicato, sconfisse il campione del mondo
Garry Kasparov, sebbene ci siano numerosi dubbi sulla realt della sconfitta. Gi lanno successivo un
software commerciale, su un normale computer, sconfisse lallora vicecampione del mondo. Ormai
13

Introduzione allIntelligenza Artificiale

Stefano De Luca

programmi da poche decine di euro, come quello mostrato in figura, Fritz, possono vincere maestri
internazionali di scacchi.

FIGURA 11 PROGRAMMI CHE GIOCANO A SCACCHI: FRITZ

Ormai si sta anche spostando linteresse, dallavere programmi imbattibili ad avere strumenti che
aiutino le persone a giocare, dando suggerimenti utili, come si vede in figura.
Luso dellIA nei giochi uno dei temi pi importanti a livello industriale. I giochi al computer nel 2009
hanno prodotto, soltanto negli USA, un fatturato di circa 10,5 miliardi di dollari (fonte ESA 4). I giochi
hanno superato la redditivit dei film, tanto che ormai si invertita la tendenza di fare giochi a partire
dai film andando verso film modellati sui giochi.
Anche la competizione tra giochi concorrenti viene spesso basata sulla capacit del gioco di
comportarsi in modo naturale, di prevedere i comportamenti del giocatore e saperli controbattere, di
simulare situazioni e mondi complessi. Un gioco sar tanto pi venduto quanto pi l intelligenza
artificiale forte. Un gioco (Rainbow Six Lockdown) con questa recensione Intelligenza artificiale
inadatta, scarso appeal, meccaniche di gioco snaturate dalla loro originale veste tattica e poco invitanti. non avr molta
possibilit di avere successo. Anche giochi gi molto noti come Civilization, nella sua versione V,
possono produrre recensioni come questa5:
Il secondo fattore che lascia pi dubbiosi l'intelligenza artificiale, o meglio il suo comportamento in base al livello di
difficolt scelto: lo studio dell'IA in s infatti pi che buono, il problema che diminuendo il grado di sfida sembra
che gli avversari perdano in variet di mosse e non solo nella loro efficacia; non un difetto in termini assoluti quindi,
piuttosto un possibile motivo di monotonia per coloro iniziassero solo ora l'avventura nel mondo di Civilization.
(multiplayer.it, 2010)

4
5

http://www.theesa.com/facts/pdfs/VideoGames21stCentury_2010.pdf
http://multiplayer.it/recensioni/80719-civilization-v-battaglie-allultimo-turno.html

14

Introduzione allIntelligenza Artificiale

Stefano De Luca

Vale la pena di ricordare che giochi molto fortunati, come SimCity, Cesar III, Sims, sono applicazioni
dirette di tecniche di intelligenza artificiale, nemmeno particolarmente complesse.
Vi sono ancora altre aree di utilizzo dellIA nei giochi; citeremo soltanto la capacit di commentare le
azioni di gioco, molto usate nei giochi di calcio, e lefficacia della simulazione del mondo dove si muove
il giocatore.
Sistemi di controllo
I sistemi di controllo sono ormai unapplicazione estremamente comune ed importante delle tecniche
di IA. Vediamo qualche esempio.
La Toyota usa un sistema a regole, Gensym G2, per la pianificazione della catena di montaggio. Il
compito estremamente complesso anche solo per una tipologia di modello, ma loperazione viene
complicata dalla produzione on demand, ovvero la possibilit del cliente finale di chiedere un numero
elevato di varianti che risultato in azioni diverse. Ci sono circa 3.000 operazioni basilari per ogni
veicolo, che coinvolgono circa 200 operatori. Il sistema capace di indicare quale operatore deve fare
quale operazione, e dove, identificando possibili intoppi e conflitti di azioni durante loperazione di
costruzione.
Anche la Volkswagen usa un sistema a regole per gestire la produzione.
LEnel usa sistemi basati su reti neurali per mantenere sotto controllo le centrali di produzione e
smistamento di energia elettrica. In questo contesto, il controllo dellenergia prodotta, la quantit di
calore sprigionata, sono critiche da controllare, per impedire malfunzionamenti o situazioni di pericolo.
Un caso di successo spaziale quello della sonda Deep Space 1. Riportiamo un pezzo di un articolo
molto interessante6, di pi di 20 anni fa:
Remote Agent Experiment: missione compiuta
Gli agenti software della NASA sono riusciti a manovrare una navetta spaziale a milioni di chilometri di distanza
La sonda Deep Space 1 della NASA. Fino a ieri era pi che altro materia per romanzi di fantascienza. Ebbene,
giunto il momento in cui la fiction diventa realt: un agente software di intelligenza artificiale riuscito a manovrare
una navicella spaziale lontana milioni di chilometri dalla Terra. Nella settimana tra il 17 e il 21 maggio, gli esperti
dell'Ames Research Center e del Jet Propulsion Laboratory della NASA sono riusciti nell'impresa di condurre a
termine il Remote Agent, un esperimento progettato per far progredire l'autonomia dei veicoli spaziali. I loro sforzi prodotti per tenere il controllo della sonda Deep Space 1 della NASA - hanno dimostrato che questo sofisticato
software di intelligenza artificiale in grado di svolgere compiti di alto livello assumendo persino il comando di un
veicolo spaziale. Fatto ancora pi importante, la missione ha dimostrato che il Remote Agent anche in grado di
giocare al dottore diagnosticando i suoi stessi problemi e sviluppando piani d'azione efficaci per ritornare in buona
salute. Quest'ultima qualit emersa inaspettatamente a meno di 24 ore dall'inizio dell'esperimento, quando il
Remote Agent riuscito ad accendere il motore ionico della sonda, ma ha fallito nel tentativo di spegnerlo. Era chiaro
che c'era qualche baco nel software, ma qual era, esattamente, il problema? Dando un'impressionante dimostrazione
di forza, il Remote Agent ha fornito esso stesso agli scienziati gli indizi utili a diagnosticare e risolvere il problema.
(Marco Cattaneo, Le Scienze, 1999)

Il fatto che si sia permesso ad un software di controllare un oggetto il cui lancio di molti milioni di
dollari emblematico, e se pensiamo alla potenza dei computer degli anni 90 si potr apprezzare
ancora di pi il lavoro degli autori del sistema di controllo.

http://lescienze.espresso.repubblica.it/articolo/Remote_Agent_Experiment:_missione_compiuta/1292156

15

Introduzione allIntelligenza Artificiale

Stefano De Luca

Potremmo continuare con molte altre applicazioni, sia su larghe installazioni come per il controllo delle
acque, ma merita anche citare i piloti automatici degli aeroplani, i sistemi di controllo delle frenate o
dello sbandamento, ABS e ESB, che ci supportano sempre pi nel controllo dei veicoli.

Artificial Life
La vita artificiale, o artificial life, anche abbreviato in alife, una visione particolare dellintelligenza
artificiale che orientato allo studio di sistemi e intelligenze artificiali che non sono date dallinizio e
nemmeno basate su quella umana, ma piuttosto che emergano naturalmente tramite un meccanismo di
evoluzione darwinistica. Il termine stato coniato da Christofer Langton nel 1986,
Lobiettivo dellalife totalmente diverso in quanto non si vogliono realizzare agenti finalizzati ad uno
scopo, ma lunico scopo interessante ladattamento allambiente; cosa far lagente e come lo far, sar
scoperto e deciso dallevoluzione del sistema.

FIGURA 12 COPERTINA DELLA RIVISTA "ARTIFICIAL INTELLIGENCE"

evidente da questa definizione che lalife orientata a forme di replica dei meccanismi della vita, e lo
studio di sistemi darwinistici essenziale per questa area. Le tecnologie impiegate sono quelle degli
automi cellulari, degli algoritmi genetici, delle reti neurali. Importanti per questarea lo studio dei
sistemi di animali, come i batteri e, di nuovo, animali sociali come le formiche e le termiti.
Area assolutamente minoritaria dellintelligenza artificiale, sta trovando una nuova vita nella
modellazione di sistemi complessi e nella robotica evolutiva.
1.7 CONNESSIONISMO
Il connessionismo stata una delle reazioni forti alleccesso di attenzioni allapproccio logico-matematico,
o simbolico. Lidea del connessionismo che lintelligenza possa essere raggiunta da piccole unit
computazionali, i neuroni artificiali, grazie allelevata quantit di connessioni; si va oltre il paradigma del
sistema di calcolo centralizzato a favore di un meccanismo intrinsecamente distribuito; inoltre, lidea
quella di ispirarsi alla natura, cercando di copiare il cervello umano e le sue reti neurali. Lidea iniziale
degli psicologi americani David Rumelhart e James McClelland.
Il connessionismo nell'intelligenza artificiale propone un nuovo modello per la costruzione e
programmazione di hardware e software ispirati al cervello umano che elabora le informazioni dei vari
sensi in maniera parallela, evitando il cosiddetto collo di bottiglia di von Neumann, dei modelli
16

Introduzione allIntelligenza Artificiale

Stefano De Luca

contemporanei, dove tutte le informazioni devono passare per la CPU serialmente, e abbandonando
lidea che sia necessario manipolare esplicitamente simboli per raggiungere lintelligenza.
Oltre a questo suggerisce un modello distribuito per la rappresentazione delle informazioni nella
memoria. Le informazioni all'interno di una rete neurale (biologica o artificiale che sia) sono distribuite
per tutti i vari nodi della rete e non in un "posto" singolo. Non si pu pi quindi puntare ad una parte
determinata del sistema e dire che questa unit contiene una determinata informazione o svolge un
determinato compito specifico.
Il connessionismo suggerisce quindi un modello di "Parallel Distributed Processing" (PDP):
Elaborazione a parallelismo distribuito delle informazioni.
Molti vedono il connessionismo in opposizione al simbolismo. Il simbolismo una forma specifica del
cognitivismo che sostiene che l'attivit mentale sia solo calcolo, cio che la mente funziona
essenzialmente come una macchina di Turing. Le differenze di fondo sono le seguenti:

I simbolisti presuppongono modelli di simboli che non assomigliano per niente alla struttura del
cervello, mentre i connessionisti esigono che i loro modelli assomiglino alle strutture
neurologiche.

I simbolisti generalmente si interessano solo alla struttura dei simboli e delle regole sintattiche
per la loro manipolazione, mentre i connessionisti guardano all'apprendimento da stimoli
ambientali e alla memorizzazione di queste informazioni nei collegamenti fra neuroni.

I simbolisti credono che l'attivit mentale interna consista nella manipolazione dei simboli
(come nella teoria del linguaggio del pensiero di Fodor), mentre i connessionisti credono che la
manipolazione di simboli sia un modello dell'attivit mentale molto povero e semplificato.

Non va comunque dimenticato che anche il connessionismo una rappresentazione estremamente


semplificata della natura, e che le reti neurali artificiali (di cui si parler in seguito) sono solo una pallida
imitazione di quelle naturali.
Negli anni 80 vi sono state dispute molto intense sul tema connessionismo contro simbolismo. Ora si
pu cercare di andare oltre questa dicotomia, cercando piuttosto di lavorare per una integrazione dei
modelli, ancora oggi molto lontana.
Tra gli studiosi di maggiore spicco vi Domenico Parisi(Parisi, 1989) che, insieme a Stefano Nolfi, ha
anche creato il nuovo settore della robotica evolutiva.
1.8 INTELLIGENZA ARTIFICIALE DISTRIBUITA: SISTEMI MULTI-AGENTE
I sistemi multi-agente (Multi-Agent System, MAS) sono la concretizzazione di un nuovo approccio,
basato sullidea del divide et impera, ovvero distribuire fortemente la computazione in tanti elementi pi
semplici; diversamente dal connessionismo, questi elementi, gli agenti, hanno per una spiccata capacit
sociale che li rende capaci di fornire e chiedere informazioni agli altri agenti, di richiedere esecuzione di
compiti ed operare una pianificazione collettiva, di cooperare per eseguire insieme compiti complessi.
Questi agenti, detti agenti autonomi, non sono qualificati sulla tecnologia, e possono essere basati su
logica, su reti neurali, su algoritmi genetici e cos via. In ogni caso, per, avranno a disposizione un
meccanismo di comunicazione. Oggi vi sono due standard per la comunicazione tra agenti, uno basato
su uno standard del DARPA, detto KQML(Finin, Fritzson, McKay, & McEntire, 1994), Knowledge Query
and Manipulation Language, e sul linguaggio di rappresentazione della conoscenza KIF, Knowledge
Interchange Format; e un altro pi moderno e pi rigoroso dal punto di vista formale che standard della

17

Introduzione allIntelligenza Artificiale

Stefano De Luca

FIPA, Foundations of Intelligent Physical Agents 7 , noto come FIPA ACL, Agent Communication
Language(Bellifemine, Caire, Poggi, & Rimassa, 2008). Lo standard ACL stato sottoscritto anche da
IEEE, e sta progressivamente diventando il nuovo standard per le comunicazioni tra agenti.

1.9 FRONTIERE
IA emotiva, comprensione del testo pi accurata, invisibile agents, pervasive computing.

1.10 ASSOCIAZIONI DI RICERCA


ACM: http://www.acm.org/.
IEEE: http://www.ieee.org/index.html; Computer society: http://www.computer.org/.
Associazione Italiana per lIntelligenza Artificiale, AI*IA: http://www.aixia.it/
AAAI: http://www.aaai.org/home.html
Convegni. AAMAS: http://www.cse.yorku.ca/AAMAS2010/.

http://www.fipa.org/

18

Introduzione allIntelligenza Artificiale

Stefano De Luca

2 AGENTI INTELLIGENTI
Lintelligenza artificiale come diventa concreta e si realizza? I primi tentativi sono stati rivolti a sistemi
esperti che non avevano interazione con il mondo esterno; quel che era necessario conoscere del
mondo veniva fornito tramite tastiera da una persona, gli effetti del ragionamento venivano
comunicati di nuovo a quella persona, che avrebbe poi deciso cosa farne.
Oggi questo considerato un modo troppo cerebrale ed anche poco efficace. Sulla spinta della robotica
e dei suoi successi, nella seconda met degli anni 90 si venuta a creare una spinta allidentificazione
dellIA con i cosiddetti agenti autonomi, e in particolare gli agenti intelligenti.
Cos un agente? Una definizione iniziale quella data da Jennings e Wooldrige nel 1995:
An agent is a computer system that is situated in some environment, and that is capable of autonomous
action in this environment in order to meet its design objectives.

I punti che vengono esaltati da questa definizione lessere lagente situato in un ambiente, ed essere
capace di rispondere ad un obiettivo tramite azioni autonome. Uno dei problemi delle definizioni che
spesso suonano logiche e naturali, pur nascondendo in realt molte scelte filosofiche; in questo caso, i
punti critici sono il fatto che gli agenti siano dati come un sistema informatico, e che vi siano degli
obiettivi dati a priori. Abbiamo gi visto come vi siano settori dellIA, in particolare lalife, che non
pongono obiettivi, e che gli agenti siano necessariamente computerizzati ormai del tutto obsoleta, e si
preferisce considerare come agenti anche le persone e gli altri esseri viventi presenti nel sistema.
La definizione data prevede un macro-schema di un agente che riesce ad acquisire informazioni
dallambiente tramite sensori ed agisce su questultimo tramite azioni prodotte dagli effettori.

Agente
Sensori

Azioni
Ambiente

FIGURA 13 AGENTE IN RELAZIONE ALLAMBIENTE

Lo schema interessante in quanto mette laccento sullinterrelazione tra agente ed ambiente, ma


troppo cartesiano, ponendo una distinzione netta tra agente ed ambiente che del tutto innaturale;
lagente, essendo esso stesso parte dellambiente, influir su di esso anche senza necessit di azioni specifiche;
si pensi ad es. ad un robot che si muove alla ricerca di persone, e nascondendo la vista ad altri agenti
(sia robot che persone), o ricevendo informazioni da possibili feriti che lo vedono alla ricerca, e tutto
questo per la sola ragione che un agente ha un corpo e che questo corpo parte dellambiente. Non va
trascurato inoltre che lagente con le azioni influisce, oltre che sullambiente, su se stesso; immaginiamo
il nostro agente che pone una mina per liberare un passaggio interrotto, e nel fare questo si pu
danneggiare.
gi pi rispondente alla realt lo schema che segue, dove lagente e lambiente si sovrappongono e
compenetrano.
19

Introduzione allIntelligenza Artificiale

Stefano De Luca

Agente
Sensori

Ambiente

Azioni

FIGURA 14 AGENTE IN RELAZIONE ALLAMBIENTE, REVISIONE

Lagente acquisir le informazioni sul mondo tramite dei sensori ed agir sul mondo tramite degli
effettori. I sensori sono tutti gli organi di acquisizione di informazione, siano essi materiali o
immateriali: non solo occhi, microfoni, sensori chimici, misuratori di velocit, ma anche accesso a
database, interrogazioni a servizi informativi, analisi di log files. Gli attuatori sono gli apparati che
permettono di modificare il mondo, e di nuovo possono essere fisici o immateriali: mani, braccia
meccaniche, relais di apertura di un cancello, o anche invocazioni a funzioni, scrittura su database, invio
di una mail, invio di una risposta a video o tramite altoparlante.
Assumiamo che i sensori e gli effettori siano collegati ad una parte pensante, che analizzer gli input
dei sensori per trasformarli in output degli effettori. Questa visione, mostrata in una figura ripresa da
Russell e Norvig (Russell & Norvig, 2003) una utile semplificazione, ma come tale anche eccessiva,
in quanto non considera lintelligenza allinterno dei sensori e degli effettori, e il modo in cui questi
sono correlati; si d troppa attenzione alla parte cognitiva dellintelligenza, e cos facendo si trascurano
elementi importanti.

FIGURA 15 SENSORI ED EFFETTORI (RUSSELL&NORVIG)

Si pensi ad esempio alla visione dellocchio: quando noi guardiamo una scena, lo facciamo non soltanto
con la parte ottica del sensore, ma sulla base di ci che ci interessa vedremo meglio alcuni elementi e
non altri; questa operazione non avviene solo nel cervello, ma anche nel sensore, capace di operare
operazioni di filtraggio ed adattamento, come laggiustamento alla luminosit o alla velocit delloggetto
percepito(Brajovic, 2004). Allo stesso tempo i sensori sono influenzati dallambiente (ad es. gli effetti
dellumidit e del calore sulle percezioni tattili) e possono a loro volta influenzarlo (se tocchiamo con
una mano bagnata un fiore, come facciamo a sapere se era bagnato o no?). Del tutto analoga la
situazione con gli effettori. Sensori ed effettori vanno quindi considerati parte integrante
20

Introduzione allIntelligenza Artificiale

Stefano De Luca

dellintelligenza dellagente, e non meri strumenti che afferiscono dati ed eseguono ordini da parte del
cervello.
Un ulteriore problema della definizione che anche sistemi di controllo rientrano nella definizione di
agente: un termostato situato nellambiente, lo sa leggere tramite sensori, quello di temperatura, e sa
agire sullambiente, accendendo o spengendo una caldaia. Nessuno di noi considerer per un
termostato un oggetto dellIA, potendo realizzare lobiettivo di questo agente con un semplice test: se la
temperatura inferiore a quella fissata, accendi la caldaia, se superiore, spengila.
La particolare categoria di agenti che ci interessa dunque quella degli agenti intelligenti. Da questi agenti
ci aspettiamo di pi che un comportamento totalmente reattivo. Potremmo pensare ad un termostato
intelligente, capace di riconoscere se ci sono o meno persone dentro casa, se non ci sono persone
prevedere la possibilit che qualcuno venga (ad es. durante il weekend per una casa in montagna) e sulla
base di chi c stabilire qual la temperatura migliore da mantenere, pi o meno alta in base ai gusti
personali. Il termostato potrebbe andare ancora oltre, e provvedere ad ordinare carburante qualora
questo stia per finire, o avvisare un tecnico qualora la caldaia avesse dei problemi di malfunzionamento
o fossero giunti i termini di legge per i controlli.
Un agente di questo tipo esprimer caratteristiche di adattamento, di capacit di agire in modo
indipendente e di comunicazione che vanno nella direzione di un sistema intelligente. Per quanto il
termine intelligente vada sempre usato con moderazione (anche un termostato complesso come
quello presentato poco probabile che riesca ad imparare a giocare a carte, o a commentare un film),
stiamo sicuramente andando nella direzione giusta.
Riprendendo di nuovo le definizioni di Wooldridge e Jennigs, le tre caratteristiche pi importanti sono
sono:
Reattivit: gli agenti intelligenti percepiscono lambiente e sanno rispondere ai cambiamenti che
occorrono per raggiungere gli obiettivi fissati.
Proattivit: gli agenti intelligenti sono capace di comportamenti finalizzati allobiettivo anche
prendendo autonomamente liniziativa.
Abilit sociali: gli agenti intelligenti sono capaci di comunicare con altri agenti per raggiungere gli
obiettivi.
Il nostro termostato intelligente mostra tutte queste caratteristiche: si accorge della differenza di
temperatura e sa in che giorno siamo della settimana, sa riconoscere gli abitanti della casa e sapere che
ci sono; conoscendo le caratteristiche dei possessori decider se e quando accendere la caldaia, e si
preoccuper della sua manutenzione; capace di interagire con altri agenti, come il responsabile della
manutenzione (in questo caso, un agente umano) o il sistema di acquisto del carburante (probabilmente,
un altro agente artificiale).
Questi comportamenti possono essere messi in azione da diverse tipologie di agenti. Ne esistono molte
definizioni e categorie, ma senzaltro due di esse sono particolarmente importanti, gli agenti reattivi e
quelli deliberativi.
Gli agenti reattivi agiscono rispondendo direttamente agli stimoli che ricevono, reagendo in un ciclo
stimolo-risposta. Sono agenti tipicamente abbastanza semplici (ma non sempre), ed hanno il pregio di
essere tipicamente molto veloci nei tempi di risposta; hanno per il difetto di non avere un meccanismo
di pianificazione ed analisi, che li rende meno adatti a compiti complessi.
Gli agenti deliberativi provano a creare un modello del mondo sulla cui base deliberano il modo migliore di
rispondere allobiettivo; vi quindi un momento di creazione del modello del mondo e un momento di
scelta, che permette di avere una maggiore capacit di risposta a sistemi complessi, a fronte per di
tempi di risposta pi lunghi.
21

Introduzione allIntelligenza Artificiale

Stefano De Luca

Inutile dire che esistono anche agenti ibridi, che sono in parte reattivi e in parte deliberativi, nellottica di
saper essere veloci e complessi allo stesso tempo.
Proviamo ora a dare una formalizzazione degli agenti, per poi passare ad unanatomia delle diverse
tipologie.
2.1 AMBIENTE
Seguendo la classificazione di Russell e Norvig (Russell & Norvig, 2003), possiamo classificare gli
ambienti seguendo alcune propriet fondamentali:
Accessibile/Inaccessibile: un ambiente accessibile permette allagente di ottenere informazioni
complete e precise sugli stati ambientali; molto spesso gli ambienti non sono completamente
accessibili.
Deterministico/Indeterministico: un ambiente deterministico ha la caratteristica per cui un
azione in un determinato stato ha sempre gli stessi effetti; al contrario, in un ambiente
indeterministico, unazione potrebbe avere pi di un effetto, o comportamenti del tutto casuali.
Statico/Dinamico: un ambiente statico rimane uguale a se stesso a meno di modifiche apportate
dallagente. evidente che gi un mondo in cui ci siano pi agenti non sar pi statico dal
punto di vista di ogni agente. Raramente gli ambienti per cui si progettano agenti sono statici.
Discreto/Continuo: un ambiente discreto se ha un numero di stati ambientali e di elementi
percepiti limitato.
Naturalmente lambiente ideale per chi progetta agenti sar completamente accessibile, deterministico,
statico e discreto e, altrettanto naturalmente, dovremo invece lavorare con ambienti solo parzialmente
accessibili, solo parzialmente deterministici, dinamici e di per s continui.
Labilit sar riuscire a definire questi mondi complessi in modo da poterli trattare, elaborandoli come il
mondo pi semplice possibile ovvero semplificato fino al punto che unulteriore semplificazione
farebbe perdere potenza semantica.
In generale, piuttosto semplice loperazione di rendere discreto un mondo continuo. Non altrettanto
si pu fare con laspetto del determinismo. Il punto che questultima propriet necessaria per
permettere agli agenti di operare una pianificazione, ovvero di ipotizzare gli effetti di unazione
sullambiente.
Anche lavere il mondo dinamico complica loperazione di pianificazione, in quanto questa sar
comunque soggetta ad un controllo periodico per analizzare se il mondo cambiato nel frattempo (dal
momento in cui si pianificato al momento in cui si sta agendo).

2.2 ARCHITETTURA ASTRATTA DI UN AGENTE


Proviamo ora a definire in modo pi formale un agente astratto. Innanzi tutto, lagente esister in un
ambiente; per semplicit assumiamo che questo ambiente sia discreto, e quindi lo possiamo vedere
come una successione (temporale) di situazioni, o stati ambientali:
dove i diversi ej sono i diversi stati ambientali che si possono raggiungere in un determinato ambiente.
Si noti che gli stati ambientali non vanno fatti coincidere con i diversi momenti temporali, perch
22

Introduzione allIntelligenza Artificiale

Stefano De Luca

lambiente potrebbe rimanere inalterato durante il tempo; quando lalterazione dellambiente diventa
significativa per un agente, allora individuiamo un nuovo stato ambientale.
Lagente avr quindi un certo numero di azioni possibili:
Ad esempio, un agente robotico potr andare in diverse direzioni, stare fermo, avvisare un operatore,
aprire una porta e cos via.
Lagente ha a disposizione un certo numero di effettori, o attuatori, con cui agisce sul mondo; sono gli
apparati con cui lagente pu mettere in pratica le azioni. Nel caso di un robot, possono essere le ruote,
i bracci meccanici, mentre per un agente il cui obiettivo sia lacquisto di un libro su Internet sar
lesecuzione di web service che gli permetteranno di acquistare il libro e provvedere al suo invio.

Poich gli effettori si possono comportare diversamente sulla base di una richiesta, opportuno parlare
di funzione degli effettori. Una funzione di un effettore il suo comportamento, per cui la richiesta di
apertura di una porta consister in una rotazione di un braccio meccanico, mentre il sollevamento di un
corpo sar unaltra funzione dello stesso effettore. Lagente avr quindi un insieme di funzioni degli
effettori:

Il mondo verr percepito tramite un certo numero di sensori:


I sensori sono gli apparati con cui lagente percepisce il proprio ambiente (il suo mondo). Per un robot,
possono essere delle telecamere, dei sensori infrarossi, dei sensori per la rilevazione del fumo etc.; per
lagente che acquista libri, possono essere web service da interrogare per avere informazioni sui costi,
funzioni di crawling su Internet per cercare commenti su un libro o su un venditore.
Anche i sensori possono essere usati in modi diversi, per cui avremo anche in questo caso delle funzioni
dei sensori:

Un agente sar quindi definibile come una sestupla composta dal suo ambiente, dalle azioni che pu
eseguire, dai sensori e le loro funzioni e gli effettori e le loro funzioni.
Il modello generale di un agente che interagisce con lambiente il seguente. Lambiente parte in uno
stato iniziale, lagente lo percepisce e quindi sceglie unazione da eseguire in quel particolare stato
ambientale. Lambiente viene quindi (possibilmente) mutato da quellazione, in un modo che pu essere
previsto o meno (e se si, con precisione variabile) da parte dellagente. Il nuovo stato viene percepito
dallagente che sceglier unaltra azione, finch non avr raggiunto il proprio obiettivo, che risulter in
un certo stato ambientale obiettivo. Gli stati obiettivo finali possono essere molteplici; se un agente ha
lobiettivo di acquistare una copia del libro Orlando Furioso, questo potr essere acquistato in
diverse librerie, o anche in diverse edizioni (e financo in diverse lingue); in ogni caso, se lagente
raggiunger uno stato ambientale in cui possiede una copia di quel libro, avr raggiunto il suo obiettivo.
23

Introduzione allIntelligenza Artificiale

Stefano De Luca

Per raggiungere e soddisfare i requisiti, lagente eseguir una esecuzione, o run, r, ovvero una sequenza
di azioni che portano dallo stato ambientale iniziale ad uno finale (sperabilmente uno stato obiettivo):

Per semplicit, rappresentiamo che in ogni momento lagente eseguir una sola azione, mentre
ovviamente potr eseguirne anche pi contemporaneamente.
Le azioni sono la risultanza di una certa funzione di un attuatore.
Definiamo:

linsieme delle esecuzioni (run), ovvero linsieme di tutte le sequenze finite su E e su Ac


il sotto-insieme di tutte le sequenze che terminano con unazione e
il sotto-insieme di tutte le sequenze che terminano con uno stato ambientale.

Per rappresentare gli effetti dellagente sullambiente, introduciamo una funzione di trasformazione dello
stato
La funzione di trasformazione di stato mappa gli effetti di una esecuzione che termina con unazione
allinsieme di tutti i possibili stati ambientali (
il power set degli stati ambientali), ovvero gli
insiemi risultanti dallazione. La funzione di trasformazione ha necessit di conoscere tutta lesecuzione
e non soltanto lo stato precedente e lultima azione in quanto assumiamo che lambiente dipenda dalla
storia, e quindi sia determinato anche dalle azioni che lagente ha eseguito precedentemente; una
persona si comporter diversamente se la salutiamo una volta sola o piuttosto dodici volte di seguito.
La funzione permette anche di gestire effetti non deterministici, e quindi a parit di azione avere
risultati diversi, con una certa dose di incertezza nei risultati.
Se
, allora non ci sono stati successori, e si dice che lesecuzione termina, e lagente ha
terminato la sua esecuzione. Possiamo per semplicit ipotizzare che tutte le esecuzioni terminino.
Lagente pu avere una funzione che approssima la vera funzione di trasformazione di stato, la cui utilit
la previsione degli effetti di funzione, ad es. per operare una pianificazione:
Definiamo quindi un ambiente come la tripla
, dove E linsieme degli stati
ambientali,
lo stato iniziale, e la specifica funzione di trasformazione dello stato.
Una definizione di agente pu essere quindi considerato un mapping che va dagli stati ambientali (pi
precisamente dalle esecuzioni che terminano con unazione, per mantenere la storia) alle azioni:
o, per dirla altrimenti, un a funzione di un agente la scelta dellazione da eseguire in un determinato
stato.
Un sistema quindi la coppia formata da un ambiente e da un agente:
dire che una sequenza
Rappresenta lesecuzione di una agente Ag in un ambiente
1.
2.
24

. Possiamo quindi

se:

lo stato iniziale di Env;


);
Introduzione allIntelligenza Artificiale

Stefano De Luca

3.
dove
Due agenti sono equivalenti nel loro comportamento rispetto un certo ambiente Env se e solo se
.
2.2.1 AGENTI REATTIVI
Abbiamo finora considerato che lagente pu essere espresso come una funzione che sceglie quale
azione compiere sulla base della storia della rilevazione degli stati ambientali e delle azioni
precedentemente scelte. Questo importante perch vi sono stati ambientali raggiungibili pi volte e
che vanno per trattati in un modo diverso; prendiamo ad es. un agente robotico che voglia
implementare le buone maniere: quando incontrer una persona, o un altro agente robotico, lo saluter
augurandogli una buona giornata, ovvero quando si verificher un certo stato ambientale ej, che
coincide con la presenza di una persona, lagente lo saluter. Il punto che una volta salutato, lo stato
ambientale successivo sar il medesimo, ovvero

Se lagente si basasse soltanto sul riconoscimento dello stato ambientale, non farebbe altro che
continuare a salutare, finch la persona non scomparisse dalla sua vista. La possibilit di conoscere
invece la storia permetter allagente di evitare di salutare pi volte inutilmente e quindi rispondere
meglio al suo obiettivo.
Gli agenti puramente reattivi invece si basano solamente sullo stato ambientale per scegliere lazione da
compiere. La funzione agente sar quindi diversa da quella proposta, e diventer la pi semplice:
ovvero sar lattuale stato ambientale a guidare.
Agenti semplici che si comportano in questo modo sono ad es. i termostati, che hanno solo bisogno
della temperatura attuale per decidere lazione (accendere o spegnere la caldaia o non eseguire alcuna
azione), o anche molti agenti reattivi presenti nei giochi al computer.
Il punto di forza degli agenti reattivi la loro velocit: non dovendo basare la scelta sulla storia,
possono rispondere in modo molto rapido ai cambiamenti ambientali. Aggiungendo allo stato
ambientale anche la gestione degli stati interni dellagente, gli agenti reattivi possono essere
particolarmente efficaci.
2.2.2 PERCEZIONI
Per quanto si voglia semplificare larchitettura degli agenti, non possibile per immaginare che i
sensori siano direttamente collegati con la parte decisionale degli agenti. Questo possibile solamente
in rarissimi (e fortunati) casi che non richiedono alcuna operazione di comprensione.

25

Introduzione allIntelligenza Artificiale

Stefano De Luca

Dati ambientali

Sensore1

Dati ambientali

Sensore2

Agente
Decisione
Scelta dellazione

Effettore1

Azione
ambientali

Effettore2

Azione
ambientali

FIGURA 16 AGENTE CON SENSORI ED EFFETTORI, PRIMA VERSIONE

Il punto che tipicamente i sensori restituiscono informazioni di livello troppo basso per poter essere
facilmente trattate dal modulo decisionale, ed necessario trattarle e renderle pi adatte al trattamento,
specie quello simbolico (ma non solo).
Supponiamo di voler creare un sistema di allarme abbastanza intelligente da riconoscere la persona che
sta accedendo allabitazione, e che user questa informazione per stabilire se far scattare lallarme. La
parte dei sensori delegata ad una telecamera che inq uadrer il campo. I sensori, direttamente,
riportano una bitmap di una stanza, e quindi una matrice 640x480, con 8 bit di colore, che la
rappresentazione della telecamera del mondo reale; in effetti, questa gi una discretizzazione di un
mondo che, se pur non del tutto continuo, molto vicino ad esserlo. Il nostro agente sar capace di
trattare direttamente questa informazione, e da questa bitmap direttamente capire se azionare lallarme o no?
La parte di scelta dellazione dellagente dovrebbe essere piuttosto semplice, espressa da una regola che
dice:
Se la persona inquadrata non appartiene ad uno dei proprietari, allora attiva lallarme
Sono stati messi in rilievo due aspetti, quelli di dover rilevare una persona e, tra tutte le persone possibili,
uno dei proprietari. Bisogner quindi trasformare prima capire se la bitmap sta inquadrando un essere
umano, e poi eseguire unoperazione di riconoscimento. Queste sono operazioni estremamente
complesse, al punto che riguardano due funzioni tipicamente distinte tra loro e che usano tecniche
diverse; ad es., per il riconoscimento dei volti, abbiamo il face detection, che si occuper di trovare in una
foto o video una faccia, e il face recognition che invece cercher di capire di chi quella faccia. Per fare
questo si potranno esaminare le bitmap per vedere se contengono dei pattern di livello pi alto, come
rettangoli, cerchi, linee, e quindi usare un algoritmo che usi questi pattern per dedurre se stata
inquadrata una persona.
Non dissimilmente accade per gli agenti immateriali. Un agente che debba scartare un contributo di un
utente perch contiene giudizi eccessivamente negativi al punto di violare la legge, avr come proprio
sensore la lettura di pagine web; la parte decisionale sar anche in questo caso semplice:
Se il testo contiene giudizi negativi illegali, scartare il testo
mentre la difficolt sar linterpretazione della pagina che ci permetta di avere questa informazione di
alto livello, o di livello intermedio: linformazione di alto livello sar semplicemente un valore di verit
che ci dica se il testo contiene giudizi illegali o no, quella intermedia saranno un insieme di elementi che
ci possono portare a capirlo, come ad es. la presenza di parolacce, di termini razzisti, aggressivi etc.
Vediamo quindi che le mere sensazioni che arrivano da un sensore sono di livello troppo basso per
essere trattate. Per questo conviene introdurre un livello di analisi che permetta allagente di lavorare
sulla base di percezioni, ovvero sensazioni che siano gi aggregate ad un livello superiore.
26

Introduzione allIntelligenza Artificiale

Stefano De Luca

Le percezioni sono quindi analisi preliminari di quanto direttamente percepito (sentito) dai sensori;
quanto queste siano aggregate dipende dalloperazione di creazione delle percezioni. Nel caso del sistema
di allarme, a le percezioni prodotte a partire dalla bitmap iniziale potrebbero essere figure geometriche,
analisi topologiche, wavelets, o anche direttamente informazioni simboliche come una persona,
Maria, uno dei proprietari. Lagente quindi operer questa operazione tramite uno, o pi, sottosistemi di creazione di percezioni, che potremmo chiamare funzione see() .

Decisione

Sensore1
Dati ambientali
Sensore 2

See
Creazione
percezioni

Scelta dellazione

Effettore1

Azione
ambientali

Effettore2

Azione
ambientali

Percezioni

FIGURA 17 AGENTE CON SENSORI ED EFFETTORI, CON PERCEZIONI

La funzione see() trasformer gli stati ambientali in percezioni:

e lagente quindi sceglier le azioni sulla base della somma delle percezioni ricevute:

Rispetto questo modello, lagente una coppia


effettori e dei sensori.

, che incorpora in s le funzioni degli

2.3 AGENTI CON STATI


La rappresentazione degli agenti che abbiamo finora visto impone che lagente tenga conto di tutta la
storia rappresentata dagli stati ambientali percepiti e le azioni eseguite. Questa unoperazione faticosa
sia in termini computazionali che per memoria utilizzata, e anche molto lontana dalla pratica di
programmazione. Possiamo quindi utilizzare un modello pi ricco, che incorpori la possibilit degli
agenti di avere stati interni, che rappresentano una memoria di quanto fatto e percepito.
Per questo introduciamo una nuova funzione next(), che permetter di registrare stati interni in un
database degli stati sulla base delle percezioni I e degli stati gi registrati:

27

Introduzione allIntelligenza Artificiale

Stefano De Luca

Dati ambientali

See
Creazione
percezioni

Percezioni

Next
Creazione
stati interni

Stati
interni

Action
Scelta ed
esecuzione
azioni

FIGURA 18 AGENTE CON STATI INTERNI

La funzione action muter in accordo:


Gli stati interni verranno modificati sulla base delle percezioni ricevute e lo stato iniziale degli stati
interni (che pu anche essere linsieme vuoto):
; le azioni saranno scelte sulla base del
risultato, ovvero:
. Una volta eseguita lazione, lagente continua con il suo
ciclo, potenzialmente alterando lambiente, che sar quindi percepito, trasformato in percezioni e quindi
in stati interni, e da ultimo risultando in una nuova azione, e cos via fino al termine dellesecuzione.
2.4 FUNZIONE DI UTILIT
Ora ci dobbiamo porre la domanda: quanto si sta comportando bene il nostro agente? Ovvero, dato un
compito da eseguire, il nostro agente sta rispondendo a quel compito? La risposta pu essere di tipo
booleano o, meglio, un valore che ci dica se lagente si almeno avvicinato alla soluzione.
Vogliamo quindi avere una funzione, detta funzione di utilit, che associ un numero reale ad una
situazione ambientale:
Questa funzione ci dir, ad es. che uno stato goal ha un valore alto, mentre una situazione del tutto
inutile un valore basso. Con questa funzione possiamo quindi dire quanto sia efficace il raggiungimento
di uno stato dopo aver eseguito unazione (calcolata eventualmente tramite la funzione di
approssimazione alla trasformazione di stato, ).
La difficolt maggiore di questo approccio che non spesso semplice capire quanto unazione
intermedia ci stia avvicinando al nostro obiettivo. Per questo spesso conviene utilizzare una funzione di
utilit basata sullintera esecuzione, pi che sul singolo stato ambientale:

Prendiamo un esempio molto noto, nato proprio per valutare diverse architetture di agenti, il
Tileworld(Pollack & Ringuette, 1990), o mondo delle mattonelle.
Questo un mondo discreto, in cui lunit minima un quadrato dove si muove un agente il cui
obiettivo chiudere dei buchi che appaiono e scompaiono, rendendo il mondo dinamico; i buchi
rimangano per un tempo dato (life expectancy), e vi un tempo dato per la creazione di un nuovo buco
28

Introduzione allIntelligenza Artificiale

Stefano De Luca

(hole gestation time); questi tempi possono anche essere casuali. Per chiudere un buco, lagente dovr
spingere delle mattonelle (le tiles) dentro il buco.

FIGURA 19 UNA SITUAZIONE DEL TILEWORLD(POLLACK & RINGUETTE, 1990)

Le azioni che potr compiere lagente saranno quindi dei movimenti nelle quattro direzioni che, qualora
lagente sia a contatto con una mattonella, la faranno muovere nella stessa direzione. In questo mondo
vi sono ostacoli che sono statici e inamovibili, delle barriere al movimento.
Il Tileworld stato creato come mondo dove testare diverse tipologie di agenti, in una simulazione di
comportamento robotico. Lagente sar tanto pi efficace quanti pi buchi riuscir a chiudere,
spingendoci dentro le mattonelle; probabile che per fare questo lagente sceglier percorsi se non
ottimali quanto meno adeguati. Possiamo anche dare una funzione di utilit:

Il vantaggio di questa funzione di utilit che anche normalizzata in [0..1]. Poich vi sono aspetti
randomici (la posizione dei buchi, eventualmente il tempo di apparizione e scomparsa degli stessi),
opportuno far eseguire diverse simulazioni agli agenti per ridurre questa componente casuale.
Se facciamo eseguire lesecuzione dei test ad agenti diversi, potremmo valutare quanto uno compari
rispetto ad un altro, e potendo quindi scegliere il migliore agente in quel particolare ambiente. Si noti che
al variare delle caratteristiche del mondo, possono anche cambiare quali agenti siano migliori.

29

Introduzione allIntelligenza Artificiale

Stefano De Luca

FIGURA 20RISULTATI DI UN'ESPERIMENTO SUL TILEWORLD

In Figura 20 vediamo che in una modalit, ad una certa velocit, lagente migliore sia quello umano,
mentre ad una velocit di molto superiore siano uno degli agenti sintetici, SEU, ad avere una
performance migliore: gli umani pensano meglio, ma pi lentamente!
Per questo Russell e Subramanian (Russell & Subramanian, 1995) hanno introdotto il concetto di
ottimalit limitata (bounded optimality), intendendo per questa lessere il miglior agente date le limitazioni
di tempo, di calcolo e cos via. Il problema importante, poich spesso possibile creare agenti
particolarmente complessi e capaci di gestire situazioni, ma che richiedono un tempo di calcolo
eccessivo per poter essere eseguiti sullhardware a disposizione e per poter rispondere nei tempi dati.
Non si pensi che questo sia un problema che interessa sempre meno, poich il fatto di avere a
disposizione processori sempre pi veloci non vuol dire che li possiamo sempre impiegare: se stiamo
realizzando un robot per pulire casa, il cui prezzo al cliente finale sar di 450 euro, il processore che
potremo utilizzare potr costare solamente pochi euro, con caratteristiche lontanissime da un qualsiasi
processore da computer.
2.5 AMBIENTE DI ESECUZIONE
Per definire un agente, importante definire gli obiettivi che deve raggiungere. Questi possono essere
dichiarati in modo implicito definendo una funzione di utilit, ma talvolta importante, e comunque
sempre utile, poter definire il compito da far eseguire allagente.
Possiamo definire con una specifica del compito da eseguire, tipicamente data in modo formale
tramite logica, e che stabilisce se unesecuzione di un agente risponde o meno allobiettivo dato; in altre
parole
, sulla base del raggiungimento dellobiettivo.
Un ambiente di esecuzione quindi la coppia

, dove Env un ambiente e

una funzione:

Lagente dato sar quindi capace di operare con successo in un determinato ambiente di esecuzione se
riuscir a rispondere positivamente sempre, nel caso di una formulazione massimalista e pessimista, o
almeno talvolta, in una formulazione pi riduttiva ed ottimistica.
Possiamo divedere grossolanamente i compiti in due famiglie:
compiti di realizzazione, dove lobiettivo il raggiungimento di un certo stato;
compiti di mantenimento, dove invece si deve mantenere nel tempo un certo stato.
Nel caso dei compiti di realizzazione, lagente avr un certo numero di stati che possiamo definire stati
obiettivo. Ad es., per un agente che gioca a scacchi saranno tutte le posizioni in cui lagente avr dato
scacco matto allavversario; per un agente che deve acquistare un libro su Internet, tutte le condizioni
per cui il libro sar stato comprato e ricevuto, indifferentemente da dove, ma purch allinterno del
budget fissato.

30

Introduzione allIntelligenza Artificiale

Stefano De Luca

I compiti di mantenimento sono pi tipici dei sistemi di controllo, ad es. garantire che una centrale di
produzione di elettricit non superi una certa temperatura, o che i parametri vitali di un paziente siano
sempre mantenuti sani e vitali.
In alcuni casi si possono avere compiti misti, che riuniscono raggiungimento e mantenimento.
In conclusione, un agente sar quindi definibile come una ottupla composta dal suo ambiente, dalle
azioni che pu eseguire, dai sensori e le loro funzioni e gli effettori e le loro funzioni, la definizione del
task e la funzione di utilit capace di valutare un run dellagente.
.

31

Introduzione allIntelligenza Artificiale

Stefano De Luca