INTELLIGENZA ARTIFICIALE E LABORATORIO
Anno accademico 2020/2021 - 2° anno - Curriculum Data Science- INTELLIGENZA ARTIFICIALE: Vincenzo CUTELLO
- LABORATORIO: Mario Francesco PAVONE
Organizzazione didattica: 225 ore d'impegno totale, 153 di studio individuale, 36 di lezione frontale, 24 di esercitazione, 12 di laboratorio
Semestre: 1°
Obiettivi formativi
- INTELLIGENZA ARTIFICIALE
Conoscenza e capacità di comprensione (knowledge and understanding): saranno acquisite le conoscenze relative agli Agenti Intelligent ed alle loro caratteristiche principali.
Capacità di applicare conoscenza e comprensione (applying knowledge and understanding): saranno acquisite le capacità per applicare le nozioni imparate in vari campi come: risoluzione di problemi combinatorialmente difficili, giochi e teoria delle decisioni, deduzione e ragionamento automatico.
Autonomia di giudizio (making judgements): Lo studente sarà in grado di valutare la possibilità di sviluppare algoritmi e sistemi intelligenti per l'automazione di processi decisionali in diversi ambiti applicativi.
Abilità comunicative (communication skills): saranno acquisite le necessarie abilità comunicative ed un'adeguata appropriatezza espressiva nella comunicazione di problematiche inerenti i sistemi intelligenti e le loro applicazioni.
Capacità di apprendimento (learning skills): lo studente avrà la capacita di adattare le conoscenze acquisite anche a nuovi contesti e di comprendere i limiti di applicabilità delle tecniche di intelligenza artificiale. - LABORATORIO
Conoscenza e capacità di comprensione (knowledge and understanding): saranno acquisite le conoscenze relative agli aspetti implementativi e progettuali di varie metodologie di algoritmi per la risoluzione di problemi computazionalmente molto complessi.
Capacità di applicare conoscenza e comprensione (applying knowledge and understanding): saranno acquisite le capacità necessarie per affrontare e risolvere problemi complessi, attraverso una corretta analisi algoritmica ed una adeguata scelta della metodologia di risoluzione da adottare.
Autonomia di giudizio (making judgements): lo studente sarà in grado di valutare la migliore e/o più adatta metodologia algoritmica da utilizzare nel contesto della risoluzione di un qualunque problema complesso.
Abilità comunicative (communication skills): saranno acquisite le necessarie abilità comunicative ed un'adeguata appropriatezza espressiva nella comunicazione di problematiche inerenti i sistemi intelligenti e le loro applicazioni.
Capacità di apprendimento (learning skills): lo studente avrà la capacita di adattare le conoscenze acquisite in nuovi contesti e di comprendere vantaggi e svantaggi delle diverse tecniche di risoluzione intelligenti.
Modalità di svolgimento dell'insegnamento
- INTELLIGENZA ARTIFICIALE
Lezioni frontali.
Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.
- LABORATORIO
Le lezioni saranno prettamente frontali e si svolgeranno in aula. Potranno, altresì, essere previste specifiche lezioni in laboratorio.
Il corso può prevedere seminari tenuti da esperti esterni su argomenti correlati e d'attualità.
Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.
Prerequisiti richiesti
- INTELLIGENZA ARTIFICIALE
Il corso presuppone una buona conoscenza di strumenti matematici discreti e continui, ed una conoscenza approfondita di algoritmi e complessita' di problemi.
- LABORATORIO
Il corso presuppone una buona conoscenza di linguaggi di programmazione (C, C++, Java, e/o Python), analisi e applicazioni di algoritmi.
Frequenza lezioni
- INTELLIGENZA ARTIFICIALE
La frequenza è consigliata. Le lezioni permettono di cogliere meglio gli argomenti trattati e l'idea generale che tiene legati i diversi temi e forniscono riferimenti e digressioni utili.
- LABORATORIO
La frequenza è consigliata. Le lezioni permettono di cogliere meglio gli argomenti trattati e l'idea generale che tiene legati i diversi temi e forniscono riferimenti e digressioni utili.
Contenuti del corso
- INTELLIGENZA ARTIFICIALE
Il corso è suddiviso in 2 parti fondamentali. La prima parte su Risoluzione di Problemi e la seconda su Conoscenza, Ragionamento e Apprendimento
Contenuti dettagliati del Corso:
PRIMA PARTE: Risoluzione di Problemi
- Fondamenti e Storia dell'Intelligenza Artificiale
- Agenti Intelligenti e loro classificazione
- Ricerca e risoluzione di problemi
- RIcerca nei giochi
- Problemi con soddisfacimento di vincoli
- Ricerca per mezzo di algoritmi naturali
SECONDA PARTE: Conoscenza, Ragionamento e Apprendimento
- Agenti Logici e puzzles
- Logica del primo ordine e inferenze
- Incertezza e probabilità
- Decisioni, utilità e valore dell'informazione
- Apprendimento da esempi
- LABORATORIO
La parte di Laboratorio si concentrerà in particolare sugli aspetti implementativi di (i) strategie di ricerca non informata (BFS, Ricerca a costo uniforme, DFS, Ricerca a profondità’ limitata, etc.); (ii) strategie di ricerca informata (Greedy BFS, A*, Ricerca euristica a memoria limitata, etc.); (iii) strategie di ricerca locale; (iv) tecniche algoritmiche per giochi (Minimax, Alfa-beta, etc.); (v) algoritmi per problemi con vincoli (Colorazione di mappe, etc.); (vi) metodi esatti; (vii) metaheuristiche e hyper-heuristiche.
Testi di riferimento
- INTELLIGENZA ARTIFICIALE
Il Libro di testo adottato è, Artificial Intelligence, a modern approach, 3rd Edition, S. Russel, P. Norvig, Disponibile anche in versione italiana. Altro materiale sara' fornito dal docente a lezione.
- LABORATORIO
Artificial Intelligence, a modern approach, 3rdEdition, S. Russel, P. Norvig.
Metaheuristics: From Design to Implementation, E.G. Talbi, 2009.
Hybrid Metaheuristics: Powerful Tools for Optimization, C. Blum and G.R. Raidl, 2016.
Ulteriore materiale e/o riferimenti forniti dal docente.
Programmazione del corso
INTELLIGENZA ARTIFICIALE | |||
Argomenti | Riferimenti testi | ||
---|---|---|---|
1 | Fondamenti e Storia dell'Intelligenza Artificiale | Cap. 1 e 27 | |
2 | Agenti Intelligenti | Cap. 2 | |
3 | Risoluzione dei problemi per mezzo di ricerca | Cap. 3 | |
4 | Oltre la ricerca classica | Cap. 4 | |
5 | Ricerca con avversari e giochi | Cap. 5 | |
6 | Problemi con soddisfacimento di vincoli | Cap. 6 | |
7 | Agenti Logici | Cap. 7 | |
8 | Logica del primo ordine | Cap. 8 | |
9 | Inferenza nella logica del primo ordine | Cap. 9 | |
10 | Quantificare l'incertezza | Cap. 13 | |
11 | Decisioni Semplici | Cap. 16 | |
12 | Apprendimento da esempi | Cap. 18 | |
LABORATORIO | |||
Argomenti | Riferimenti testi | ||
1 | Strategie di ricerca non informata (BFS, Ricerca a costo uniforme, DFS, Ricerca a profondità’ limitata, etc.) | Materiale fornito del docente | |
2 | Strategie di ricerca informata (Greedy BFS, A*, Ricerca euristica a memoria limitata, etc.) | Materiale fornito del docente | |
3 | Algoritmi di Ricerca Locale (Local Search, Hill Climbing, etc.) | Materiale fornito del docente | |
4 | Tecniche algoritmiche per la game theory (Minimax, Alfa-beta, etc.) | Materiale fornito del docente | |
5 | Algoritmi per problemi con vincoli (Colorazione di mappe, etc.) | Materiale fornito del docente | |
6 | Metodi esatti (branch and cut, branch and bound, etc.) | Materiale fornito del docente | |
7 | Metaheuristics and Hyper-Heuristics | E.G. Talbi, ''Metaheuristics: From Design to Implementation'', Wiley, 2009 - C. Blum and G.R. Raidl, ''Hybrid Metaheuristics: Powerful Tools for Optimization'', Artificial Intelligence: Foundations, Theory, and Algorithms, 2016 |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
- INTELLIGENZA ARTIFICIALE
L'esame si svolge oralmente.
I quesiti riguardano tutte le parti del programma. In aggiunta, gli studenti presenteranno alla prova orale un progetto implementativo su uno degli argomenti del corso approfondito durante il Laboratorio.
La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.
- LABORATORIO
L'esame consiste nello sviluppo di una metodologia algoritmica per la risoluzione di un dato problema, e relativa relazione descrittiva in Latex, che dovrà essere completato entro un tempo massimo di 2 settimane dal suo inzio. Algoritmo e problema da risolvere verranno proposti dal docente.
Il progetto dovrà essere sviluppato in linguaggio C o C++.
Nota: la verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.
Esempi di domande e/o esercizi frequenti
- INTELLIGENZA ARTIFICIALE
-
Dare la definizione, e mostrare almeno un esempio, di funzione euristica ammissibile.
-
Descrivere brevemente l’algoritmo Minimax
-
Descrivere brevemente alcune euristiche per il Problema di Soddisfacimento di Vincoli.
-
- LABORATORIO
Esempi di testi della prova scritta e dei progetti saranno disponibili nella pagina ufficiale del corso al seguente link: