I materiali pubblicati sul sito costituiscono rielaborazioni personali del Publisher di informazioni apprese con la frequenza delle lezioni e lo studio autonomo di eventuali testi di riferimento in preparazione all’esame finale o della tesi. Non devono intendersi come materiale ufficiale dell’università attribuibile al docente del corso.
…continua

Filtra per

Tutte le tipologie

Ordina

Filtra

Appunti degli studenti per corsi ed esami del Prof. Gerbaldo Roberto

Appunti completi, dettagliati e strutturati per la preparazione dell'esame di Optimization Methods and Algorithms (Metodi e Algoritmi di Ottimizzazione) del corso di Laurea Magistrale in Ingegneria Informatica / Artificial Intelligence e Data Science presso il Politecnico di Torino (Anno Accademico 2025/2026). Il testo (oltre 220 pagine) affronta con rigore analitico e chiarezza applicativa la formulazione matematica e la risoluzione di problemi di ottimizzazione continua, intera e combinatoria, arricchendo ogni argomento con modelli formali, grafici, alberi di ricerca ed esercizi passo-passo. Il materiale è suddiviso in 9 sezioni tematiche principali: Programmazione Lineare (PL/MILP) e Tecniche di Modellazione: definizione formale, linearizzazione di operatori non lineari (min-max, max-min, valore assoluto), prodotti tra variabili binarie, metodo del Big-M, vincoli disgiuntivi e modelli complessi (problema dello zaino, miscelazione, trasporti e turnazione del personale). Algoritmi Fondamentali su Grafi: percorsi euleriani (Teorema di Eulero, algoritmo di Hierholzer), circuiti hamiltoniani e TSP, colorazione e numero cromatico, cammini minimi (Dijkstra), alberi ricoprenti minimi (Kruskal, Prim), fattorizzazione di grafi completi, flusso massimo (modello LP, Teorema Max-Flow Min-Cut, algoritmo di Ford-Fulkerson) e cricche massime/MIS. Complessità Computazionale: classi P, NP, riducibilità polinomiale, teorema di Cook e NP-completezza (SAT, Knapsack, Partition). Project Management: WBS, diagrammi reticolari (AoN/AoA), ordinamento topologico (algoritmo di Kahn), diagrammi di Gantt, calcolo di float e percorso critico (CPM), precedenze generalizzate e cicli negativi, cost crashing (modello LP) e RCPS a capacità finita (modello di Kaplan ed euristiche di priorità). Programmazione Dinamica: principio di ottimalità di Bellman, algoritmi di Bellman-Ford e Knapsack 0/1 con backtracking. Metodi Esatti, Euristici e Multi-Obiettivo: Branch & Bound (regole di branching, bounding, potatura per TSP, Knapsack e Clique), algoritmi greedy, Beam Search, ricerca locale, metauristiche e algoritmi genetici, ed efficienza paretiana multi-obiettivo. Sequencing e Scheduling: classificazione $\alpha\vert{}\beta\vert{}\gamma$, minimizzazione della lateness (Jackson, Moore) e flow shop (Johnson).
...continua
Appunti completi, dettagliati e strutturati per la preparazione dell'esame di Web Application II del corso di Laurea Magistrale in Ingegneria Informatica presso il Politecnico di Torino (Anno Accademico 2025/2026). Il materiale tratta in modo approfondito l'intero ecosistema di sviluppo per applicazioni enterprise moderne e reattive, integrando i costrutti avanzati del linguaggio Kotlin con il framework Spring Boot, architetture a microservizi, pattern distribuiti, database SQL/NoSQL e messaggistica asincrona, con diagrammi esplicativi e codice commentato. Il documento (oltre 270 pagine) è organizzato in 19 sezioni tematiche principali: Linguaggio Kotlin & Build Tool Gradle: type system, null safety, lambda, higher-order functions, delegates, generics, collection API, build automation con Gradle (Kotlin DSL, task, multi-module) e processamento di annotazioni via KAPT/Reflection. Core Spring Boot & Web MVC: Inversion of Control (IoC), Dependency Injection, Aspect-Oriented Programming (AOP), ciclo di vita dei bean, DispatcherServlet, controller REST, validazione JavaBean, DTO e documentazione interattiva OpenAPI/Swagger. Persistenza & Concorrenza (Spring Data JPA): ORM Hibernate, ciclo di vita delle entità (Transient, Managed, Detached), relazioni (@OneToMany, @ManyToMany), cascading, orphan removal, livelli di isolamento transazionale, locking ottimistico (@Version) e pessimistico. Logging & Testing: SLF4J, Logback (rolling policies, log asincrono), unit testing con Mockk, integration testing con Spring Test. Sicurezza & Autenticazione: protocolli OAuth 2.0 e OpenID Connect (OIDC), Identity & Access Management (IAM), configurazione dichiarativa di Spring Security, method security, gestione CORS e CSRF. Sistemi Distribuiti & NoSQL: architetture Event-Driven, message brokers (RabbitMQ, Apache Kafka streaming ed exchange patterns), microservizi, pattern Outbox, Sagas distribuite, CQRS, MongoDB (CRUD, aggregazioni) e Redis (caching, Pub/Sub, code). Integrazione con Spring AI: modelli di embedding e Chat Client API.
...continua