Intelligenza Artificiale Introduzione Slides Intelligenza Artificiale, Vincenzo Cutello 1 Outline Panoramica del corso Cosa è l’Intelligenza Artificiale Una breve storia Lo stato dell’arte Slides Intelligenza Artificiale, Vincenzo Cutello 2 Panoramica del corso Agenti intelligenti Risoluzione di problemi: – Ricerca – Giochi Conoscenza e ragionamento sotto incertezza: – Incertezza probabilistica – Sistemi di ragionamento probabilistico – Teoria delle decisioni Teoria dei Giochi Parlando di intelligenza umana: introduzione alla scienza cognitiva Libro di testo: Russel and Norvig, Artificial Intelligence: A Modern Approach Per la Teoria dei Giochi: Roberto Lucchetti, Di duelli, scacchi e dilemmi. La teoria matematica dei giochi Slides Intelligenza Artificiale, Vincenzo Cutello 3 Cosa è l’Intelligenza Artificiale “[L’automazione di] attività che associamo con il pensiero umano, come: prendere decisioni, risolvere problemi, imparare…” (Bellman, 1978) “Lo studio delle facoltà mentali per mezzo di modelli computazionali” (Charniak+McDermott, 1985) Lo studio delle computazioni che rendono possibili percezioni, ragionamenti e azioni (Winston, 1992) “Lo studio di come far fare ai computer “La branca dell’informatica che si cose che, al momento, le persone occupa dell’automazione del fanno meglio” comportamento intelligente” (Rich+Knight, 1991) (Luger+Stubblefield, 1993) Le visioni dell’Intelligenza Artificiale ricadono in quattro categorie: Pensare come un essere umano Pensare razionalmente Agire come un essere umano Agire razionalmente Slides Intelligenza Artificiale, Vincenzo Cutello 4 Agire umanamente: Il test di Turing (ovvero il Software di un Blade Runner) Turing (1950) “Computing machinery and intelligence”: “Possono pensare le macchine ?” “Possono le macchine comportarsi intelligentemente ?” Maggiori componenti dell’Intelligenza Artificiale: Conoscenza, ragionamento, linguaggio, comprensione, apprendimento Problema: Il test di Turing non è riproducibile, costruttivo o adattabile all’analisi matematica. Slides Intelligenza Artificiale, Vincenzo Cutello 5 Pensare umanamente: Scienza Cognitiva Teorie scientifiche sulle attività interne al cervello Quale livello di astrazione: “Conoscenza” o “circuiti” ? – Previsione e verifica del comportamento di soggetti umani (top-down) – Identificazione diretta dai dati neurologici (bottomup) – Entrambi gli approcci (Scienza e Neuro-Scienza Cognitiva) sono ora distinti dall’Intelligenza Artificiale Slides Intelligenza Artificiale, Vincenzo Cutello 6 Pensare razionalmente: Le leggi del pensiero Normative (o prescrittive) piuttosto che descrittive Aristotele: Cosa sono i ragionamenti di argomentazioni/pensieri corretti ? Parecchie scuole greche svilupparono varie forme di logica: notazioni e regole di derivazione per i pensieri; potrebbe o no aver portato all’idea di meccanizzazione Linea diretta attraverso la Matematica e la Filosofia alla moderna Intelligenza Artificiale Problema: Non tutto il comportamento intelligente è filtrato da ragionamenti logici Slides Intelligenza Artificiale, Vincenzo Cutello 7 Agire razionalmente Comportamento razionale: fare la cosa giusta – La cosa giusta: quella che ci si aspetta per massimizzare il “guadagno” (in senso generale), date le informazioni disponibili Non necessariamente coinvolge il ragionamento – es. riflesso condizionato – – ma il ragionamento dovrebbe essere al servizio dell’azione razionale Aristotele: Ogni arte ed ogni ricerca, e simili azioni e sforzi, dovrebbero avere come scopo il bene. Slides Intelligenza Artificiale, Vincenzo Cutello 8 Agenti razionali Un agente è un’entità che percepisce e agisce In maniera astratta un agente è una funzione della storia di azioni percepite: f :P A * Per una qualsiasi classe di ambienti e compiti, cerchiamo l’agente con le migliori prestazioni Caveat: limitazioni computazionali rendono irraggiungibile la razionalità perfetta Slides Intelligenza Artificiale, Vincenzo Cutello 9 Preistoria dell’Intelligenza Arteficiale Filosofia logica, metodi di ragionamento, mente come sistema fisico, fondamenti di apprendimento, linguaggio, razionalità Matematica: rappresentazione formale e dimostrazione degli algoritmi, computazione, (in)decidibilità, (in)trattabilità, probabilità Psicologia: adattamento, fenomeni di percezione, tecniche sperimentali di controllo motorio (psicofisica etc.) Linguistica: rappresentazione della conoscenza, grammatica Neuroscienza: Substrato fisico per le attività mentali Slides Intelligenza Artificiale, Vincenzo Cutello 10 Storia recente dell’Intelligenza Artificiale 1943 McCulloch & Pitts: Modello a circuiti booleani del cervello 1950 Turing’s “Computing Machinery and Intelligence” 1950 Primi programmi di AI: il programma di dama di Samuel, Newell & Simon’s Logic Theorist, Gelernter’s Geometry Engine 1956 Dartmouth meeting: nasce “Artificial Intelligence” 1965 Algoritmo per il ragionamento logico 66-74 AI scopre la complessità computazionale. Neural Network tendono a scomparire 69-79 Primo sviluppo di knowledge based system 80-93 Sistemi Esperti 85-95 Neural networks ridiventano popolari 88-95 Ritornano metodologie probabilistiche e decision-theoretic: ALife, Ga’s, Soft Computing oggi: Grande enfasi sulle strategie di gioco (economia). Molti studi su “Algoritmi” che copiano la natura (Evoluzione, Sistema Immunitario, Sciami di Insetti, etc) Slides Intelligenza Artificiale, Vincenzo Cutello 11 Cosa vogliamo fare ? Imparare a scrivere programmi che possano risolvere i seguenti problemi (più o meno …) Slides Intelligenza Artificiale, Vincenzo Cutello 12 Problema 1: Missionari e Cannibali Tre missionari e tre cannibali sono su una sponda di un fiume. Devono attraversare il fiume su una barca, dove al massimo possono stare due persone. Trovare il modo di farli attraversare, evitando ad ogni istante che su una sponda o l’altra del fiume i cannibali siano in numero superiore ai missionari (con ovvie conseguenze spiacevoli per i missionari) Slides Intelligenza Artificiale, Vincenzo Cutello 13 Problema 2: In TV Partecipate ad una nota trasmissione televisiva assieme ad altri concorrenti. Alla fine del gioco siete rimasti in tre, ognuno con una busta chiusa in mano. Due buste sono vuote, la terza contiene un assegno di € 10000. Avete tre possibilità: aprire la vostra busta Scambiarla con quella di un altro concorrente Oppure accettare l’offerta di € 2000 che vi è stata fatta dall’istrionico presentatore, per la vostra busta. Cosa fate ? Slides Intelligenza Artificiale, Vincenzo Cutello 14 Problema 3: Giocando a carte A e B giocano a carte. Entrambi mettono un euro nel piatto per giocare. A pesca una carta a caso che non mostra a B. Può decidere di rilanciare mettendo un altro euro nel piatto oppure fermarsi. B può decidere di vedere la carta, mettendo un altro euro nel piatto oppure di lasciarla vinta ad A. A vince in questo caso, oppure se la carta estratta è rossa. B vince se vede e la carta estratta è nera. Cosa fareste se foste A oppure B ? : Slides Intelligenza Artificiale, Vincenzo Cutello 15 Problema 4 (giochino): Saggezza ! Lo sceicco in punto di morte, dice ai suoi due figli di montare sui propri cammelli e di andare in città. Quello il cui cammello è più lento, erediterà tutti i suoi averi. I due partono e vagano per giorni assieme nel deserto, aspettando che l’altro si decida ad andare in città per primo. Alla fine stanchi, si rivolgono al saggio del deserto. Appena il saggio ha finito di parlare partono a tutta velocità verso la città. Cosa ha detto loro il saggio ? Slides Intelligenza Artificiale, Vincenzo Cutello 16 Problema 5: Dannati medici ! Siete appena risultati positivi ad un test per una malattia molto pericolosa. Il grado di affidabilità del test è del 99,9 %. Il vostro medico vi dice che siete fortunati, perché la malattia è rarissima. Voi vi sentite presi in giro e gli date un pugno in faccia. In realtà il povero medico ha ragione a dire che siete fortunati. Perché ? Slides Intelligenza Artificiale, Vincenzo Cutello 17 Divertiamoci: Sokoban Giochiamo con il Sokoban e proviamo a scrivere un programma che sappia farlo! Il giocatore deve spingere i pezzi (diamanti in figura) attraverso un labirinto e portarli nel posto finale (cristalli verdi in figura) Solo un pezzo alla volta può essere spinto Gli altri pezzi ed i muri sono ostacoli contro cui non si può spingere. Slides Intelligenza Artificiale, Vincenzo Cutello 18 Divertiamoci 2: Othello (Reversi) SI posizionano due pedine bianche e due nere nelle quattro caselle centrali. Regole: – – – Si muove alternativamente (inizia il nero) appoggiando una nuova pedina in una casella vuota in modo da imprigionare, tra la pedina che si sta giocando e quelle del proprio colore già presenti sulla scacchiera, una o più pedine avversarie. A questo punto le pedine imprigionate devono essere rovesciate e diventano di proprietà di chi ha eseguito la mossa. È possibile incastrare le pedine in orizzontale, in verticale e in diagonale e, a ogni mossa, si possono girare pedine in una o più direzioni. Slides Intelligenza Artificiale, Vincenzo Cutello 19 Gioca e fai giocare ! I giochi stanno all’AI (o alla mente) come la formula 1 sta all’industria automobiliistica Cercate giochi sul web e chiedetevi come fare a scrivere un programma che riesca a giocare Esempio: www.pergioco.net Slides Intelligenza Artificiale, Vincenzo Cutello 20