L'insegnamento di Intelligenza Artificiale (IA) esplora la progettazione e la realizzazione di sistemi intelligenti capaci di eseguire compiti complessi che richiedono capacità cognitive simili a quelle umane. Tra le aree chiave dell'IA, particolare rilevanza assume lo studio delle tecniche di rappresentazione della conoscenza e di pianificazione automatica, dal punto di vista della modellazione di sistemi complessi e delle tecniche di ragionamento automatico sul modello definito.
The aim of the course is to introduce students to some fundamental themes of Artificial Intelligence, mainly on the "deductive" side of the discipline. Students will learn the basics of propositional logic and first-order predicate logic and will apply them in the context of knowledge representation using reasoning techniques seen in class. Additionally, in addition to the basic skills related to knowledge representation techniques and reasoning techniques, the course will address the issues and basic techniques of heuristic search and automatic planning.
I principali obiettivi formativi del corso e i corrispondenti risultati dell'apprendimento sono:
Conoscere e comprendere i concetti chiave della logica proposizionale e della logica del primo ordine, inclusi sintassi, semantica, e tecniche di risoluzione.
Capire i principali linguaggi e strumenti per la rappresentazione dei problemi di pianificazione, come PDDL e PDDL+.
Conoscere le tecniche di pianificazione automatica, inclusi metodi di ricerca informata e non informata, e la pianificazione vista come un problema di satisfiability (SAT).
Saper modellare problemi complessi in termini di conoscenza e rappresentazione dei dati, utilizzando strumenti e linguaggi avanzati.
Saper applicare tecniche di logica e rappresentazione della conoscenza per risolvere problemi reali in vari contesti, come la robotica, la gestione delle risorse e l'ottimizzazione dei processi.
Essere in grado di implementare algoritmi di pianificazione automatica per la risoluzione di problemi pratici, inclusa la gestione del tempo e delle risorse.
Acquisire competenze pratiche nell'uso di linguaggi e strumenti per la creazione di sistemi di IA, come l’implementazione di algoritmi di ricerca e di pianificazione.
Conoscenza di base di programmazione.
Il corso consisterà di lezioni frontali dedicate alla spiegazione dei diversi argomenti e allo svolgimento di esercizi.
Introduzione al Corso
Logica Proposizionale
Sintassi e Semantica:
Tecniche di Semplificazione e Risoluzione:
Rappresentazioni e Procedure Incomplete:
Logica del Primo Ordine (First Order Logic - FOL)
Motivazioni, Sintassi e Semantica:
Esempi e Proprietà Logiche:
Teorema di Herbrand e Decidibilità:
Interpretazioni intese:
Pianificazione Automatica (Planning)
Linguaggi di Rappresentazione per la Pianificazione:
Pianificazione Numerica e Temporalità:
Pianificazione come Satisfiability (SAT):
Ricerca e Pianificazione:
Il materiale didattico presentato a lezione sarà reso disponibile su AulaWeb
Ricevimento: L'insegnamento è erogato integralmente in lingua Inglese. Per tutte le informazioni relative, si veda la corrispondente sezione in lingua Inglese
ENRICO GIUNCHIGLIA (Presidente)
LUCA ONETO
ARMANDO TACCHELLA (Presidente Supplente)
MATTEO CARDELLINI (Supplente)
Il corso si svolgerà nel secondo semestre:
L'esame finale sarà un test con esercizi su:
In funzione del risultato e del contenuto del test svolto, è possibile che sia richiesta una prova orale.
Gli studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali devono contattare il docente all’inizio del corso per concordare modalità didattiche e d’esame che, nel rispetto degli obiettivi dell’insegnamento, tengano conto delle modalità di apprendimento individuali e forniscano idonei strumenti compensativi. Si ricorda che la richiesta di misure compensative/dispensative per gli esami dovrà essere inviate al docente del corso, al referente della Scuola e al “Settore servizi per l'inclusione degli studenti con disabilità e con DSA” (dsa@unige.it) almeno 10 giorni lavorativi prima della prova, come da linee guida disponibili al link: https://unige.it/disabilita-dsa
L'esame consisterà nella valutazione dello svolgimento degli esercizi proposti e le risposte fornite alle domande nel test. Oltre alla correttezza delle stesse, verrà valutata anche la completezza delle risposte fornite, con particolare attenzione all'aderenza rispetto al testo proposto.