Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Testi Consigliati w Stuart Russell e Peter Norvig. Artificial Intelligence: A Modern Approach, seconda edizione. Prentice Hall, 2003. Intelligenza Artificiale Introduzione In versione italiana: w Stuart Russell e Peter Norvig. Intelligenza artificiale: un approccio moderno, Traduzione italiana della prima edizione. UTET Libreria, 1998, a cura di Luigia Carlucci Aiello. Agostino Poggi Stefano Cagnoni Introduzione Cosa è l'Intelligenza Artificiale w È lo studio di come rendere i calcolatori capaci di pensare nel senso letterale del termine (Haugeland, 1985). 2 Cosa è l'Intelligenza Artificiale w È lo studio delle facoltà mentali attraverso l'uso di modelli computazionali (Charniak and McDermott, 1985). Cioè come realizzare sistemi che pensano come gli uomini. Cioè come realizzare sistemi che pensano razionalmente. w È lo studio di come far fare ai calcolatori cose che, ora come ora, gli uomini fanno meglio (Rich and Knight, 1991). w È lo studio di come spiegare e emulare il comportamento intelligente attraverso processi computazionali (Schalkoff, 1990). Cioè come realizzare sistemi che agiscono come gli uomini. Cioè realizzare sistemi che agiscono razionalmente. Introduzione 3 Introduzione Primo dilemma….. L’Intelligenza Artificiale è la scienza: w che permette ad una macchina di imitare l’uomo modellandone anche i processi biologici e mentali ed i comportamenti ? w che crea processi computazionali che ottengono risultati comparabili o migliori di quelli ottenuti dall’uomo in attività considerate tipiche dell’intelligenza umana ? Introduzione 4 Secondo dilemma (versione 1)….. Nel primo caso (sillogismo aristotelico) w L’IA imita l’uomo ed i suoi processi biologici, mentali e comportamentali w L’uomo agisce in modo intelligente => L’IA imita processi intelligenti. Ma è davvero intelligenza ? (discutere… ) 5 Page 1 Intelligente = umano ? (cioè che fa esattamente la stessa cosa che farebbe un uomo) Introduzione 6 Secondo dilemma (v.1, corollario) Secondo dilemma (versione 2) Nel secondo caso Intelligente = umano ? (cioè che fa esattamente la stessa cosa che farebbe un uomo) Imitare un uomo stupido è Intelligenza Artificiale ? w L’IA definisce processi computazionali che ottengono risultati comparabili o migliori di quelli ottenuti dall’uomo in attività intelligenti Ma è davvero intelligenza ? A seconda del contesto, non è detto che una stessa decisione/azione sia sempre intelligente o sempre stupida… Intelligente = razionale ? (cioè che fa la cosa giusta per un certo contesto in ogni istante) Es. di contesti : a) cantina di Steve Jobs o b) deserto del Sahara dopo una lunga marcia Introduzione (discutere… ) 7 Introduzione Intelligenza Artificiale 8 Le Basi dell'Intelligenza Artificiale w È un ramo dell'ingegneria? w L'Intelligenza Artificiale è una campo di ricerca giovane (1943). w È un ramo dell'informatica? w l'Intelligenza Artificiale si basa sulle idee e risultati ottenuti in altri campi: s s s s s s s s w È un ramo delle scienze cognitive? w È un ramo della filosofia? w È una scienza? Introduzione 9 Filosofia Psicologia Linguistica Matematica Informatica Ingegneria dei calcolatori Elaborazione dei segnali e riconoscimento delle immagini Teoria dei sistemi e del controllo Introduzione Basi Filosofiche (428 BC - ) w Platone nel 428 BC descrive un dialogo in cui Socrate cerca un algoritmo per distinguere la pietà dalla non-pietà. w Aristotele cerca di formulare le leggi che governano la parte razionale della mente. w Rene Descartes (1596-1650) propone la tesi del dualismo. s Esiste una parte della mente (anima) che non segue le regole fisiche. s Gli animali non possedendo questo dualismo possono essere considerati come delle macchine. Basi Filosofiche (428 BC - ) w Francis Bacon (1561-1626) con il suo lavoro “Novum Organum” da vita al movimento degli empiricisti. s Tutta la conoscenza (cioè tutto quello che si trova nella mente) proviene dai sensi. w David Hume (1711-1776) nel suo lavoro “A Treatise of Human Nature ” propone il principio dell'induzione. s Il principio dell'induzione indica la possibilità di definire delle regole generali dall'osservazione ripetuta di casi particolari. w Wilhelm Leibniz (1646-1716) propone la tesi del materialismo. w Bertrand Russell (1872-1970) introduce il positivismo logico. s Ogni cosa, quindi anche la mente, segue le leggi fisiche. s Quindi è possibile costruire una macchina che riesce ad eseguire le operazioni mentali. Introduzione 10 11 Page 2 s Tutta la conoscenza può essere caratterizzata da teorie logiche. s L’acquisizione della conoscenza si basa su observation sentences che corrispondono a sensori di ingresso. Introduzione 12 Basi Matematiche (1800 - ) Basi Matematiche (1800 - ) w Alfred Tarski (1902-1983) introduce una teoria che permette di mettere in relazione gli oggetti del mondo reale con gli oggetti di una rappresentazione logica. w Kurt Gödel (1906-1978) prova il cosiddetto teorema dell'indecidibilità. w George Boole (1815-1864) introduce un linguaggio formale per fare inferenza logica. w Gottlob Frege (1848-1925) definisce una logica che, al di là di alcune modifiche di notazione, è la logica del primo ordine usata in gran parte dei sistemi odierni per la rappresentazione della conoscenza. s Il teorema dell’indecidibilità afferma che esistono delle funzioni su interi che non possono essere rappresentate da algoritmi, cioè che non possono essere calcolate. w Alan Turing (1912-1954) introduce la cosiddetta macchina di Turing e la tesi di Church-Turing. s La tesi di Church-Turing afferma che una macchina di Turing è capace di rappresentare qualsiasi funzione computabile. Introduzione 13 Introduzione Basi dell'Ingegneria dei Calcolatori (1940 - ) Basi Psicologiche (1879 - ) w Nel 1940 in Inghilterra venne costruito dal gruppo di Alan Turing il primo computer moderno, Heath Robinson. w Herman von Helmholz (1821-1894) e Wilhelm Wundt (18321920) applicano il metodo scientifico allo studio della visione umana. w John Watson (1878-1958) e Edward Lee Thorndike (18741949) formano il movimento dei comportamentalisti. s Heath Robinson era basato su relé elettromagnetici e aveva lo scopo di decifrare i messaggi tedeschi. s Quando i tedeschi usarono dei meccanismi di codifica più complicati i relé elettromagnetici del calcolatore non permisero una adeguata velocità di calcolo e fu sostituito da Colossus, basato sulla tecnologia dei tubi a vuoto. s Le teorie comportamentaliste si basano solo sulla misura degli stimoli dati ad un animale e delle azioni da esso eseguite in risposta. s I costrutti mentali come conoscenza, credenze, goal e passi di ragionamento sono rifiutati come non scientifici e frutto della psicologia popolare. Introduzione w Nel 1941 in Germania venne costruito da Konraad Zuse il primo computer programmabile, Z-3. w Tra il 1940 e il 1942 negli Stati Uniti venne realizzato il primo calcolatore elettronico, ABC. w Nel 1945 viene realizzato per Z-3 il primo linguaggio di programmazione ad alto livello. 15 Introduzione Basi Linguistiche (1957 - ) 16 Storia dell'Intelligenza Artificiale w Warren McCulloch e Walter Pitts nel 1943 propongono un modello di neurone artificiale. w Nel 1956 durante il workshop di Dartmouth John McCarthy conia per questi tipi di ricerca il nome di Intelligenza Artificiale. w Nel 1957 Noam Chomsky descrive la teoria dei modelli sintattici. s I modelli sintattici permettono di spiegare come un bambino possa comprendere e generare delle frasi che non ha mai sentito. s I modelli sintattici di Chomsky sono abbastanza formali da poter essere programmati. s John McCarthy aveva convinto Marvin Minsky e Claude Shannon a organizzare a Dartmouth un workshop per riunire i ricercatori americani interessati alle teoria degli automi, alle reti neurali e allo studio dell'intelligenza. w In seguito comunque è stato dimostrato che i problemi affrontati dalla linguistica sono ben più complessi di quelli che sembrano nel 1957. w Allen Newell and Herbert Simon nel 1956 realizzano un programma di ragionamento, Logic Theorist. s Un linguaggio è spesso ambiguo e spesso ha delle parti sottintese. Introduzione 14 17 Page 3 s Logic Theorist era capace di risolvere un gran numero di teoremi matematici presenti nel libro Principia Matematica di Russell e Whitehead. s In alcuni casi le soluzioni da esso presentate erano più corte di quelle presentate in letteratura. Introduzione 18 Storia dell'Intelligenza Artificiale Storia dell'Intelligenza Artificiale w Allen Newell and Herbert Simon nel 1956 realizzano un programma per la risoluzione di problemi, General Problem Solver. w Nel 1969 Marvin Minsky e Seymour Papert nel loro libro, “Perceptrons”, mettono in luce i limiti delle reti neurali. s La caratteristica principale del General Problem Solver è quella di voler imitare i metodi di risoluzione di problemi usati dall'uomo. w Nello stesso anno, Arthur Bryson e Yu Chi Ho propongono l'algoritmo di apprendimento backpropagation. w John McCarthy nel 1958 definisce il LISP. w Nel 1963 Marvin Minsky incarica un gruppo di studenti di risolvere alcuni semplici problemi che sembravano richiedere intelligenza. w Nel 1969 il gruppo di Bruce Buchanan e Edward Feigenbaum realizza il primo sistema esperto, DENDRAL. s Ad esempio, un percettrone con due ingressi non può essere addestrato a riconoscere quando i suoi ingressi sono diversi. s Questo algoritmo viene usato nelle reti neurali multi-strato e sarà riscoperto negli anni ottanta. s lo scopo di DENDRAL è quello di aiutare l'analisi di strutture molecolari. w Nel 1976 lo stesso gruppo realizza MYCIN, un sistema esperto per la diagnosi di infezioni del sangue. s Questo gruppo di studenti definì i cosiddetti Mondi giocattolo (Microworlds) tra cui il famoso Mondo dei Blocchi. Introduzione s MYCIN introduce il calcolo dell'incertezza per decidere l'attivazione delle regole. 19 Introduzione Storia dell'Intelligenza Artificiale w Nel 1975 Marvin Minsky propone il frame come struttura per la rappresentazione della conoscenza. w Nel 1981 le autorità giapponesi annunciano l'avvio del progetto per la quinta generazione dei computer. s L'obiettivo è realizzare computer che eseguano Codice PROLOG allo stesso modo in cui i computer tradizionali eseguono il codice macchina. w Nello stesso periodo sono sviluppati dei calcolatori (LISP Machine) con processori orientati all'esecuzione di programmi LISP. w Nel 1986 David Rumelhalt e James McClelland pubblicano i due libri “Parallel Distributed Processing”. Storia dell'Intelligenza Artificiale w I cosiddetti modelli “Hidden Markov” permettono ai metodi di riconoscimento del parlato e della scrittura di essere usati in sistemi commerciali. w David Chapman ottiene una elegante sintesi dei programmi di pianificazione esistenti. s L’applicabilità dei pianificatori passa dai mondi giocattolo allo scheduling del lavoro nelle fabbriche e delle missioni spaziali. w Le cosiddette “Belief network” diventano la base per il ragionamento incerto e i sistemi esperti. s Il formalismo delle belief network permette un efficiente ragionamento sulla combinazione dei fattori di certezza. s Nei due libri sono presentati risultati in vari campi applicativi della backpropagation, reinventata da almeno quattro gruppi di ricerca. s Questi due libri riaccendono l'interesse sulle reti neurali. Introduzione 20 w Allen Newell, John Laird e Paul Rosenbloom sviluppano SOAR. s SOAR è una completa architettura ad agenti che utilizza le varie metodologie dell'IA per lo sviluppo di sistemi intelligenti. 21 Introduzione Campi di Applicazione w w w w w w w w w Sistemi Intelligenti w Quando è che una macchina si può dire intelligente? Analisi finanziaria Automazione d’ufficio Automazione industriale Basi di dati Diagnosi medica Giochi Robotica Sistemi di progettazione Traduzione automatica Introduzione 22 w Turing Test s s s s Elaborazione del linguaggio naturale Rappresentazione della conoscenza Ragionamento automatico Apprendimento w Total Turing Test s s 23 Page 4 Visione Robotica Introduzione 24 Sistemi Intelligenti w Le tecniche di IA manipolano conoscenza. w La conoscenza ha alcune caratteristiche poco desiderabili: w Quali sono le componenti fondamentali di una macchina intelligente? Ingresso Stato Interno Comprensione del linguaggio naturale Tecniche di Intelligenza Artificiale s È voluminosa s È difficile da caratterizzare con precisione s È in continuo cambiamento Uscita Generazione del linguaggio naturale w Le tecniche di IA sono metodi che sfruttano la conoscenza rappresentandola in modo che: Rappresentazione della conoscenza Ragionamento automatico s consenta di gestire/generare le generalizzazioni s il formalismo di rappresentazione possa essere compreso da coloro che la devono fornire s possa essere facilmente modificabile s possa essere utilizzata anche quando non è del tutto completa e precisa Apprendimento Visione Introduzione Generazione dei movimenti 25 Page 5 Introduzione 26