CODICE 111103 ANNO ACCADEMICO 2024/2025 CFU 9 cfu anno 1 METODOLOGIE FILOSOFICHE 8465 (LM-78) - GENOVA 9 cfu anno 1 COMPUTER ENGINEERING 11160 (LM-32) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05 LINGUA Inglese SEDE GENOVA PERIODO 2° Semestre MATERIALE DIDATTICO AULAWEB PRESENTAZIONE 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. OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI 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. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO I principali obiettivi formativi del corso e i corrispondenti risultati dell'apprendimento sono: Obiettivi e Risultati Conoscitivi Conoscere e comprendere i concetti chiave della logica proposizionale e della logica del primo ordine, inclusi sintassi, semantica, e tecniche di risoluzione. Acquisire una solida comprensione delle basi teoriche dei diversi linguaggi utilizzabili, valutandone i relativi vantaggi. 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. Obiettivi e Risultati Applicativi 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. PREREQUISITI Conoscenza di base di programmazione. MODALITA' DIDATTICHE Il corso consisterà di lezioni frontali dedicate alla spiegazione dei diversi argomenti e allo svolgimento di esercizi. PROGRAMMA/CONTENUTO Introduzione al Corso Introduzione alla materia e agli obiettivi del corso. Logica Proposizionale Sintassi e Semantica: Studio delle basi della logica proposizionale, inclusa la forma normale (NNF), la forma normale congiuntiva (CNF) e la trasformazione di Tseitin. Tecniche di Semplificazione e Risoluzione: Approfondimento delle tecniche di risoluzione, inclusa la procedura DPLL (Davis-Putnam-Logemann-Loveland). Rappresentazioni e Procedure Incomplete: Introduzione agli OBDD (Ordered Binary Decision Diagrams) e alle limitazioni della logica proposizionale. Discussione e pratica di esercizi sulla logica proposizionale. Logica del Primo Ordine (First Order Logic - FOL) Motivazioni, Sintassi e Semantica: Introduzione alle basi della logica del primo ordine, comprensione della sua sintassi e semantica. Esempi e Proprietà Logiche: Discussione di esempi di soddisfacibilità, validità, equivalenza logica, conseguenza logica, e delle forme normali prenesse e di Skolem. Teorema di Herbrand e Decidibilità: Studio del Teorema di Herbrand, della decidibilità delle formule in dominio finito e della semi-decidabilità della logica del primo ordine. Interpretazioni intese: Uguaglianza e altri simboli logici. Interpretazioni intese Discussione di esempi pratici e aspetti oltre la logica del primo ordine. Esercitazioni pratiche sulla logica del primo ordine. Pianificazione Automatica (Planning) Linguaggi di Rappresentazione per la Pianificazione: Studio dei linguaggi per la rappresentazione dei problemi di pianificazione. Esercitazioni pratiche sull'uso di questi linguaggi. Pianificazione Numerica e Temporalità: Introduzione ai linguaggi per la pianificazione numerica, come PDDL2.1. Esplorazione di PDDL+ per la gestione di tempo, processi ed eventi nei problemi di pianificazione. Pianificazione come Satisfiability (SAT): Motivazioni e intuizioni alla base della pianificazione vista come un problema di soddisfacibilità. Tecniche di riduzione del problema di pianificazione a SAT. Discussione delle condizioni di terminazione. Ricerca e Pianificazione: Introduzione alle tecniche di ricerca non informata per la risoluzione dei problemi di pianificazione. Studio delle tecniche di ricerca informata, come la ricerca nei grafi e la pianificazione come processo di ricerca. TESTI/BIBLIOGRAFIA Il materiale didattico presentato a lezione sarà reso disponibile su AulaWeb DOCENTI E COMMISSIONI ENRICO GIUNCHIGLIA Ricevimento: Di solito sono sempre disponibile sia prima sia dopo le lezioni. E' sempre possibile fissare un appuntamento inviando una email a enrico.giunchiglia@unige.it. MATTEO CARDELLINI Commissione d'esame ENRICO GIUNCHIGLIA (Presidente) LUCA ONETO ARMANDO TACCHELLA (Presidente Supplente) MATTEO CARDELLINI (Supplente) LEZIONI INIZIO LEZIONI Il corso si svolgerà nel secondo semestre: Lezioni: dal 17 febbraio al 30 maggio 2025 Sospensione didattica (Ingegneria: per sedute di Laurea e sessione straordinaria d’esame, solo per gli studenti non frequentanti): 24/25/26 marzo 2025 Sessione ordinaria d’esame: dal 2 giugno al 19 settembre 2025 Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME L'esame finale sarà un test con esercizi su: Logica proposizionale, modellazione e ragionamento Logica del primo ordine, modellazione e ragionamento Pianificazione, modellazione e procedure Search, non informata e informata 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 MODALITA' DI ACCERTAMENTO 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. Calendario appelli Data appello Orario Luogo Tipologia Note 08/01/2025 09:00 GENOVA Scritto 05/02/2025 09:00 GENOVA Scritto 04/06/2025 09:00 GENOVA Scritto 02/07/2025 09:00 GENOVA Scritto 12/09/2025 09:00 GENOVA Scritto