Le sfide dell’Informatica: L’Intelligenza Artificiale 1 A.I.: Artificial Intelligence E' solo fiction...? 2 Cos'è l'intelligenza? In filosofia, per intelletto si intende quella facoltà mentale che ha ogni essere umano di comprendere la realtà e di farsi delle idee, la quale comporta a sua volta la capacità di scegliere, discernere, confrontare, comparare, dissociare, associare, sintetizzare. L'insieme di queste funzioni viene chiamata capacità intellettuale. 3 Cos'è l'intelligenza? In psicologia, l'intelligenza è l'insieme di funzioni conoscitive, adattative e immaginative, generate dall'attività cerebrale dell'uomo e di alcuni animali. È anche definibile come la capacità di ragionare, apprendere, risolvere problemi, comprendere a fondo la realtà, le idee e il linguaggio. Sebbene molti considerino il concetto di intelligenza in un ambito più ampio, molte scuole di psicologia considerano l'intelligenza come distinta da tratti della personalità come il carattere, la creatività o la saggezza. 4 Cos'è l'intelligenza Artificiale? L’Intelligenza Artificiale, IA, è quella disciplina appartenente all’Informatica che studia i fondamenti teorici, le metodologie e le tecniche che consentono di progettare sistemi hardware e software capaci di fornire all’elaboratore elettronico prestazioni che, a un osservatore comune, sembrerebbero essere di pertinenza esclusiva dell’intelligenza umana. 5 COSA È L‘INTELLIGENZA ARTIFICIALE? Studia il modo di operare del Cervello? Costruisce sistemi artificiali intelligenti Emula il cervello umano? Cosa è comportamento intelligente? Studia l’intelligenza Ma cosa è l’Intelligenza? 6 IA: Scienza o Ingegneria? L’IA è al tempo stesso scienza e ingegneria. È una scienza perché, nel momento in cui vengono emulati con determinati sistemi artificiali alcuni dei comportamenti intelligenti, l’uomo consegue l’obiettivo di formulare modelli oggettivi e rigorosi e di ottenere conferme sperimentali; ciò permette di ottenere un indiscutibile progresso nello studio, svolto con metodi scientifici, dell’intelligenza nell’uomo. 7 IA: Scienza o Ingegneria? L’IA, inoltre, è ingegneria perché, quando si ottengono dalle macchine prestazioni che emulano taluni comportamenti, erroneamente ritenuti inaccessibili all’ambito artificiale, si fornisce un oggettivo progresso al contributo che l’ingegneria (e le macchine progettate nel suo ambito) offre al miglioramento della vita dell’uomo. 8 QUESTIONI FILOSOFICHE LEGATE ALL’INTELLIGENZA ARTIFICIALE E’ possibile costruire macchine in modo che agiscano come se fossero intelligenti? Si però…. Ci sono cose che i computer non possono fare indipendentemente da come li si programmi (incompletezza dei sistemi formali); Fallimento nel lungo periodo (apprendimento); L’effettiva costruzione di programmi appropriati non è fattibile (complessità della conoscenza). E’ possibile costruire macchine che pensino intelligentemente? (che abbiano menti coscienti reali?) No perché… 9 di solleva alcuni dei problemi concettuali più difficili tutta la filosofia. MACHINE INTELLIGENCE O ARTIFICIAL INTELLIGENCE? La definizione di “Machine Intelligence” di A.G. OETTINGER nel 1952: “The program [is] capable of performing functions which, in living organisms, are considered to be the result of intelligent behaviour” …e quella di “Artificial Intelligence” di E.A. FEIGENBAUM & J. FELDMAN in Computers and Thought nel 1963: “Programs […] exhibit that we call intelligent behaviour when we observe it 10in human beings” DEFINIRE IL “COMPORTAMENTO INTELLIGENTE” • Reagire in modo flessibile a situazioni diverse • trarre vantaggio da circostanze fortuite e talora imprevedibili • ricavare un senso da messaggi ambigui e contraddittori • riconoscere la rilevanza dei diversi elementi in una data situazione • trovare somiglianze e analogie tra situazioni differenti, nonostante elementi concreti di diversità • notare distinzioni tra situazioni diverse, nonostante elementi concreti di similitudine • sintetizzare nuovi concetti, produrre idee nuove11 Storia dell'Intelligenza Artificiale Data di nascita ufficiale: 1956, anno in cui, presso il Dartmouth College di Hanover nel New Hampshire, la nuova disciplina viene fondata programmaticamente a partire dalla raccolta dei contributi sviluppati negli anni precedenti e in direzione delle potenzialità future. 12 Storia dell'Intelligenza Artificiale ... e prima del 1956? - Automi semoventi di Erone di Alessandria (I sec. d.C.) -Progetto di meccanizzare la ragione, Gottfried Wilhelm Leibniz (16461716) - Macchina analitica di Charles Babbage (17911871) 13 Storia dell'Intelligenza Artificiale La IA ha ereditato molte idee, punti di vista e tecniche da altre discipline, in particolare dalla filosofia, dalla matematica e dalla psicologia. Tuttavia, è senza dubbio con la cibernetica e l’informatica che queste influenze si fanno manifeste e aprono la strada alla nascita ufficiale dell’IA. 14 IA e cibernetica All’inizio degli anni Quaranta si comincia a indicare con il termine cibernetica lo studio sistematico dei processi riguardanti la comunicazione e il controllo sia negli animali sia nelle macchine. Warren McCulloch e Walter Pitts propongono nel 1943 il primo modello di neuroni artificiali, attingendo alla conoscenza della fisiologia e delle funzioni di base dei neuroni, alla logica e alla teoria della computabilità di Alan Turing. Per la prima volta si parla di reti neurali. 15 IA e cibernetica Nel 1949 Donald Hebb dimostra come una semplice regola di aggiornamento per modificare le forze di connessione fra i neuroni possa dare luogo a processi di apprendimento. Il tema dell’Apprendimento, centrale nelle reti neurali, è quello sul quale si sono concentrate, dalla metà degli anni Cinquanta, le ricerche in Intelligenza Artificiale. 16 IA e macchina di Turing Poiché per avere successo l’IA deve disporre di un sistema artificiale nel quale riprodurre, emulandoli, i fenomeni dell’intelligenza. L’elaboratore elettronico è stato considerato fin dall’inizio come il miglior candidato ad emulare il comportamento intelligente. Alla base dell’elaboratore vi è il concetto di macchina di Turing. 17 IA e macchina di Turing Il contributo di Alan Turing (1912-1954) all’IA deve essere riconosciuto non solo nell’ambito dei fondamenti dell’informatica, ma anche in quello del dibattito filosofico relativo ai limiti e alle potenzialità delle nuove “macchine pensanti”. In un articolo del 1950 [Turing 1950], Turing propone il famoso test che porta il suo nome per verificare la presenza o meno di intelligenza in una macchina. 19 DAL GIOCO DELL’IMITAZIONE AL TEST DI TURING Il test di Turing prende spunto da un gioco, chiamato "gioco dell'imitazione", con tre partecipanti: un uomo A, una donna B, e una terza persona C. C è tenuto separato dagli altri due e tramite una serie di domande deve stabilire qual è l'uomo e quale la donna. A deve ingannare C, B deve aiutarlo. Affinché C non possa disporre di alcun indizio (come l'analisi della grafia o della voce), le risposte alle domande di C devono essere dattiloscritte 20 DAL GIOCO DELL’IMITAZIONE AL TEST DI TURING Il test di Turing si basa sul presupposto che una macchina si sostituisca ad A. Se la percentuale di volte in cui C indovina chi sia l'uomo e chi la donna è simile, prima e dopo la sostituzione di A con la macchina, allora la macchina stessa dovrebbe essere considerata intelligente, dal momento che - in questa situazione - sarebbe indistinguibile da un essere umano. 21 IL TEST DI TURING :AGIRE COME UN ESSERE UMANO Un elaboratore “intelligente” dovrebbe agire come un essere umano…,dunque, possedere capacità connesse a: elaborazione del linguaggio naturale rappresentazione della conoscenza ragionamento automatico apprendimento automatico visione automatica, robotica, o movimento automatico 22 UN ESEMPIO: ELIZA D: Are you an artificial intelligent expert? R: Oh, I am an artificial intelligent expert! D: Did you ever teached an artificial intellignce course? R: Oh, I ever teached an artificial intelligence course! D: can you explain me the backword propagation algorithm? R: Why do you ask? 23 Dartmouth, estate 1956 Nell’estate del 1956 un gruppo di studiosi si riunisce al Dartmouth College con lo scopo di esaminare la congettura che ogni aspetto dell’intelligenza possa essere, in linea di principio, descritto in modo tanto preciso da poter far sì che una macchina lo simuli. Questa data segna l’inizio ufficiale di una nuova disciplina che il matematico John McCarthy propose di chiamare intelligenza artificiale. Gli altri organizzatori erano Marvin Minsky, Nathaniel Rochester e Claude Elwood Shannon. 24 Dopo-Dartmouth: grandi aspettative... Quelli che seguono il seminario di Dartmouth sono gli anni delle grandi aspettative. Possono essere rilevate due tendenze: da una parte il gruppo guidato da Newell, Shaw e Simon interessato alla simulazione dei processi cognitivi umani per mezzo dell’elaboratore (GPS. 1958: paradigma della simulazione); dall’altra coloro che miravano al raggiungimento della migliore prestazione possibile per i programmi (paradigma della prestazione o dell’emulazione). Furono sviluppati i primi programmi in grado di risolvere problemi di analogia nell’ambito di semplici figure geometriche, o di manipolare tali figure organizzandole in blocchi sovrapposti. 25 ...e prime delusioni... Ben presto però i ricercatori cominciano a incontrare i primi insuccessi: metodi adeguati per casi semplici si rivelano totalmente inadeguati in contesti più complessi e ampi (mancanza di scalabilità). Le grandi aspettative iniziali devono fare i conti con il fallimento dei progetti di traduzione automatica fra linguaggi naturali, fallimento che causa il ritiro delle ingenti sovvenzioni dei governi americano e inglese. 26 …UNA DOSE DI REALISMO (19661974) Si capì ben presto che un “comportamento intelligente” non poteva esistere senza una dose di conoscenza che aiutasse il sistema artificiale a definire i contesti, valutare la debolezza di modelli teorici, utilizzare il buon senso. Si svilupparono i primi Sistemi Basati su conoscenza. Si svilupparono i Sistemi Esperti cioè programmi che usano espeienza e sono in grado di fare inferenze per risolvere problemi difficili, che di solito richiedono per la soluzione una significativa dose di competenza e buon senso. DENDRAL (1969) deduceva strutture molecolari sulla base di informazioni fornite da uno spettrometro di massa. DENDRAL doveva il suo successo all’alto numero di regole “ad-hoc” (euristiche) che gli specialisti avevano codificato. 27 L’IA DIVENTA UN’INDUSTRIA (19801988) • In questo periodo, soprattutto per via del successo ottenuto in alcune specifiche aree dai Sistemi Esperti, partono le prime applicazioni industriali dell’ IA. • Nel 1981, il governo giapponese annuncia il progetto “Fifth Generation”, il cui obbiettivo era di costruire architetture orientate ad applicazioni di Intelligenza Artificiale. • La Xerox, la Texas Instruments, e la Symbolics costruiscono workstations orientate allo sviluppo di applicazioni in Lisp. 28 QUARTA FASE (1988–1995) La crisi e la ricerca di strade alternative • Crolla la fiducia del mercato nei sistemi basati su conoscenze, anche a causa di un incauto overselling e dell’impossibilità di soddisfare le attese. • Si indagano approcci alternativi, denominati spesso “subsimbolici” o “non simbolici”, in contrasto con l’approccio simbolico tradizionale • ad es. le reti neurali, la computazione evolutiva e così via, noti anche come metodi di soft computing. • Questi metodi si rivelano più adatti dei metodi simbolici per certi tipi di problemi • ad es. l’analisi di segnali, il pattern recognition, la classificazione automatica e così via, ma in molte applicazioni non eliminano la necessità di 29 rappresentare conoscenze simboliche. RECENTEMENTE Emerge l’esigenza di Lavorare a livello semantico: Il Semantic Web • Il grande successo del Web riporta in prima linea, in forma nuova, la questione della rappresentazione simbolica delle conoscenze. • In questo campo i problemi più sentiti sono • l’interoperabilità delle applicazioni e • la gestione delle risorse in rete. • Un concetto fondamentale è quello di rappresentare e uilizzare conoscenza condivisa (ontologia), • Una specifica esplicita e formale di una concettualizzazione condivisa (Studer 98) 30 OGGI Da un lato, l’Intelligenza Artificiale può beneficiare di modelli teorici più stabili ed accurati, dall’altro, l’attenzione è rivolta alla possibilità di costruire sistemi funzionanti e utili. Costruzione di Agenti Intelligenti in grado di apprendere autonomamente, anche conoscenza in forma esplicita, e darsi degli obiettivi. Integrazione di approcci simbolici/logico-concettuali e subsimbolici/numerico-statistici per apprendere. Applicazioni orientate alla elaborazione di conoscenza espressa in forma multimodale e multimediale (immagini, testi, filmati, file audio etc.) nella filosofia IST (Information Society Technology) 31 Cosa è un AGENTE? gli agenti interagiscono con l’ambiente attraverso sensori e attuatori 32 COSA È UN AGENTE? PER AGENTE SI INTENDE UN SISTEMA AUTOMATICO/PROGRAMMA CHE PORTA A TERMINE COMPITI UTILI ED E’ CARATTERIZZATO DAL FATTO DI ESSERE: •AUTONOMO: l’azione è guidata da regole e direttive “interne” •REATTIVO: percepisce aspetti dell’ambiente e reagisce in maniera appropriata •PROATTIVO: può prendere iniziative e intraprendere azioni in funzione di obiettivi •SOCIALE: comunica con altri agenti 33 IN INTELLIGENZA ARTIFICIALE SI PARLA DI “AGENTI INTELLIGENTI” Possiedono notevoli livelli di autonomia e agiscono nel loro ambiente in maniera soddisfacente, razionale, flessibile, anche in presenza di informazione parziale o incerta, esibendo un comportamento intelligente, consapevole, talvolta mostrando buon senso, una vera esperienza nel dominio nel quale operano, capacità di ragionare. 34 Applicazioni dell'IA L’interesse per i Sistemi basati su conoscenza e i sistemi esperti è stato accresciuto dall’opportunità di modellare e acquisire automaticamente la conoscenza. A partire da diverse ricerche precedenti negli ultimi anni lo studio delle descrizioni formali di domini specifici, la possibilità di utilizzare modelli della realtà complessi e di integrare forme e media di rappresentazioni diversi ha raggiunto un buon grado di maturità e ha consentito di aprire nuovi settori applicativi. 35 SISTEMI BASATI SU CONOSCENZA (KNOWLEDGE BASED SYSTEMS) Possiedono notevoli livelli di autonomia e agiscono nel loro ambiente in maniera soddisfacente, razionale, flessibile, anche in presenza di informazione parziale o incerta, esibendo un comportamento intelligente, consapevole, talvolta mostrando una vera esperienza nel dominio nel quale operano. Si basano su un processo di elaborazione dei dati che riproduce i ragionamenti complessi tipici della mente umana. Il risultato dell’elaborazione consiste in una nuova conoscenza prodotta dal computer, anziché nel reperimento di informazioni fornite al computer (come 36 avviene con i sistemi informativi). Applicazioni dell'IA Elaborare e costruire Conoscenza. La dimostrazione automatica di teoremi matematici volta a scoprire e provare nuovi teoremi nell’aritmetica, nella geometria, nella logica e nella meccanica è stato uno dei primi ambiti applicativi. In seguito i ricercatori si sono interessati prevalentemente allo sviluppo di tecniche inferenziali generali che, da un dato insieme di fatti, consentano di dedurre/indurre fatti nuovi o loro proprietà e relazioni, fare analogie, scoprire modelli causali, scoprire nuove teorie. 37 Applicazioni dell'IA La pianificazione autonoma di attività e operazioni è l’area che più interessa la produzione industriale e la logistica, ma anche la ricerca spaziale (ad es. il controllo di sonde spaziali). I sistemi che operano in quest’area sono in grado di ricevere un obiettivo di alto livello, di generare autonomamente un piano composto da una sequenza di operazioni semplici per raggiungere l’obiettivo assegnato e, infine, di monitorare l’esecuzione del piano. 38 Applicazioni dell'IA I giochi sono una delle aree tradizionali dell’IA da un punto di vista metodologico. Lo studio dei giochi ha determinato lo sviluppo e la messa a punto di numerose tecniche, soprattutto quelle della ricerca autonoma di soluzioni in presenza di avversari. Nel 1997, per la prima volta nella storia, un programma sviluppato dalla IBM (Deep Blue) ha sconfitto il campione del mondo Garry Kasparov. 39 Applicazioni dell'IA Il controllo autonomo è un campo, nell’ambito del controllo di sistemi complessi, nel quale alcuni sistemi di IA si sono dimostrati molto efficaci, come nel caso del controllo di automobili, di veicoli “unmanned” e di sonde spaziali. 40 Applicazioni dell'IA L’area della robotica intelligente si articola nelle sottoaree della manipolazione e della navigazione che si estendono a un contesto multidisciplinare che va oltre il contributo fornito dall’IA per comprendere anche la meccanica, la sistemistica e l’elettronica. L’obiettivo è la realizzazione di macchine autonome, capaci di sostituire l’uomo in ambienti pericolosi e non raggiungibili o nell’esecuzione di attività manuali, ripetitive, pesanti e nocive. 41 Applicazioni dell'IA L’area di ricerca della visione artificiale riguarda il problema dell’elaborazione dell’informazione raccolta dai sensori visivi, per esempio da telecamere, al fine di riconoscere e classificare forme, oggetti e scene bidimensionali e tridimensionali. La vettura autonoma Stanley (Stanford University, 2005) ha percorso 132 miglia nel deserto del Mohave, California, senza alcun intervento umano. 42 Applicazioni dell'IA L’elaborazione del linguaggio naturale è il processo di trattamento automatico delle informazioni scritte o parlate nel linguaggio umano. Questo processo è reso particolarmente difficile e complesso a causa delle caratteristiche intrinseche di ambiguità del linguaggio umano. Presenta ancora molti problemi aperti. Dalla semplice elaborazione del linguaggio vocale e riconoscimento del parlato è necessario passare alla elaborazione del linguaggio naturale non solo a livello sintattico ma soprattutto semantico. 43 http://www.chayden.net/eliza/Eliza.html La ricerca in I. A. La ricerca è centrata su: Sviluppo di metodi e teorie inerenti: Rappresentazione della Conoscenza Ragionamento Automatico e Ricerca di soluzioni Pianificazione Apprendimento Automatico…….. 44 BASI TEORICHE DELL’I.A. Tradizionale: visione algoritmica della mente che considera i meccanismi mentali simili ai programmi; i sistemi di intelligenza artificiale si basano in prevalenza su forme di ragionamento deduttivo. Moderna: teoria dei modelli mentali: i processi mentali sono basati su meccanismi analogici di confronto della realtà con rappresentazioni interne; i programmi di intelligenza artificiale utilizzano processi di ragionamento induttivi e incrementali, sono in grado di classificare, fare previsioni, apprendere conoscenza 45 I quesiti di fondo della I. A. Per comprendere la realtà è necessario confrontare i fenomeni esterni con rappresentazioni interne. Ma in che modo costruire rappresentazioni Rappresentazioni simboliche della realtà interne? (conoscenza) Solo i processi mentali razionali possono essere riprodotti dall’informatica. Ma quali meccanismi razionali? Meccanismi di ragionamento utili a produrre nuova conoscenza 46 PER SVILUPPARE SISTEMI DI I.A. BISOGNA DISPORRE DI: • Rappresentazioni simboliche della realtà (conoscenza) • Meccanismi di ragionamento 47 PROGRAMMI CONVENZIONALI VS KBS Programma Convenzionale Knowledge Based System Algoritmo Metodi di Problem Solving Struttura dati Base di conoscenze Dati Dati 48 L’ALGORITMO Una sequenza ordinata, predefinita e finita di istruzioni che, dato uno o una serie di elementi in ingresso, produce uno od una serie di risultati. Un procedimento di calcolo, un metodo per risolvere un problema, descritto mediante un elenco finito di istruzioni eseguibili "meccanicamente" e in un ordine prestabilito, senza libere scelte da parte dell'esecutore. Un procedimento matematico che risolve un problema ricorrente, ovvero uno schema uniforme per risolvere una classe di problemi. Un insieme di procedure ben definite che conducono alla soluzione di un problema in un 49 numero finito di operazioni. I LIMITI DELLA PROGRAMMAZIONE ALGORITMICA MA E’ POSSIBILE RISOLVERE PROBLEMI PER I QUALI L’ALGORITMO NON E’ DEFINIBILE COME PROCESSO DI SOLUZIONE GENERALE PERCHE’ LA SOLUZIONE DIPENDE DALLA ISTANZA DEL PROBLEMA (LABIRINTO, GIOCHI etc.)? E’ NECESSARIO DISPORRE DI UN PROBLEM SOLVER, DI UN MODELLO DI CALCOLO TEORICO E DI UN SISTEMA AUTOMATICO IN GRADO DI SCEGLIERE TRA DIVERSE AZIONI/OPERAZIONI LE PIU‘ APPROPRIATE PER RAGGIUNGERE IL RISULTATO, IN GRADO DI SVILUPPARE UN RAGIONAMENTO 50 Cosa intendiamo per ragionamento? Potremmo definire il ragionamento come la capacità di porre in relazione conoscenze e fare inferenze. I processi di ragionamento, come gli altri tipi di rappresentazione di conoscenza nel sistema cognitivo, possono essere sia espliciti che impliciti. Il pensiero esplicito è costituito da quei processi volontari in cui la rappresentazione simbolica della conoscenza è accessibile alla consapevolezza; Nel pensiero implicito i processi in cui le conoscenze vengono apprese, rappresentate ed utilizzate per guidare il comportamento non arrivano pienamente alla consapevolezza. I primi pensatori che si interessarono di ragionamento ipotizzarono che esso avvenisse in gran parte secondo le regole della logica formale. 51 RAPPRESENTAZIONE DELLA CONOSCENZA Logica Fornisce la struttura formale e le regole di inferenza. Ontologia Definisce il tipo di cose che esistono nel dominio applicativo Computazione Aiuta a distinguere la rappresentazione della conoscenza dalla pura filosofia. E’ necessario fare riferimento a un preciso modello di calcolo 52 RAPPRESENTAZIONE DELLA CONOSCENZA • Senza la logica, una rappresentazione della conoscenza è vaga, senza alcun criterio nel determinare se affermazioni sono ridondanti o contraddittorie. • Senza l’ontologia, i termini sono definiti male e generano confusione • Senza modelli computabili, la logica e l’ontologia non potrebbero essere implementati nei programmi 53 LA LOGICA Modello matematico che consente di ragionare sulla verità e sulla falsità di espressioni logiche Definizione (proposizione o enunciato) Un’affermazione di cui si possa dire, oggettivamente e con certezza, che è vera o falsa Esempio Sono proposizioni: Roma è la capitale d’Italia Bari è una città dell’Inghilterra Non sono proposizioni: I dipinti di Picasso sono belli Forse oggi verrò a trovarti La logica classica, ad esempio il Calcolo Proposizionale, può essere un ottimo linguaggio per rappresentare la conoscenza. 54 RAPPRESENTARE CONOSCENZA CON REGOLE Una espressione in linguaggio naturale può essere tradotta in una regola del tipo: se si sono compiuti 18 anni allora si è raggiunta la maggiore età espresso in logica proposizionale: diciotto-anni maggiore-età espresso in logica dei predicati: ha-compiuto(x,18-anni) maggiorenne(x) 55 COSA È UN’ONTOLOGIA? • L’Ontologia definisce il tipo di cose che esistono nel dominio applicativo. • La logica dispone di notazioni per dire che un oggetto esiste, tuttavia non fornisce un vocabolario per descrivere ciò che esiste. Un’Ontologia: • “è lo studio dell’esistenza di tutti i tipi di entità – astratte e concrete - che compongono il mondo”. • “il suo scopo è quello di fornire un quadro (framework) di distinzioni che possono essere utilizzate per discriminare e classificare le cose che esistono e definire le parole che le descrivono.”56 COSA È UN’ONTOLOGIA? • un insieme di concetti (detti anche classi), • • le interconnessioni semantiche tra i concetti (dette relazioni concettuali, o attributi semantici) un meccanismo logico che permetta di inferire nuovi fatti a partire da quelli codificati all’interno della struttura (per esempio inferenza per ereditarietà) 57 UN ESEMPIO 58 59 I MECCANISMI DI RAGIONAMENTO Inferenze • L’inferenza è un procedimento che da un insieme di fatti - dati che accuratamente rappresentano specifiche proprieta' del dominio - e di leggi regole formali che rappresentano la dinamica del dominio - fa conseguire nuovi fatti e regole • Per esibire un comportamento intelligente un sistema deve possedere un meccanismo automatico di inferenza • L’uso di un’ontologia fornisce un meccanismo di inferenza semplice come l’ereditarietà 60 CONCATENARE REGOLE PER REALIZZARE UN RAGIONAMENTO • se 18 anni maggiore età • se maggiore età permesso sposarsi • se non (maggiore età) autorizzazione del Tribunale al matrimonio • Se autorizzazione del tribunale al matrimonio permesso sposarsi 61 EREDITARIETÀ Person hasChild • una particolare inferenza legata alla transitività di IS-A IS-A Parent IS-A Mother I diversi tipi di inferenza Inferenza deduttiva Fatti Osservazioni Misure Sintomi Teorie Ipotesi Regole Algoritmi Inferenza Induttiva Tipi di inferenza Crisp (rigorosa) Falsity Preserving Truth Preserving Analogia Soft (debole) Deduzione debole Deduttiva Abduzione Induttiva 63 I diversi tipi di inferenza - Deduttiva ( rigorosa) Tutti gli uomini sono mortali Socrate è uomo -----------------------Socrate è mortale - Deduttiva approssimata I fumatori sono soggetti al cancro X fuma -----------------------64 è possibile che X si ammali di cancro • Generalizzazione induttiva X beve molto alcool ed ha mal di fegato Y beve molto alcool ed ha mal di fegato ---------------------------------tutti quelli che bevono molto alcool soffrono di fegato Abduzione Gli ubriachi generalmente barcollano X barcolla ---------------------------------E’ possibile che X sia ubriaco • Analogia Fumare sigarette causa cancro ai polmoni Fumare la pipa è simile a fumare sigarette ---------------------------------E’ possibile che fumare la pipa causi cancro ai polmoni 65 MODELLARE LA REALTÀ • • modello nelle discipline formali significa rappresentazione concreta di una teoria formale (logica, matematica) modello nelle discipline empiriche significa rappresentazione astratta (spesso formalizzata) di fenomeni concreti (sociologia, economia, biologia etc.). I modelli nella I.A. • • Sono descrizioni formali di aspetti della realtà (dati empirici) e di conoscenza sulla realtà (estratti dalle conoscenze di un esperto o da testi in linguaggio naturale). Da sempre il sogno dei ricercatori in I.A. è quello di sviluppare sistemi in grado di acquisire autonomamente 66 conoscenza e di apprendere APPRENDIMENTO Apprendimento: estrazione di informazione profonda (non superficiale) da un tipo di situazione ripetutasi più volte. L’esperienza può modificare lo stato di un organismo in modo tale che il nuovo stato rende il sistema capace di funzionare meglio in una situazione successiva. 67 DINAMICA DELL’APPRENDIMENTO “Apprendere significa migliorare le prestazioni in un determinato ambiente acquisendo conoscenza derivante dall’esperienza in tale ambiente”. Prestazioni Ambiente Conoscenza Apprendimento 68 Apprendere con Reti neurali Intorno al 1985 quattro differenti gruppi di ricerca “riscoprono” un algoritmo di apprendimento, già scoperto intorno al 1940, basato sulla retropropagazione (“feedback”) dell’errore e lo applicano con successo a molti problemi di apprendimento in informatica e ingegneria. Questo approccio (realizzabile sia con sistemi hardware che software) viene utilizzato nei sistemi di controllo (di veicoli, di di processi), nei simulatori di giochi e processi decisionali, nel riconoscimento dei segnali, del parlato, dei volti, in applicazioni finanziarie, nel filtraggio dei dati (antispam, data mining) etc. Una rete neurale è in grado di generare un risultato valido, o comunque con una alta probabilità di essere Difetti: i modelli prodotti dalle reti neurali, anche se molto accettabile, ma spiegabili non è possibile spiegare efficienti, non sono in linguaggio simbolico come umano: ie perché risultato stato generato. risultati tale vanno accettatisia "così come sono", (reti neurali come "black box«) 69 L’AGENTE INTELLIGENTE CHE APPRENDE Un sistema intelligente deve apprendere per: Adattarsi ai cambiamenti dell’ambiente circostante. Non ripetere gli errori fatti in passato. Risolvere problemi in modo migliore o più efficiente. Avere autonomia nell’affrontare e risolvere problemi. Risolvere nuovi problemi (e scoprire nuova conoscenza) Un sistema senza queste caratteristiche difficilmente potrebbe essere considerato intelligente. 70 APPRENDERE AUTOMATICAMENTE (MACHINE LEARNING) • Si dice che un programma A apprende dalla esperienza E rispetto ad un certo insieme di compiti T e con una misura di prestazione P se la sua prestazione nei compiti in T, misurata attraverso P, migliora con l’esperienza E. • Un ben definito programma che apprende deve identificare e definire: la classe dei compiti la misura di prestazione da migliorare la sorgente dell’esperienza 71 APPRENDERE PER ACQUISIRE AUTOMATICAMENTE CONOSCENZA Estrarre conoscenza dal ripetersi di situazioni esperienza + stato comportamento Partendo da un minimo livello di conoscenza, utilizzare un metodo di apprendimento generale per acquisire, via via, nuova conoscenza. Partendo da un sistema che include già conoscenza strutturata si cerca di incrementarla o strutturarla ulteriormente. 72 PERCHE’ L’APPRENDIMENTO SIA UTILE NELLA ACQUISIZIONE DI CONOSCENZA E’ NECESSARIO CHE SIA SIMBOLICO deve usare un linguaggio di descrizione di tipo logico per gli input e per gli output e di metodi diversi per rappresentare l’esperienza e per inferire nuova conoscenza (in forma di regole/ di teorie di classificazione etc). Si basa su conoscenza di fondo e consente descrizioni concettuali delle classi simili a quelle che esperti umani farebbero osservando gli stessi dati. essere “I risultati di induzioni fatte col computer dovrebbero descrizioni simboliche di entità simili, strutturalmente e L’obiettivo è soddisfare il postulato di semanticamente, a quelle che produrrebbe un umano. comprensibilità Le componenti di queste descrizioni dovrebbero essere comprensibili come singole unità di informazione” 73 ESEMPI DI APPLICAZIONI DI SUCCESSO DEL MACHINE LEARNING Imparare a riconoscere le parole (Lee, 1989; Waibel, 1989). Apprendimento di un veicolo autonomo a guidare (Pomerleau, 1989). Imparare a classificare nuove strutture astronomiche (Fayyad et al., 1995). Apprendere a giocare world-class backgammon (Tesauro 1992, 1995). …………………………….. 74 IL COMPITO UN MODO PER CLASSIFICARE I SISTEMI RISPETTO AL COMPITO Sistemi One step per classificazione e predizione • Obiettivo: aumentare la accuratezza predittiva del sistema (prestazionerecognition rate) Sistemi di inferenza Multistep per problem solving • Obiettivo: aumentare la efficienza del sistema che apprende a risolvere problemi Sistemi per la scoperta di conoscenza (acquisizione di conoscenza e formazione di concetti) • Obiettivo: aumentare la prestazione nel comprendere, controllare e monitorare l’ambiente 75 Nella maggioranza dei casi il compito è di classificazione/predizione Il problema di apprendimento (guidato o supervised): Dato dall’addestratore (trainer) un insieme di dati di addestramento (training data) come esempi positivi e negativi di un certo concetto / classe / categoria ( appartenenza o non appartenenza) si vuole trovare un classificatore per predire se dati futuri appartengano o meno ad un certo concetto/classe/categoria. Il problema di apprendimento (non guidato o unsupervised): Dato dall’ambiente o da un trainer un insieme di osservazioni (training data) e un numero K di concetti / classi / categorie da identificare si vuole trovare un classificatore che definisca come le osservazioni si raggruppano al meglio nei K concetti / classi / categorie e formuli il modello per predire come osservazioni future appartengano o meno ad un certo 76 concetto/ classe/ categoria. AD ESEMPIO: (arancione, rotondo, classe= (giallo, lungo, classe= ) (giallo, rotondo, classe= (giallo, lungo, classe= colore ) forma ) ) apprendimento supervisionato colore (arancione, rotondo) (giallo, rotondo) (giallo, rotondo) (giallo, lungo) apprendimento non supervisionato . .. . forma 77 UN ESEMPIO DI APPLICAZIONE DI ML 78 79 TRADUCIBILE in: “IF there are two black objects (X3 and X4), which are a farm road and an interfarm road, running almost parallel in north-east direction and both perpendicular to a long straight black object (X2), THEN the spatial object X1 can 80 be tagged as a system of farms” Un altro esempio: ML per l’elaborazione automatica di documenti cartacei storici COLLATE Collaboratory for annotation, indexing and retrieval of digitized historical material 81 GOALS • WWW-based collaboratory for archives, researchers and end-users working with digitized cultural material • Heritage of European film making in the 20ies and 30ies • Digital multimedia collection • Censorship documents on thousands historic films (plus posters, magazine papers, scripts, photos and film fragments etc.) • Tools for content-based access, comparison and in-depth indexing/annotation of digitized sources • Sharing of experts valuable knowledge about cultural, 82 political and social context finalized to interpretation UNIBA IN COLLATE: IL SISTEMA INGEST SOAP Web Services WISDOM++ involved INTHELEX <?xml version=“1.0” encoding=‘UTF-8’?> <SOAP-ENV:Envelope> <SOAP-ENV:Header> …………. </SOAP-ENV:Header> <SOAP-ENV:Body> …………. </SOAP-ENV:Body> <SOAP-ENV:Envelopre> Metadata Manager Service Document Manager Service Metadata Manager Document Manager 83 Xml Content Manager COLLATE REPOSITORY SAMPLE DOCUMENTS 84 COLLATE REPOSITORY SAMPLE DOCUMENTS 85 COLLATE REPOSITORY SAMPLE DOCUMENTS 86 COLLATE REPOSITORY SAMPLE DOCUMENTS Newspaper Clippings and Articles 87 Censorship Decisions Source for: • Film title • Participants in the examination • Notices on content • Juridical legitimization for the decision • Legal motivation • Conditions for permission (e.g., cuts, change of title) • Reference to previous decisions • Costs for the procedure 88 Film Registration Cards Source for: • Film title • Production company • Date and number of examination • Length (after censoring) • Number of acts • Brief content • Forbidden parts • Staff 89 Film Application Forms Národní Filmový Archiv Source for: • Name of applicant (production or distribution company) • Title of the film • Year of production • Length (before censorship) • Brief content • Information about earlier examinations 90 RISULTATI SPERIMENTALI: UN ESEMPIO DI REGOLA APPRESA (FILM REG. CARD) logic_type_film_title(A):page_first(B), part_of(B,A), part_of(B,D), type_of_text(A), pos_upper(A), type_of_text(D), pos_upper(D), part_of(B,C), height_very_small(C),type_of_text(C),pos_center(C),pos_upper(C) width_very_large(E), height_smallest(E), type_of_hor_line(E), pos_center(E),pos_upper(E), height_very_very_small(F),pos_left(F),pos_upper(F), on_top(E,D),on_top(E,F),alignment_left_col(F,A). E F film title (A) C D 91 UN CAMPO INTERDISCIPLINARE : L‘AMBIENT INTELLIGENCE Nanoelectronics, Mechatronics, New Materials Smart Sensors and Actuators Communication Technology Mobile Networks Computer Science Language Technology Computational Linguistics Machine Learning Artificial Intelligence 92 SEMPRE CONNESSI: LE APPLICAZIONI AL WEB Sensor & actuator networks Satellites adhoc networks Dynamically changing combinations of network types PANs Wireless Local Area Networks (hotspot) Moving networks Home network Wide area networks (cellular) Fixed access network Wireless extension of coverage 93 SMARTWEB Mobile Broadband Internet UMTS/HotSpots Mobile Multimodal Dialogue: Speech, Haptics, Gestures New: Open Domain New: Question Answering Semantic Web Intranet with Automated Semantic Markup Webpages With Semantic Markup Language Technology, Information Extraction Traditional HTMLWebpages 94 COSTRUIRE IL FUTURO 95 96 DISRUPTIVE TECHNOLOGIES 97 DISRUPTIVE TECHNOLOGIES 98 Le grandi preoccupazioni Perderemo tutti il lavoro? Saremo dominati dai robot? Il genere umano sarà assogettato e poi distrutto? 99 100