IA Dispense Parte I

32
i Introduzione allIntelligenza Artificiale Stefano De Luca NOTE INTRODUZIONE ALL’ INTELLIGENZA ARTIFICIALE STEFANO DE LUCA SETTEMBRE 2010

description

Intelligenza artificiale dispense a cura di Stefano de Luca

Transcript of IA Dispense Parte I

  • i Introduzione allIntelligenza Artificiale Stefano De Luca

    N O T E

    INTRODUZIONE ALL INTELLIGENZA ARTIFICIALE

    ST EFA NO DE L U CA

    SE T TE MBR E 2 0 1 0

  • 1 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.

  • 2 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

  • 3 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.

  • 4 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);

  • 5 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.

  • 6 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.

  • 7 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

  • 8 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

  • 9 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:

  • 10 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

  • 11 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

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

  • 12 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

  • 13 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

  • 14 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 ESA4). 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 http://www.theesa.com/facts/pdfs/VideoGames21stCentury_2010.pdf 5 http://multiplayer.it/recensioni/80719-civilization-v-battaglie-allultimo-turno.html

  • 15 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.

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

  • 16 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

  • 17 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

  • 18 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/.

    7 http://www.fipa.org/

  • 19 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.

    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.

    Agente

    Ambiente

    Azioni

    Sensori

  • 20 Introduzione allIntelligenza Artificiale Stefano De Luca

    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

    Agente

    Ambiente

    Azioni

    Sensori

  • 21 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.

  • 22 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

  • 23 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.

  • 24 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: . Possiamo quindi dire che una sequenza

    Rappresenta lesecuzione di una agente Ag in un ambiente se:

    1. lo stato iniziale di Env;

    2. ) ;

  • 25 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.

  • 26 Introduzione allIntelligenza Artificiale Stefano De Luca

    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.

    Agente Dati ambientali Sensore1

    Dati ambientali Sensore2

    Decisione

    Scelta dellazione

    Effettore1

    Effettore2

    Azione ambientali

    Azione ambientali

  • 27 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, sotto-

    sistemi di creazione di percezioni, che potremmo chiamare funzione see() .

    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 , che incorpora in s le funzioni degli effettori e dei sensori.

    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:

    See Creazione percezioni

    Sensore1 Decisione

    Scelta dellazione Effettore1

    Effettore2

    Azione ambientali

    Azione ambientali

    Sensore 2

    Percezioni Dati ambientali

  • 28 Introduzione allIntelligenza Artificiale Stefano De Luca

    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

    See Creazione percezioni

    Percezioni Dati ambientali

    Next Creazione

    stati interni Stati

    interni

    Action Scelta ed

    esecuzione azioni

  • 29 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.

  • 30 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.

  • 31 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.

    .