CODICE 114770 ANNO ACCADEMICO 2026/2027 CFU 5 cfu anno 2 ELECTRONIC ENGINEERING 11970 (LM-29) - GENOVA 5 cfu anno 2 ENGINEERING TECHNOLOGY FOR STRATEGY AND SECURITY 11994 (LM/DS) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE ING-INF/01 LINGUA Inglese SEDE GENOVA PERIODO 1° Semestre MODULI Questo insegnamento è un modulo di: APPLIED REINFORCEMENT LEARNING AND STRATEGIC PROGRAMS MATERIALE DIDATTICO AULAWEB PRESENTAZIONE OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI L’insegnamento si propone di fornire agli studenti le conoscenze teoriche e pratiche necessarie per progettare, implementare e valutare agenti autonomi capaci di apprendere a interagire con ambienti sconosciuti mediante algoritmi di apprendimento con rinforzo, sviluppando al contempo capacità critiche e di apprendimento autonomo in contesti applicativi reali. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO Al termine dell’insegnamento, lo studente sarà in grado di: formulare un problema decisionale sequenziale, individuando agente, ambiente, stati, azioni, ricompense e obiettivi di apprendimento; spiegare i principali concetti e algoritmi dell’apprendimento per rinforzo utilizzando una terminologia tecnica appropriata; distinguere i metodi tabulari dagli approcci basati sull’approssimazione di funzione, discutendone ipotesi, vantaggi e limiti; spiegare il ruolo della valutazione e del miglioramento delle politiche e del bilanciamento tra esplorazione e sfruttamento nel processo di apprendimento; selezionare algoritmi adatti a un problema, motivando le scelte rispetto alle informazioni disponibili, alle risorse computazionali e ai requisiti del compito; implementare e verificare algoritmi di apprendimento per rinforzo utilizzando Python e Jupyter Notebook; valutare quantitativamente le prestazioni di un agente, interpretando le curve di apprendimento e considerando la variabilità tra diverse esecuzioni sperimentali; confrontare approcci alternativi e discuterne criticamente l’efficacia e i limiti; documentare le implementazioni e comunicare con chiarezza metodi sperimentali, risultati e conclusioni; utilizzare autonomamente documentazione tecnica e letteratura scientifica per approfondire le proprie conoscenze e affrontare problemi implementativi. MODALITA' DIDATTICHE L’insegnamento alterna lezioni frontali ed esercitazioni pratiche di programmazione. Le slide, il codice sorgente e i materiali di supporto saranno disponibili su aul@web. Durante le lezioni, il docente illustrerà i fondamenti teorici degli algoritmi, ne discuterà le ipotesi e i limiti e ne presenterà l’applicazione a problemi selezionati. Le esercitazioni guideranno gli studenti nell’implementazione, nella verifica e nella valutazione di agenti di apprendimento per rinforzo utilizzando Python e Jupyter Notebook. Gli studenti saranno incoraggiati a confrontare soluzioni alternative, interpretare i risultati sperimentali e discutere le difficoltà implementative incontrate. Saranno inoltre guidati nella documentazione del lavoro svolto e nell’esposizione delle motivazioni alla base delle proprie scelte. Gli studenti con certificazioni valide per Disturbi Specifici dell’Apprendimento (DSA), per disabilità o altri bisogni educativi sono invitati a contattare il docente e il referente di Scuola per la disabilità all’inizio dell’insegnamento per concordare eventuali modalità didattiche che, nel rispetto degli obiettivi dell’insegnamento, tengano conto delle modalità di apprendimento individuali. I contatti del referente di Scuola per la disabilità sono disponibili al seguente link: Comitato di Ateneo per l’inclusione delle studentesse e degli studenti con disabilità o con DSA | UniGe | Università di Genova PROGRAMMA/CONTENUTO L’insegnamento affronta i seguenti argomenti: Architetture degli agenti: organizzazione degli agenti autonomi e interazione con l’ambiente. Il problema dell’apprendimento per rinforzo: stati, azioni, ricompense, ritorni, politiche e funzioni di valore. Programmazione dinamica: metodi di soluzione basati su un modello noto dell’ambiente. Esplorazione e sfruttamento: strategie per bilanciare l’acquisizione di informazioni e la massimizzazione della ricompensa. Valutazione delle politiche: stima del ritorno atteso associato a una politica. Miglioramento delle politiche: metodi per migliorare il comportamento dell’agente mediante le stime delle funzioni di valore. Metodi basati su modello: utilizzo di modelli dell’ambiente per la pianificazione e l’apprendimento. Neural Fitted Q Iteration (NFQ): approssimazione della funzione di valore mediante reti neurali. Deep Q-Networks (DQN): apprendimento per rinforzo profondo basato sulle funzioni di valore. Metodi basati sulla politica e actor–critic: ottimizzazione diretta della politica e apprendimento congiunto della politica e della funzione di valore. Deep Deterministic Policy Gradient (DDPG): apprendimento di politiche per spazi delle azioni continui. Proximal Policy Optimization (PPO): ottimizzazione della politica mediante aggiornamenti vincolati. Decision Transformers: introduzione agli approcci decisionali basati sulla modellazione di sequenze di esperienze precedentemente raccolte. Le attività pratiche riguardano l’implementazione degli algoritmi, lo svolgimento di esperimenti e il confronto delle prestazioni degli agenti su compiti selezionati. Il materiale, incluse slides e codice sorgente è disponibile liberamente al seguente link materiale del corso. TESTI/BIBLIOGRAFIA Le slide, il codice sorgente e gli altri materiali didattici saranno disponibili su aul@web. Il materiale fornito, integrato dagli appunti delle lezioni e dallo svolgimento delle esercitazioni, è sufficiente per la preparazione dell’esame. Per approfondimenti si consigliano: Miguel Morales, Grokking Deep Reinforcement Learning, Manning. Richard S. Sutton e Andrew G. Barto, Reinforcement Learning: An Introduction, MIT Press. È possibile utilizzare anche altri testi universitari sull’apprendimento per rinforzo come risorse integrative. DOCENTI E COMMISSIONI RICCARDO BERTA Ricevimento: Ricevimento su appuntamento. Gli studenti possono contattare il docente tramite e-mail o Microsoft Teams per concordare il ricevimento. LEZIONI INIZIO LEZIONI https://corsi.unige.it/corsi/11994/students-timetable Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME L’esame consiste in una prova scritta sugli argomenti teorici e pratici affrontati durante l’insegnamento. La prova comprende domande a risposta aperta e problemi riguardanti la formulazione di compiti di apprendimento per rinforzo, il funzionamento e il confronto degli algoritmi, la loro implementazione in Python e l’interpretazione dei risultati sperimentali. Lo studente dovrà dimostrare sia la comprensione dei fondamenti teorici sia la capacità di applicarli allo sviluppo e alla valutazione di agenti autonomi. Ulteriori indicazioni sullo svolgimento della prova e sul livello di approfondimento richiesto saranno fornite durante le lezioni. Gli studenti con certificazioni valide per Disturbi Specifici dell’Apprendimento (DSA), per disabilità o altri bisogni educativi possono richiedere misure compensative e/o dispensative per l’esame. Le modalità saranno definite caso per caso, nel rispetto del Regolamento di Ateneo, d’intesa con il docente e con il referente della Scuola per la disabilità e i DSA. MODALITA' DI ACCERTAMENTO La prova scritta valuta la conoscenza dell’apprendimento per rinforzo e la capacità di applicarla alla progettazione, implementazione e valutazione di agenti autonomi. Lo studente dovrà: spiegare i concetti e gli algoritmi affrontati, illustrandone le ipotesi, le condizioni di applicazione, i vantaggi e i limiti; formulare un problema in termini di apprendimento per rinforzo e individuare metodi di soluzione appropriati; descrivere i passaggi principali di un algoritmo e tradurli in codice Python; motivare le scelte metodologiche e implementative, confrontandole con possibili alternative; interpretare i risultati sperimentali e individuare possibili cause di prestazioni insoddisfacenti dell’agente; esporre il proprio ragionamento con chiarezza, utilizzando terminologia e notazione matematica appropriate. La valutazione terrà conto dell’accuratezza e completezza delle risposte, della correttezza delle soluzioni proposte, della capacità di collegare teoria e pratica, dell’autonomia di giudizio e della chiarezza della comunicazione tecnica. ALTRE INFORMAZIONI Rivolgersi al docente per ulteriori informazioni non comprese nella scheda insegnamento.