PLANNING AND REASONING Canale unico
Docente coordinatore e verbalizzante: ANDREA MARRELLA
Docenti
Obiettivi formativi
Questo corso introduce i concetti relativi alla pianificazione automatica e ai
meccanismi di ragionamento logico dell'intelligenza artificiale. Lo scopo del
corso e' quello di permettere allo studente di usare i sistemi esistenti di
pianificazione automatica e di capire i loro meccanismi interni, in modo da
poterli sfruttare nel modo migliore ed eventualmente estendere a fronte di
problemi specifici. Inoltre, lo studente verrà messo in condizione di
comprendere i fondamenti teorici alla base dei meccanismi di ragionamento
logico usati in intelligenza artificiale.
Risultati di apprendimento attesi
Risultati generali
---------------------------
Il corso fornisce un’introduzione alla teoria e agli algoritmi per la pianificazione automatica, con particolare enfasi sulla pianificazione classica (classical planning) e sugli approcci di reasoning about actions. La pianificazione automatica è un ramo dell’Intelligenza Artificiale che si occupa della realizzazione di strategie o sequenze di azioni per trasformare uno stato iniziale in uno stato obiettivo desiderato. Gli approcci di reasoning about actions includono forme avanzate di ragionamento, come l’eseguibilità delle sequenze di azioni e i loro effetti futuri (proiezione) che gli agenti intelligenti utilizzano per passare dallo stato in cui si trovano a uno stato che soddisfi i loro obiettivi.
Risultati specifici
----------------------------
- Gli studenti acquisiranno le basi teoriche e algoritmiche della pianificazione automatica e del ragionamento automatico, nonché la loro implementazione pratica.
- Introduzione al modello di classical planning
- Linguaggi per classical planning
- Algoritmi di ricerca
- Euristiche indipendenti dal dominio e rilassamenti
- Classical planning: complessità, variazioni ed estensioni
- Conoscere e utilizzare un pianificatore
- Pianificazione numerica
- Reasoning about actions tramite il Calcolo delle Situazioni e Golog
- Modellazione della dinamica del dominio di interesse: assiomi di precondizione, assiomi di stato successore, frame problem
- Regressione e proiezione
Capacità di applicare conoscenza e comprensione
---------------------------------------------------------------------------------
A partire dai concetti fondamentali che stanno alla base degli algoritmi di pianificazione moderna, gli studenti saranno in grado di condurre progetti pratici in questo ambito.
Autonomia di giudizio
-----------------------------------
Il corso favorisce lo sviluppo della capacità di formulare giudizi autonomi nella scelta delle specifiche di pianificazione e delle tecnologie più adeguate, con l’obiettivo di affrontare in modo efficace problemi di pianificazione del mondo reale. Inoltre, gli studenti acquisiranno strumenti critici per valutare la qualità dei risultati ottenuti dalle soluzioni adottate.
Abilità comunicative
---------------------------------
Attraverso i progetti, gli studenti acquisiranno la capacità di comprendere e comunicare i requisiti di modellazione e le scelte progettuali necessarie per definire un problema di pianificazione di media complessità, oltre a individuare la tecnologia di pianificazione più idonea per la sua risoluzione.
Capacità di apprendimento
--------------------------------------------
Il corso stimola gli studenti ad apprendere i seguenti aspetti:
- Valutare e applicare diverse tecniche di pianificazione per il classical planning
- Spiegare i vantaggi e gli svantaggi pratici di diversi livelli di espressività nei modelli di pianificazione
- Modellare problemi di classical planning in linguaggi di definizione di dominio comunemente utilizzati
- Modellare domini dinamici nel calcolo delle situazioni e in Golog
- Risolvere problemi di pianificazione con risolutori automatici
Prerequisiti
Gli studenti che seguono questo corso dovrebbero avere conoscenze di analisi orientata agli oggetti, modellazione e progettazione, database relazionali e nozioni di base di probabilità acquisite nei corsi precedenti, nonché di logica e matematica discreta. È inoltre richiesta la conoscenza e la comprensione delle tecniche e dei concetti di base dell'intelligenza artificiale.
Programma dell’insegnamento
Introduzione ai modelli di classical planning
Linguaggi per classical planning
Algoritmi di ricerca
Euristiche indipendenti dal dominio e rilassamenti
Classical planning: complessità, variazioni ed estensioni
Conoscere e utilizzare un pianificatore
Pianificazione numerica
Ragionare sulle azioni tramite il Calcolo delle Situazioni e Golog
Modellazione della dinamica del dominio di interesse: assiomi di precondizione, assiomi di stato successore, il frame problem
Regressione e proiezione
Testi di riferimento
Materiale didattico:
[1] Course slides, notes, and additional material available on this site.
[2] Artificial Intelligence: A Modern Approach, Global Edition, 4th Edition by Stuart Russell, Peter Norvig, Pearson, 2020
[3] A Concise Introduction to Models and Methods for Automated Planning, by Hector Geffner and Blai Bonet, Springer, 2013
[4] Automated Planning: Theory and Practice, by Malik Ghallab, Dana Nau, Paolo Traverso, Elsevier, 2001
[5] An Introduction to the Planning Domain Definition Language, by Patrik Haslum, Nir Lipovetzky, Daniele Magazzeni, Christian Muise, Springer, 2019
[6] Knowledge in Action, by Raymon Reiter, MIT Press, 2001
Modalità di svolgimento
Didattica frontale in aula
Frequenza
Frequenza non obbligatoria
Modalità di esame
L’esame è composto da 2 parti:
- Prova scritta (2 ore)
- Progetto (lavoro di gruppo, minimo 2 – massimo 3 studenti)
Il voto finale dell’esame è calcolato come media ponderata delle due parti (progetto: 1/3, prova scritta: 2/3) e sarà registrato solo dopo che entrambe le parti saranno state superate. Il voto di ciascuna parte rimane valido per l’intero A.A., fino all’ultima sessione d’esame di ottobre/novembre 2025. Dopo tale data, tutti i voti decadranno.
Maggiori informazioni sui progetti sono disponibili alla pagina dedicata ai progetti sul sito del corso:
- https://sites.google.com/uniroma1.it/pr2526/projects
Esempi di domande
Ulteriori dettagli sugli esercizi e le possibili domande sono disponibili alla pagina dedicata all’esame sul sito del corso:
- https://sites.google.com/uniroma1.it/pr2526/ct-team
Programmazione delle attività didattiche
- Dettagli sulla pagina web del corso: https://sites.google.com/uniroma1.it/pr2526/
Obiettivi per lo sviluppo sostenibile - Agenda ONU 2030
- Anno accademico2025/2026
- Corso di studio a cui afferisce l’insegnamentoArtificial Intelligence – Intelligenza Artificiale
- Codice insegnamento1052222
- Anno e semestre2º anno - 1º semestre
- TipologiaAttività formative caratterizzanti
- AmbitoIngegneria informatica
- SSDING-INF/05
- Presenza obbligatoriaNo
- Linguaeng
- CFU6 CFU
- Durata complessiva60 ore
- Distribuzione delle ore36 classroom hours, 24 training hours