Scopo del corso Intelligenza artificiale Fornire tecniche e strumenti tipici dell intelligenza artificiale Docenti: Francesca Rossi, Alessandro Sperduti Suddivise in tante aree diverse, ognuna con le sue tecniche Uso in problemi di tutti i giorni 1 2 Organizzazione del corso Docenti: Francesca Rossi (prima parte) Alessandro Sperduti (seconda parte) Lezioni in aula Progetto a gruppi (circa 30 ore ciascuno) e due compitini (o orale) Orario: Lunedi 15:30-17:30 Martedi 15:30-17:30 Mercoledi 13:30-15:30 Giovedi 11:30-13:30 Aula: 1BC50 Forme di progetto (1) Proattivo Su proposta dello studente, previa discussione con il docente. Sono, ad esempio, incoraggiate attivita relative all'introduzione di tecniche dell'intelligenza Artificiale all'interno di sistemi sviluppati per i corsi di Ingegneria del Software della Laurea Triennale. Contributivo Alcuni degli algoritmi presentati nel libro di testo sono stati implemetati e resi disponibili in un "Online Code Repository". Gli algoritmi sono implementati nei seguenti linguaggi: Python, Java, Lisp. Diversi algoritmi non sono ancora implementati (in alcun linguaggio, o per alcuni linguaggi, ad esempio Java) e possono quindi costituire oggetto del progetto. 3 4 Forme di progetto (2) Conoscitivo/Comparativo Lo studente "sperimenta" vari sistemi esistenti e reperibili in rete e li compara con spirito critico rispetto a varie dimensioni, fra cui: facilita d'uso, facilita di comprensione/modificabilità del codice sorgente, prestazioni rispetto al dominio applicativo. La relazione finale del progetto assume in questo caso ruolo preminente. Esplorativo Lo studente elabora e sperimenta idee proprie, come ad esempio euristiche relative ad un particolare dominio applicativo. Gruppi/prodotti del progetto Gruppi di lavoro: Sono ammessi gruppi di lavoro non superiori a 3 studenti (preferibilmente 2 studenti). Prodotti del progetto: Relazione finale (in HTML) che descrive l'attivita svolta, incluso almeno un caso di studio 2 punti in piu nel voto finale se si presenta il progetto tramite presentazione pubblica Codice prodotto (nei casi in cui e previsto) Consuntivo orario delle singole attivita svolte. 5 6 1
Risorse Libro: S. Russell, P. Norvig, "Artificial Intelligence: a Modern Approach", Prentice Hall, 2002 (II edizione) o (III edizione) Lucidi e altre informazioni (prima parte): www.math.unipd.it/~frossi/ia2011.html Contenuti del corso Introduzione, storia Agenti intelligenti Risoluzione di problemi: ricerca, giochi, soddisfacimento di vincoli Rappresentazione della conoscenza e ragionamento: calcolo proposizionale calcolo dei predicati deduzione automatica introduzione alla programmazione logica Pianificazione Cenni di Apprendimento Automatico Trattamento dell'incertezza approccio probabilistico reti bayesiane 7 8 Cos e l IA? Diverse nozioni Sistemi hardware/software che Pensano come gli umani Agiscono come gli umani Pensano razionalmente Agiscono razionalmente Agire come gli umani: Test di Turing (1950) A uomo, B computer C persona (separata da A e B) C pone domande ad A e B per riconoscere chi e l uomo e chi e il computer Comunicazione via testo B puo cercare di ingannare C Idea alla base del test: Le macchine possono pensare? Le macchine possono comportarsi in modo intelligente? L intelligenza puo essere misurata guardando il comportamento esterno, non il ragionamento che ha portato a quel comportamento Intelligente = umano Ma ci sono comportamenti umani che non sono intelligenti, e viceversa 9 10 Pensare come gli umani: Scienze (neuro)cognitive Teorie scientifiche dell attivita interna del cervello Non riescono a modellare l intelligenza umana generale Pensare razionalmente: leggi del pensiero Aristotele: quali sono i processi del pensiero? Logica, regole di derivazione del pensiero Filosofia, matematica Non tutti i comportamenti intelligenti sono regolati da deliberazioni logiche 11 12 2
Agire razionalmente Eseguire l azione migliore per massimizzare il raggiungimento di un obbiettivo date le informazioni a disposizione Agente: entita che percepisce e agisce Funzione da storie di percezioni ad azioni f: P* A Limitazioni computazionali la razionalita perfetta e spesso impossibile Cerchiamo l agente migliore per lo scopo da raggiungere, date certe limitazioni computazionali Breve storia dell IA 1943: McCulloch & Pitts: Modelli del cervello basati siu circuiti Booleani 1950: Test di Turing 1952-69: Molte promesse e eccitamento per specifici programmi 1950s: Primi programmi di IA (dama, deduzioni logiche, teoriemi di geometria, ecc.) 1956: incontro di Dartmouth (termine IA ) 1965: algoritmi di Robinson per il ragionamento logico 1966-74: IA scopre la complessita computazionale, reti neurali quasi scompaiono 1969-79: Primi sistemi basati su conoscenza 1980-88: Sistemi esperti nell industria 1988-93: I sistemi esperti non ripecchiano le promesse (inverno dell IA) 1985-95: Ritornano le reti neurali 1988- : Maggiore base scientifica e tecnica (neat vs. scruffy) 1995- : Agenti dappertutto 2003- : IA per scopi specifici, integrata in altri sistemi, 13 14 Le macchine hanno dei limiti Godel (1932) Dato un qualunque sistema formale, ci sono affermazioni vere che non possono essere provate dalle regole logiche di quel sistema Turing (1936) Analogo in termini di macchine Macchina di Turing: modello generale astratto di un calcolatore Sequenza di passi elementari Scrittura e lettura su un nastro infinitamente lungo Ci sono dei problemi che la macchina di Turing non puo risolvere Esempio: dato un programma P e un suo input I, decidere in tempo finito se P(I) si ferma o va in ciclo Affermazioni vere che non possono essere generate dalla macchina Con questi limiti, possiamo costruire una macchina intelligente? Test di Turing (1950) A uomo, B computer C persona (separata da A e B) C pone domande ad A e B per riconoscere chi e l uomo e chi e il computer Comunicazione via testo B puo cercare di ingannare C Idea alla base del test: L intelligenza puo essere misurata guardando il comportamento esterno, non il ragionamento che ha portato a quel comportamento Intelligente = umano Ma ci sono comportamenti umani che non sono intelligenti, e viceversa E questa la nozione corretta di IA, o comunque quella che ci interessa ottenere? 15 16 Gli inizi dell IA come scienza LISP (MIT), 1958 McCarthy, Shannon, Minsky Analogia tra calcolo matematico e comportamento degli esseri umani Computer = cervello Come si simula l intelligenza umana? 1956: incontro di Dartmouth (NH, USA) John McCarthy introdusse il termine Intelligenza Artificiale Logic Theorist (Simon) Provo 38 su 52 teoremi dai Principia Mathematica di Russell e Whitehead General Problem Solver (Carnegie Institute) Prove di teoremi e puzzles Prova di un teorema aperto Linguaggio per creare programmi di IA in domini diversi tra loro Esempi: Student: risolve problemi algebrici in forma di frase Dendral: risolve problemi di chimica 17 18 3
Altre milestones ELIZA (1965) Programma che interagisce con i pazienti Imita un terapista rogeriano Intelligente secondo il test di Turing Solo matching di parole chiave, senza nessuna comprensione del testo MYCIN (1976) Sistema esperto che effettua diagnosi per malattie ematiche infettive CYC (dal 1983) Ragionamento basato sul senso comune Base di dati di conoscenza (20 milioni di fatti ovvi ma dati per scontati) Collegamenti tra fatti e logica induttiva Non si puo restringere il dominio se si vuole il senso comune Deep Blue (1997) Batte a scacchi il campione del mondo Kasparov Approccio connessionista Reti neurali (dagli anni 60) Si ispirano al cervello umano Neuroni e connessioni tra loro Apprendimento automatico tramite aggiustamento dei pesi delle connessioni Sulla base di esempi 19 20 IA debole Risolvere specifici problemi o effettuare ragionamenti che non possono essere compresi pienamente dalle capacità cognitive umane No autoconsapevolezza No intuito No ampiezza di livelli di abilità cognitive proprio dell'uomo Si risolutore di problemi specifici, anche molto difficili, in modo intelligente Puo essere detta intelligente una macchina con queste caratteristiche? Scienza o fantascienza? Hal (2001-Odissea nello spazio), 1968 Perche non c e ancora un computer come HAL? Abbiamo raggiunto e superato HAL in molti domini linguaggio Hardware Scacchi Ecc. Ma in domini come il senso comune abbiamo ottenuto poco Poco delimitati Difficili da specificare Ci interessa un computer che possa imitare il pensiero e il comportamento umano? Negli attuali convegni di IA, sono descritte soprattutto macchine (hw o sw) intelligenti in modo mirato e utile per l uomo 21 22 Analogia IA vs. volo artificiale Il sogno di volare non si e realizzato imitando gli uccelli Nessuno cerca di costruire una macchina che voli in modo cosi simile ad un piccione che puo ingannare altri piccioni! L IA puo essere realizzata anche senza imitare il ragionamento umano, e senza cercare di superare il test di Turing Affiancare/aumentare l intelligenza umana In alcuni domini specifici Aiuto o sostituto? Non si vuole costruire un sosia dell uomo Tecnologie che incrementano alcuni aspetti dell intelligenza umana Aiutate anche dalla potenza di calcolo e dalla quantita di memoria Esempio: Google usa algoritmi basati anche su programmi di IA Utilissimo per fare in modo intelligente una cosa ben precisa: cercare informazioni sul web 23 24 4
Cosa puo essere fatto con l IA? Esempi: Sistemi esperti (medicina, altri campi dove serve un esperto umano) Scacchi Sistemi di schedulazione di aerei Gestione turni personale Robot per ospedali Lettori per ciechi Traduzione, comprensione del linguaggio naturale Biologia e genomica Riconoscimento di oggetti, visione Ricerca su web, aste online Guida autonoma su strade di citta o montagna Comprare articoli su web Traduzione tra linguaggi Aiutano gli uomini a compiere in modo intelligente lavori specifici che altrimenti sarebbero eseguiti meno bene o non eseguiti affatto 25 26 5