Corso di Laurea in
Ingegneria Informatica (magistrale)
2010-2011, 6 crediti
Prof. Alberto
Marchetti Spaccamela
PROGRAMMA
PARTE I - Algoritmi polinomiali
1. Introduzione al corso
2. Il problema matching (accoppiamento) in grafi
3. Matching in grafi bipartiti: cammini aumentanti, algoritmo di Edmonds e Karp
4. Matching in grafi generali.
5. Il problema del massimo flusso: formaulazione primale duale, algoritmo di Ford e Fulkerson
Materiale didattico
Bipartite Matching, Ford and Fulkerson algorithm and Edmonds-Karp algorithm
Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L. (1990).
Introduction to Algorithms (1st ed.). MIT Press and McGraw-Hill.
Matching in General Graphs
by L. Lovasz, M. D. Plummer, Matching Theory, North-Holland Mathematics Studies 121
PARTE II - Algoritmi di approssimazione
1. Complessità di problemi di ottimizzazione: le classi P, NP, PSPACE; problemi completi, riduzioni fra problemi
2. Vari tipi di algoritmi di approssimazione: algoritmi approssimati, PTAS, FPTAS e relativi esempi.
3. Classi di approssimabilità.
4. Primi risultati di non approssimabilità.
5. Tecniche fondamentali per algoritmi di approssimazione: algoritmi greedy, algoritmi sequenziali.
6. Programmazione dinamica e tecniche per schemi di approssimazione polinomiale e completamente polinomiale.
7. Tecniche basate su programmazione lineare e tecnica
primale-duale; max-flow, min cut theorem;
Vertex-cover; analisi algoritmo greedy per Set-cover.
8. Problemi di progetto di reti: Facility location. Steiner trees and Steiner forest.
9. Rounding probabilistico: rilassamento di programmazione lineare e rounding. Set cover, Max Sat.
10. Algoritmi approssimati per problemi particolari: bin packing,
scheduling, TSP, vertex cover, colorazione di grafi, Knapsack, max
satisfiebility, set cover.
Materiale didattico
G. Ausiello, P. Crescenzi, G. Gambosi, V. Kann, A. Marchetti
Spaccamela, M. Protasi, Complexity and Approximation, Springer, 1998
Il programma prevede i seguenti capitoli (accessibili on-line, per gentile concessione dell'editore):
PARTE III - Teoria dei giochi
1. Approccio algorimico alla teoria dei giochi; giochi in forma normale. Strategie dominanti.
2. Equilibri di Nash puri e misti. Esistenza e calcolo degli equilibri
4. Efficienza degli equilibri e prezzo dell'anarchia
3. Esempi: dilemma prigioniero, chicken game, codnivisione della banda.