INTELLIGENZA ARTIFICIALE (elementi) 6 cfu Docente: prof.ssa Stefania Bandini Esercitatore: dr. Matteo Palmonari Dipartimento di Informatica, Sistemistica e Comunicazione Università di Milano-Bicocca www.lintar.disco.unimib.it bandini@disco.unimib.it matteo.palmonari@disco.unimib.it ale.m@disco.unimib.it tel. 02 6448 7835
Tempi e luoghi Mercoledì 14:30 16:30 Aula. U6 23 Giovedì 16:30 18:30 Aula. U1 06 Orario di ricevimento: mercoledì h. 10.30 12.30
Finalità del corso Scopo principale del corso è fornire conoscenze e strumenti di base necessari per poter affrontare temi di ricerca e applicativi dell Intelligenza Artificiale. Durante il corso verranno introdotti metodi e modelli concettuali e computazionali che caratterizzano l Intelligenza Artificiale. Il corso, oltre a fornire alcuni tra i principali aspetti formali di questa disciplina, sara corredato da esempi pratici di applicazioni per meglio comprenderne l attualita d approccio.
Argomenti affrontati 1. Introduzione all Intelligenza Artificiale classica 2. Rappresentazione della conoscenza 3. Approcci computazionali e linguaggi dell Intelligenza Artificiale 4. Pianificazione Automatica 5. Trattamento dell incertezza
Programma - I Introduzione all Intelligenza Artificiale classica Storia dell Intelligenza Artificiale Aspetti epistemologici dell Intelligenza Artificiale Articolazioni dell Intelligenza Artificiale e sue relazioni con altre discipline Intelligenza Artificiale, Reti Neurali e Algoritmi Genetici La nozione di Agente nell Intelligenza Artificiale
Programma - II Rappresentazione della conoscenza Logica e rappresentazione della conoscenza Reti semantiche e reti concettuali Frame systems e approcci object oriented Ragionamento basato su Casi Approccio ontologico alla rappresentazione della conoscenza
Programma - III Approcci computazionali e linguaggi dell Intelligenza Artificiale Programmazione funzionale e LISP Introduzione alla programmazione funzionale LISP: sintassi e stile di programmazione Esempi storici e attualita del LISP Un esempio: la bioinformatica Programmazione Logica e Prolog Prolog: Introduzione alla programmazione logica: approccio dichiarativo alla programmazione e classi di programmi Clausole di horn, sintassi, Risoluzione Prolog e altre classi di programmi logici Backtracking, negazione per fallimento e CUT Espressività di Prolog e programmi logici (AnsProlog)
Programma - III Approcci computazionali e linguaggi dell Intelligenza Artificiale (II) Algoritmi di ricerca: concetti base Rappresentazione dei problemi Rappresentazione dello spazio degli stati Ricerca non informata Ricerca in profondità e in ampiezza: depht first e breadth-first IDA: iterative deepening Ricerca informata La nozione di euristica e le funzioni euristiche Ricerca best-first: ricerca greedy, A*, IDA* Applicazione degli algoritmi a casi di studio reali Il caso della formulazione chimica Ricerca in profondità per sistemi basati su regole Patterm matching per shell di sistemi a regole (Algoritmo RETE)
Programma - IV Pianificazione Automatica Pianificazione e ricerca Elementi base per problem solver basati sulla ricerca Rappresentazione di azioni, stati, goal e piani Pianificazione e ragionamento Pianificazione e Calcolo Situazionale Rappresentazione classica: STRIPS Pianificazione nello spazio degli stati e dei piani Partial-order Planning Decomposizione e pianificazione gerarchica
Programma - V Trattamento dell incertezza Teoria dei fuzzy-set e logica fuzzy: definizioni di base Proprietà matematiche degli insiemi fuzzy Collegamenti tra teoria dei fuzzy-set e semantica del linguaggio naturale Applicazioni pratiche: Sistemi di ragionamento in condizioni di incertezza Uso degli insiemi fuzzy per l'information retrieval
Materiale didattico Testo adottato: S.J. Russell, P. Norvig, Intelligenza Artificiale: un approccio moderno, 2a ed. (Pearson - Prentice Hall), 2005. Altro materiale: Durante il corso verrà segnalato e fornito ulteriore materiale relativo a parti specifiche del corso I lucidi delle lezioni saranno disponibili sul sito del LIntAr (www.lintar.disco.unimib.it)
Modalità d esame 1. Un elaborato di approfondimento concordato col docente su una delle tematiche relative all Intelligenza Artificiale e introdotte nel corso (eventualmente con lo sviluppo di un progetto software) 2. Esame orale su tutto il programma