INTELLIGENZA ARTIFICIALE

Obiettivi formativi

Obiettivi generali: Il corso si propone di esporre gli studenti ad un'ampia panoramica dell'Intelligenza Artificiale (IA). Obiettivi specifici: Il corso si propone di mettere gli studenti in grado di comprendere la teoria di un'ampia gamma di tecniche di IA, e di padroneggiarle nella pratica della progettazione di sistemi software intelligenti. Conoscenza e comprensione: Introduzione ad ampio spettro dei principi fondamentali e delle diverse branche dell'Intelligenza Artificiale (IA) e conoscenze su risoluzione di problemi mediante ricerca, inferenza logica, pianificazione, ragionamento, apprendimento. Applicare conoscenza e comprensione: Saper applicare il portafoglio di tecniche e gli approcci illustrati per la progettazione e realizzazione di sistemi software intelligenti. Capacità critiche e di giudizio: Gli studenti saranno in grado di prendere autonomamente decisioni razionali sulle tecniche di IA migliori da impiegare nella progettazione di sistemi software intelligenti. Capacità comunicative: Gli studenti saranno in grado di interagire in modo proficuo con altri ricercatori in IA su un'ampia gamma di argomenti. Capacità di apprendimento: Gli studenti saranno in grado di ampliare le loro conoscenze in modo autonomo consultando, secondo necessità, la letteratura scientifica sull'IA.

Canale 1
TONI MANCINI Scheda docente

Programmi - Frequenza - Esami

Programma
1. Introduzione all'Intelligenza Artificiale (IA), panoramica delle diverse sottodiscipline, aspetti storici 2. Agenti intelligenti, razionalità, tipologie di ambienti e di agenti 3. Strategie di ricerca non informata: in ampiezza, min-cost, in profondità, a profondità limitata, ad approfondimento iterativo 4. Strategie di ricerca informata: best-first greedy, A*; funzioni euristiche: ammissibilità e consistenza 5. Algoritmi di ricerca a miglioramento iterativo: hill-climbing, steepest-descent, simulated annealing, local beam, algoritmi genetici 6. Problemi di soddisfacimento di vincoli: definizione, varianti, propagazione di vincoli (nodo-, arco-, cammino-, K-consistenza), backtracking, backjumping, ricerca locale 7. Conoscenza e ragionamento, agenti basati sulla logica proposizionale, SAT 8. Conoscenza e ragionamento nella logica del primo ordine 9. Pianificazione classica 10. Conoscenza e ragionamento in presenza di incertezza: reti bayesiane, cenni di teoria delle decisioni 11. Apprendimento automatico: induzione di alberi di decisione; valutazione delle prestazioni di un algoritmo di apprendimento, metriche d'errore, model selection; apprendimento ensemble: bagging, random forests, boosting; explainability, adversarial examples; apprendimento di modelli parametrici vs. apprendimento di modelli non parametrici; k-nearest neighbours.
Prerequisiti
Si richiede buona conoscenza di: 1) Programmazione imperativa ed object-oriented in un qualunque linguaggio di programmazione di alto livello 2) Tecniche per il progetto di algoritmi e strutture dati 3) Matematica generale, algebra, teoria degli insiemi, calcolo delle probabilità 4) Logica proposizionale e del primo ordine 5) Progetto di basi di dati relazionali 6) Automi, calcolabilità e complessità.
Testi di riferimento
Materiale didattico reso disponibile dal docente.
Modalità insegnamento
Il modulo consiste in lezioni ed esercitazioni in aula, nelle quali verranno affrontati tutti gli argomenti in programma.
Frequenza
La frequenza delle lezioni e delle esercitazioni, sebbene non obbligatoria, è fortemente consigliata.
Modalità di esame
L'esame del modulo consiste in un due prove scritte ed un progetto da svolgere e presentare mediante una relazione scritta ed un seminario. Le prove scritte (Prova A e Prova B) consistono in domande sulle diverse parti del programma d'esame e coprono, rispettivamente, le due metà del programma (Parte A e Parte B). Il progetto consiste nell'approfondimento di uno o più argomenti di IA non visti nel corso e/o nella progettazione e sviluppo di un sistema software basato su IA. Al punteggio finale, le prove scritte contribuiranno ognuna per il 30%, mentre il progetto e la prova orale per il restante 40%. Per superare con successo l'esame è comunque necessario che il punteggio di ogni singola prova sia almeno pari a 'sufficiente'.
Bibliografia
Libri di testo consigliati: Stuart Russell, Peter Norvig Artificial Intelligence, a Modern Approach. 4th Edition Pearson. ISBN 978-1292401133.
Modalità di erogazione
Il modulo consiste in lezioni ed esercitazioni nelle quali verranno affrontati tutti gli argomenti in programma.
TONI MANCINI Scheda docente

