ALGORITHMIC TECHNIQUES FOR AI, GAMES AND NETWORKS
- Anno accademico
- 2026/2027 Programmi anni precedenti
- Titolo corso in inglese
- ALGORITHMIC TECHNIQUES FOR AI, GAMES AND NETWORKS
- Codice insegnamento
- CT0700 (AF:771606 AR:412880)
- Lingua di insegnamento
- Inglese
- Modalità
- In presenza
- Crediti formativi universitari
- 6
- Livello laurea
- Laurea
- Settore scientifico disciplinare
- INFO-01/A
- Periodo
- II Semestre
- Anno corso
- 3
- Sede
- VENEZIA
Inquadramento dell'insegnamento nel percorso del corso di studio
Risultati di apprendimento attesi
Lo studente:
- conosce le tecniche algoritmiche utilizzate nei moderni sistemi computazionali;
- conosce le tecniche per dimostrare la correttezza di tali approcci algoritmici;
- conosce le tecniche per valutarne la performance, la scalabilità e l'affidabilità
Capacità di applicare conoscenza e comprensione:
Lo studente:
- è in grado di progettare e sviluppare algoritmi per problemi computazionali che sorgono nei moderni ambienti computazionali;
- è in grado di analizzare gli algoritmi sviluppati in termini di correttezza e scalabilità;
- è in grado di leggere la letteratura scientifica su argomenti correlati e di cogliere le tecniche presentate.
Capacità di giudizio:
Al termine del corso lo studente sarà in grado di utilizzare le conoscenze acquisite per:
- Identificare gli algoritmi più adatti a risolvere determinati problemi nel contesto delle reti, dell'IA e dei giochi
- Dimostrare rigorosamente affermazioni sul comportamento di un algoritmo (in particolare la correttezza)
- Analizzare rigorosamente le prestazioni degli algoritmi (tempo di esecuzione, approssimazione, probabilità di successo nel caso di algoritmi randomizzati)
Prerequisiti
- Algoritmi e strutture dati (argomenti trattati nel corso CT0667)
- Teoria della probabilità (argomenti trattati nel corso CT0675)
- Matematica discreta (argomenti trattati nel corso CT0434)
Contenuti
- Diffusione delle informazioni nelle reti
- Concentration bounds
- Random walks, tempo di copertura
+ Algoritmi per grafi specifici del mondo reale
- Reti sociali (centrality measures, triangle counting, clustering coefficients)
- Percorsi più brevi nei grafi stradali (transit nodes, highway dimension)
- Congestion games
+ Reti di flusso
- Max Flow (Ford Fulkerson) and Min Cut (Karger)
- Min-Cost Flow (ciclo di costo negativo)
+ Problemi di selezione online
- Secretary Problems
- Principio di Yao
+ Multiplicative Weights Framework
- Previsione con consulenza di esperti
- Risoluzione di giochi a somma zero
- Boosting
+ Learning
- sample complexity
- Dimensione VC e PAC learning
Testi di riferimento
- articoli di ricerca originali forniti durante il corso
Modalità di verifica dell'apprendimento
1. Esame scritto. L'esame scritto consisterà in domande a scelta multipla e domande aperte volte a verificare che lo studente abbia acquisito le conoscenze presentate nel corso. Durante il corso verranno distribuiti regolarmente esercizi di tipo simile.
2. Esame orale. L'esame orale deve essere sostenuto dopo la consegna dell'esame scritto e può essere sostenuto solo se l'esame scritto è stato superato con almeno 18/30. L'esame inizia con un breve e semplice test di screening (diverse domande brevi, circa 10 minuti) volto a verificare le conoscenze di base del materiale del corso. Successivamente lo studente presenterà in modo approfondito (circa 20 minuti) alla lavagna un argomento del corso a sua scelta (eventualmente interrotto o seguito da domande relative alla presentazione).
Modalità di esame
Il/la docente ha il dovere di vigilare affinché siano rispettate le regole di autenticità e originalità delle prove d'esame. Di conseguenza, nei casi in cui vi sia il sospetto di un comportamento irregolare, l'esame può prevedere un ulteriore approfondimento, contestuale alla prova d'esame, che potrà essere realizzato anche in modalità differente rispetto alle modalità sopra riportate.
Graduazione dei voti
è in grado di ragionare in modo algoritmico e di formulare ragionamenti formali riguardo alla correttezza e alle garanzie di prestazione degli algoritmi;
la sua esposizione è molto chiara e accademica
26-27: lo studente ha una buona conoscenza degli argomenti presentati nel corso;
riesce generalmente a ragionare in modo algoritmico e a formulare ragionamenti formali riguardo alla correttezza e alle garanzie di prestazione degli algoritmi;
la sua esposizione è molto chiara
24-25: lo studente non conosce in modo approfondito tutti gli argomenti presentati nel corso;
riesce per lo più a ragionare in modo algoritmico e a formulare ragionamenti formali riguardo alla correttezza e alle garanzie di prestazione degli algoritmi;
la sua esposizione è chiara
22-23: lo studente ha una conoscenza per lo più superficiale degli argomenti presentati nel corso;
solitamente riesce a ragionare in modo algoritmico e a formulare ragionamenti formali riguardo alla correttezza e alle garanzie di prestazione degli algoritmi;
la sua esposizione non è sempre chiara
18-21: lo studente ha una conoscenza molto superficiale degli argomenti presentati nel corso;
ha difficoltà a ragionare in modo algoritmico e a formulare ragionamenti formali riguardo alla correttezza e alle garanzie di prestazione degli algoritmi;
la sua esposizione è confusa