INTRODUZIONE ALL'INTELLIGENZA ARTIFICIALE
3° Anno - Primo Semestre
Frequenza Non obbligatoria
- 9 CFU
- 72 ore
- ITALIANO
- Sede di Trieste
- Obbligatoria
- Convenzionale
- Scritto e Orale Congiunti
- SSD INF/01
- Caratterizzante
[Conoscenza e comprensione]
Gli studenti comprenderanno le tecniche classiche dell'intelligenza artificiale in molteplici domini applicativi, dalla pianificazione automatica, alla soddisfazione dei vincoli, al controllo di agenti intelligenti.
[Applicazione di conoscenza e comprensione]
Attraverso sessioni di esercizi, compiti e progetti, gli studenti impareranno ad applicare i concetti appresi in scenari pratici: come identificare il problema e quali delle tecniche mostrate in classe possono essere applicate.
[Espressione di giudizio]
Il corso fornirà allo studente un giudizio critico sulla difficoltà del problema di ricerca algoritmica in questione, nonché sui possibili metodi per affrontarlo.
[Capacità comunicative]
Gli studenti miglioreranno la loro capacità di comunicare i loro progressi e i risultati finali attraverso la discussione con i membri del team e la presentazione di fronte alla classe.
[Capacità di apprendimento]
Gli studenti miglioreranno sia le loro capacità di apprendimento autonomo sia l'apprendimento attraverso il lavoro di squadra.
Basi di programmazione, logica, algoritmi e complessità
Il corso tratterà i metodi di intelligenza artificiale classica, a partire dalle tecniche di ricerca per poi proseguire con il trattamento dei problemi di soddisfacibilità di vincoli, l'utilizzo di tecniche provenienti dalla logica e la pianifazione di azioni complesse.
Stuart Russell, Peter Norvig. Artificial Intelligence: A Modern Approach. L'ultima è la quarta edizioni ma anche edizioni precedenti sono adeguate.
- Introduzione e storia dell'intelligenza artificiale classica
- Agenti intelligenti
- Strategie di ricerca e ricerca euristica
- Ricerca in ambienti non deteministici e/o parzialmente osservabili
- Basi di teoria dei giochi
- Decisioni ottime nei giochi e tecniche di ricerca
- Giochi stocastici e giochi parzialmente osservabili
- Introduzione ai sistemi multi-agente
- Problemi di soddisfazioni di vincoli
- Tecniche di inferenza, backtracking e ricerca locale
- Agenti logici, SAT solvers e programmazione logica
- Rappresentazione della conoscenza e ontologie
- Sistemi esperti e ingegneria della conoscenza
- Pianificazione automatica
- Tecniche classiche di pianificazione
- Euristiche per la pianificazione
L'apprendimentio avverrà tramite lezioni frontali ed esercitazioni
La verifica consiste in tre parti: (1) un esame scritto che vale il 70% del voto finale, (2) un esame orale che vale il 20% del voto finale, (3) un lavoro di progetto, compiti a casa e attività in classe che insieme valgono il 10% del voto finale. Per superare l'esame, lo studente deve avere almeno il 60% di rendimento complessivo. L'esame scritto è organizzato alla fine delle sessioni di lezione e contribuisce con il 70% al voto finale. Per essere ammessi all'esame orale, lo studente deve aver risolto correttamente il 60% dell'esame scritto. L'esame orale conta quindi con il 20% verso il voto finale. Consiste in un breve esame dello studente con domande su due o tre concetti teorici visti in classe. L'esame scritto valuta la conoscenza tecnica su argomenti specifici e la capacità di concentrarsi sui dettagli. D'altra parte, l'esame orale serve a valutare se lo studente comprende i concetti ed è in grado di trasferire la conoscenza su diversi scenari applicativi o di collegarli in un quadro generale. Durante l'anno, agli studenti vengono assegnati compiti per casa 6 volte. I compiti sono fogli di esercizi o compiti di programmazione pratica, che possono essere completati in team fino a 5 membri. Ricevono feedback su queste soluzioni e questo può influenzare il voto finale fino al 10%. Il primo compito per casa prevede una presentazione del materiale studiato di fronte all'intera classe. La presenza e l'attività in classe possono aumentare il voto finale del 5%.
Questo corso esplora argomenti strettamente correlati a uno o più obiettivi dell'Agenda 2030 delle Nazioni Unite per lo sviluppo sostenibile (SDG)