Programmi - Frequenza - Esami

Programma
1. Introduzione all'Intelligenza Artificiale (IA), panoramica delle diverse sottodiscipline, aspetti storici 2. Agenti intelligenti, razionalità, tipologie di ambienti e di agenti 3. Strategie di ricerca non informata: in ampiezza, min-cost, in profondità, a profondità limitata, ad approfondimento iterativo 4. Strategie di ricerca informata: best-first greedy, A*; funzioni euristiche: ammissibilità e consistenza 5. Algoritmi di ricerca a miglioramento iterativo: hill-climbing, steepest-descent, simulated annealing, local beam, algoritmi genetici 6. Problemi di soddisfacimento di vincoli: definizione, varianti, propagazione di vincoli (nodo-, arco-, cammino-, K-consistenza), backtracking, backjumping, ricerca locale 7. Conoscenza e ragionamento, agenti basati sulla logica proposizionale, SAT 8. Conoscenza e ragionamento nella logica del primo ordine 9. Pianificazione classica 10. Conoscenza e ragionamento in presenza di incertezza: reti bayesiane, cenni di teoria delle decisioni 11. Apprendimento automatico: induzione di alberi di decisione; valutazione delle prestazioni di un algoritmo di apprendimento, metriche d'errore, model selection; apprendimento ensemble: bagging, random forests, boosting; explainability, adversarial examples; apprendimento di modelli parametrici vs. apprendimento di modelli non parametrici; k-nearest neighbours.
Prerequisiti
Si richiede buona conoscenza di: 1) Programmazione imperativa ed object-oriented in un qualunque linguaggio di programmazione di alto livello 2) Tecniche per il progetto di algoritmi e strutture dati 3) Matematica generale, algebra, teoria degli insiemi, calcolo delle probabilità 4) Logica proposizionale e del primo ordine 5) Progetto di basi di dati relazionali 6) Automi, calcolabilità e complessità.
Testi di riferimento
Materiale didattico reso disponibile dal docente.
Modalità insegnamento
Il modulo consiste in lezioni ed esercitazioni in aula, nelle quali verranno affrontati tutti gli argomenti in programma.
Frequenza
La frequenza delle lezioni e delle esercitazioni, sebbene non obbligatoria, è fortemente consigliata.
Modalità di esame
L'esame del modulo consiste in un due prove scritte ed un progetto da svolgere e presentare mediante una relazione scritta ed un seminario. Le prove scritte (Prova A e Prova B) consistono in domande sulle diverse parti del programma d'esame e coprono, rispettivamente, le due metà del programma (Parte A e Parte B). Il progetto consiste nell'approfondimento di uno o più argomenti di IA non visti nel corso e/o nella progettazione e sviluppo di un sistema software basato su IA. Al punteggio finale, le prove scritte contribuiranno ognuna per il 30%, mentre il progetto e la prova orale per il restante 40%. Per superare con successo l'esame è comunque necessario che il punteggio di ogni singola prova sia almeno pari a 'sufficiente'.
Bibliografia
Libri di testo consigliati: Stuart Russell, Peter Norvig Artificial Intelligence, a Modern Approach. 4th Edition Pearson. ISBN 978-1292401133.
Modalità di erogazione
Il modulo consiste in lezioni ed esercitazioni nelle quali verranno affrontati tutti gli argomenti in programma.
  • Codice insegnamento1022262
  • Anno accademico2025/2026
  • CorsoInformatica
  • CurriculumTecnologico
  • Anno3º anno
  • Semestre2º semestre
  • SSDINF/01
  • CFU6