Politecnico di Torino | |||||||||||||||||
Anno Accademico 2017/18 | |||||||||||||||||
01BITOV, 01BITNG Intelligenza artificiale |
|||||||||||||||||
Corso di Laurea Magistrale in Ingegneria Informatica (Computer Engineering) - Torino Corso di Laurea Magistrale in Ingegneria Matematica - Torino |
|||||||||||||||||
|
|||||||||||||||||
|
|||||||||||||||||
Presentazione
The course is taught in Italian.
Insegnamento facoltativo dell'orientamento Software della Laurea Magistrale in Ingegneria Informatica, collocato al I periodo didattico del II anno. Il corso si propone di illustrare le problematiche connesse all'intelligenza artificiale e relative metodologie. I temi fondamentali riguardano i modelli base del comportamento intelligente, la costruzione di macchine che li simulino, la rappresentazione della conoscenza, i limiti per cui l'intelligenza è descritta dalla valutazione di regole, dall'inferenza e dalla deduzione. Si prenderanno in esame le architetture dei sistemi di apprendimento e come essi rappresentano la loro conoscenza del mondo esterno. |
Risultati di apprendimento attesi
- Conoscenza delle tecniche di problem solving; capacità di analisi e di progetto di programmi per la soluzione di problemi complessi (pianificazione, problemi con vincoli, giochi).
- Conoscenza della logica proposizionale e del primo ordine; capacità di modellare aspetti differenti del mondo (dimostrazione, pianificazione, verifica di circuiti, ecc.) mediante la logica. - Conoscenza dei metodi di rappresentazione della conoscenza; capacità di progettare sistemi basati sulla conoscenza (Web Semantico, ecc.). - Conoscenza dei metodi per trattare sistemi in presenza di incertezza; capacità di progettare sistemi di ragionamento in situazioni complesse (Sistemi Esperti, ecc.). - Conoscenza dei metodi di base per il riconoscimento di pattern; capacità di realizzare sistemi per la classificazione. - Conoscenza dei modelli di reti neurali e delle tecniche di addestramento; capacità di applicare le reti neurali alla soluzione di problemi di categorizzazione e al riconoscimento di forme. |
Prerequisiti / Conoscenze pregresse
Nessuno. Sono utili, ma non indispensabili, conoscenze su Linguaggi e Sistemi Formali e su Algoritmi e Strutture Dati.
|
Programma
• Strategie per la risoluzione di problemi (14 ore):
- Soluzioni nello spazio degli stati - Soluzione per decomposizione in sotto-problemi - Ricerca in ampiezza, profondità e mediante euristica • Logica (12 ore): - La logica proposizionale - La logica del primo ordine - La logica non monotona (cenni) - Procedure di decisione • Rappresentazione della conoscenza (12 ore): - Le reti semantiche - Le regole di produzione - I frame - Gli approcci ibridi - Confronti in termini di espressività, potere deduttivo, applicabilità • Modelli di ragionamento e di apprendimento: incertezza, inferenza bayesiana, belief (4 ore) • Sistemi basati sulla conoscenza (4): - I sistemi esperti: problematiche e classificazioni, con particolare riguardo alle applicazioni degli stessi in ambiti tecnico-ingegneristici; - L'apprendimento automatico; interfaccia utente nell'ambito dei sistemi basata sulla conoscenza (cenni); • Riconoscimento di configurazioni (pattern recognition) (6 ore): - preelaborazione ed estrazione delle caratteristiche distintive (features) - funzioni di decisione - metodi di classificazione - confronto mediante programmazione dinamica • Architetture che imitano i sistemi biologici: reti neurali, connessionismo, memoria distribuita sparsa (8 ore) |
Organizzazione dell'insegnamento
Introduzione di progetti di varia natura, tramite le metodologie presentate a lezione, legati ad applicazioni tecnico-ingegneristiche: tecniche per la valutazione di regole; tecniche facenti uso di sistemi esperti in domini ristretti e shell di sistemi esperti; sistemi di riconoscimento di pattern (linguaggio e/o immagini); reti neurali; giochi intelligenti.
Il software di supporto per lo sviluppo delle esercitazioni (Tools per lo sviluppo di Sistemi Esperti, Compilatori Prolog, tools per l'addestramento e la simulazione di reti neurali, ecc.) sono resi disponibili presso il Labinf e in Web. Sono previsti seminari di approfondimento, tenuti da esperti del settore, sugli argomenti più innovativi: Algoritmi Genetici, WEB Semantico, Pattern Recognition, Machine Learning, Deep Learning. |
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
Testi di riferimento:
• Stuart J. Russell, Peter Norvig, "Intelligenza Artificiale. Un approccio Moderno", Vol. 1 e 2, Pearson, Milano. • E. Rich, "Intelligenza artificiale", McGraw Hill, Milano. • N.J. Nilsson, "Metodi per la risoluzione dei problemi nell'intelligenza artificiale", Angeli, Milano. Testi ausiliari: • Nils J. Nilsson, "Intelligenza Artificiale", Apogeo, Milano. • I. Bratko, "Programmare in prolog per l'intelligenza artificiale", Masson Addison Wesley, Milano. I lucidi del corso saranno resi disponibili su Web. I testi, scelti tra quelli elencati, saranno comunicati a lezione dal docente titolare dell'insegnamento. |
Criteri, regole e procedure per l'esame
È prevista una prova scritta di 2 ore, seguita subito dopo da colloquio ad integrazione della prova scritta. Durante la prova scritta non si può consultare materiale didattico. Le domande della prova scritta (4 o 5) mirano a valutare la comprensione dei concetti teorici e la capacità di applicarli a concreti casi pratici. Il successivo colloquio permette all’esaminando di motivare le scelte fatte ed eventualmente approfondire ed ampliare.
L'allievo potrà approfondire uno degli argomenti del corso, a sua scelta, svolgendo prima o dopo la prova scritta una tesina, concordata col docente, che concorrerà alla valutazione finale. |
Orario delle lezioni |
Statistiche superamento esami |
|