Algoritmi distribuiti e reti complesse

Docenti: Andrea Clementi, Luciano Guala'

Comunicazioni

ESONERO ADRC DEL 10-01-19: VISIONE

11-01-2019 15:50

Gli studenti interessati alla visione delle correzioni del proprio scritto possono venire lunedi 14-01 alle ore 12 presso lo studio del prof. Clementi.

 

 


ESONERO ADRC DEL 10-01-19: ESITO

11-01-2019 13:06
  • FAKHOURG E.       24/30
  • HROMEI C.           15/30
  • MALIZIONA S.       14/30
  • 0270159-PRESTEF...(calligrafia illeggibile)   15/30
  • TAFANI F.     15/30
  • TAMIANO L.     27/30

Gli studenti non riportati nella  lista quì sopra  hanno conseguito una votazione largamente insufficiente.

 

Si ricorda che la votazione (positiva) verra' mantenuta per tutti i prossimi  appelli a meno che uno studente  non decida e comunichi di voler ripetere la prova.


ESONERO PARTE I

19-12-2018 18:25

Si comunica che la prova di esonero scritto relativa alla parte del Prof. Clementi avra' luogo   GIOVEDI 10 GENNAIO, ORE 14, in AULA 7.

E' richiesta la prenotazione per ogni interessato inviando una email all'indirizzo del

prof. Clementi: clementi@mat.uniroma2.it con Subject;: ESONERO ADRC

 

 


NOTE: II VERSIONE

28-11-2018 15:44

Si avvisano gli studenti che entro domani mattina sara' disponibile una nuova versione delle note relative alle lezioni sui protocolli randomizzati del Prof. Clementi


ADRC: orario inizio lezioni

22-11-2018 14:12

Si ricorda agli studenti che a partire da giovedi 22/11, l'orario di inizio del corso e' fissato alle 14.30

 

 


Inizio corso

26-09-2018 10:08

Il corso avrà inizio lunedi 8 ottobre alle 14.30 con il I modulo (Prof. Clementi) 


Lezioni

2524-01-2019

Il problema del calcolo di un Equilibrio di Nash (in strategie pure) in un Congestion Game. Perché è improbabile che il problema sia NP-hard. La giusta classe di complessità: PLS-completezza. 

2421-01-2019

Stackelberg Minimum Spanning Tree Game. Un problema di prezzatura di reti che nasce da uno scenario di teoria dei giochi. Hardness del problema e un algoritmo di approssimazione con fattore logaritmico.

2317-01-2019

Generalizzando l'asta del singolo oggetto: il problema dell'asta combinatorica. Un meccanismo VCG veritiero ed esatto per il problema, ma non implementabile in tempo polinomiale (a meno che P=NP). Meccanismo one-parameter approssimato: un buon algoritmo monotono per il problema di ottimizzazione soggiacente.

2214-01-2019

Il problema del cammino minimo tra due nodi in un grafo con archi privati: un meccanismo VCG. Il problema dell'albero dei cammini minimi con archi privati: problemi non utilitari. Problemi one-parameter e meccanismi one-parameter: truthfulness e monotonia.

2107-01-2019

Algorithmic Mechanism Design. Asta singolo oggetto (versione massimizzazione e minimizzazione). Una soluzione elegante: second-price auction. Meccanismi VCG. Pagamenti di Clarke e volontaria partecipazione. 

2020-12-2018

Local Connection Game. Stima del prezzo della stabilità. Stima del prezzo dell'anarchia. Complessità computazionale del problema di trovare la best move.

1917-12-2018

Introduzione ai Formation Games; Global Connection Game. Stima del prezzo dell'anarchia. Tecnica del potenziale. Esistenza dell'equilibrio, convergenza all'equilibrio. Stima del prezzo della stabilità. Complessità computazionale del problema di trovare dei buoni equilibri di Nash. Un esercizio: Max-Cut game.

1813-12-2018

Introduzione al corso. Di cosa di si occupa l'Algorithmic Game Theory. Due tradizioni si incontrano: Teoria degli Algoritmi e Teoria dei Giochi. Concetti fondamentali: gioco, giocatori, strategie, outcome ed equilibri. Equilibro in strategie dominanti. Equilibrio di Nash in strategie pure e miste. Teorema di Nash. Prezzo dell'Anarchia e Prezzo della Stabilità. Esempi di 

giochi. Selfish Routing e paradosso di Braess.

1710-12-2018

- Processi di Information Spreading su Expanders:

 

I protocolli Push-Pull

 

Analsisi della convergenza del protocollo Pull su alcune classi di grafi expanders.

discussioni finali sul I modulo

1606-12-2018

- Analisi del Protocollo RTA II:

Dimostrazione delle proprieta' di espansione del Grafo di output nel caso d= log n

 

- Processi di Information Spreading su Expanders: Introduzione

 

1503-12-2018

Il protocollo RTA per la costruzione di grafi random G.

Analisi in concentrazione del grado massimo:

caso d costante e caso d = logn n.

 

Concetto di Vertex Expansion di un Grafo

Diametro di un Expander: dimostrazione mediante BFS.

1429-11-2018

La 3-Majority dynamics: conclusione dell'analisi delle tre fasi del processo   in valor medio ed in concentrazione. 

 

La costruzione di grafi random mediante protocolli distribuiti

Il Protocollo Request Then Accept (RTA).

Analisi del grafo random in output di RTA:

- numero di archi, numero di messaggi e grado medio

 

1326-11-2018

Analisi della 3-Majority partendo da un Bias iniziale.

Dimostrazione del tempo  convergenza (PARTE I)

con applicazione dei Chernoff's Bounds.

1222-11-2018

Analisi probabilistica del protocollo randomizzato per la Leader Election: Risultati in alta concentrazione della misura.

 

- Il problema del Consenso e del Majority Consenso

- I meccanismi di comunicazione random: PUSH & PULL

- Concetto di Efficienza: numero di rounds, numero di messaggi, congestion, numero di random queries.

- Metodi di alta concentrazione per distribuzione binomiali: 

Chernoff's Bounds

- Obiettivi strategici: campionamento distribuito ed aggregato e confronto con campionamento centralizzato

- Le dinamiche h-majority

- Analsisi del ''Expected-Drift''  della 1-majority (e della 2-majority)

1119-11-2018

Leader Election su Anelli: la Stage Technique.

-Correttezza e Message complexity del Protocollo.

 

Introduzione agli Algoritmi Distribuiti Randomizzati

Concetti e notazioni fondamentali:

Spazi di Probabilità, Variabili Aleatorie, Valor Medio.

Un primo esempio di Protocollo Randomizzato: La Leader Election su un anello con nodi non etichettati.

1015-11-2018

- Il Protocollo ALL-the-way per la Leader Election su Anelli.

Analisi della correttezza e della message e time complexity

 

- Il Protocollo As Far (as it can): analisi della correttezza e del miglioramento della message complexity worst-case e best-case.

 

912-11-2018

Ulteriore analisi della Saturation Techniques.

Il prblema della Leader Election (LE)

Non calcolabilita' della LE in anonymous networks.

LE mediante Saturazione in un Albero

LE in un anello: un primo protocollo.

808-11-2018

Risultato di impossibilità di calcolo dello ST in caso di piu' initiator

Terminazione locale e globale e gli alberi di broadcast

Il problema DFS distribuito: la distribuzione di un token in un sistema distribuito in mutua asclusione.

Un protocollo corretto: analisi della msg complexity 

un protocollo corretto ed efficiente: analisi della time complexity

Processi di saturazione in un albero

Analsisi della correttezza e della message complexity della saturazione su alberi

Applicazioni della saturazione: il calcolo del minimo; il calcolo della media

Proprieta' delle funzioni calcolabili mediante saturazione 

705-11-2018

Analisi della Message Complexity del Protocollo Shout

Modifica e descrizione del Protocollo Shout+

Analisi del Protocollo Shout+

Proprieta degli alberi costruiti da Shout 

 

625-10-2018

Definizione formale del problema Spanning Tree

Restrizioni

Il protocollo Shout

Analisi della correttezza

522-10-2018

Protocollo HyperFlood:

Analisi rigorosa della message complexity

Analisi rigorosa del time complexity

Introduzione al problema dello Spanning Tree Distribuito

e sue applicazioni

Il problema Wake-Up sulla Clique: il bound superlineare (senza dimostrazione)

418-10-2018

LEZIONE 4: 15-10-2018 (2.15 ore)

Topologie Sparse e Scalability

Sequenze di operazioni di Broadcast: analisi ammortizzata e calcolo di Spanning Tree

La struttura Hypercube

Il grado, il diametro e le proprieta' di Hypercube

L'algoritmo efficiente Hyperflood

315-10-2018

LEZIONE 3: 15-10-2018  

Analisi della sua Message Complexity ed Ideal Time  di Flood

Un lower bound banale per Broadcast

Un lower bound Omega(m) per Broadcast

211-10-2018

LEZIONE 2: 11-10-2011 

 

Concetti formali e caratteristiche fondamentali del Modello Distribuito Link-Based

Correttezza e terminazione locale e globale

Istruzioni Atomiche

Modelli sincroni ed asincroni

Message Complexity

Ideal Parallel Time

Il Problema del Broadcast

Restrizioni Standard

Definizione del protocollo Flood

Analisi della Correttezza di Flood

108-10-2018

Panoramica dei  modelli di calcolo distribuito che verranno studiati nel corso.

Il modello link-based ed il modello radio networks, cenni.

Grafi

Definizioni di problemi/task computazionali in modelli distribuiti: Input ed Ouput. 

Un esempio di task distribuito: la classe di bambini che giocano.

Il concetto di visione locale e sincronizzazione

Definizione degli ingredienti fondamentali di un modello distribuito (Parte I)

 

Cap I del libro di Santoro

 


Materiale didattico

NOTES ON RANDOMIZED DISTRIBUTED PROTOCOLS

GOSSIP MODEL

Informazioni

Anno accademico2018-2019
Crediti9
SettoreINF/01
Anno1
Semestre1
PropedeuticitàNessuna

Programma

 

Il corso ADRC per l'a.a. 2018-19 sarà costituito da due moduli:

 

a) Calcolo Distribuito  (Prof. Clementi)

b) Teoria Algoritmica dei Giochi (Dr. Gualà)

 

 

 

 

Il modulo (a)

presenta i principi fondamentali del calcolo distribuito sia da un punto di vista dei modelli di comunicazione/computazione più importanti che per quanto riguarda i metodi algoritmici fondamentali per tali modelli. 

L'obiettivo formativo e' quello di fornire degli strumenti efficienti e rigorosi per il Problem Solving in cui, rispetto ai corsi algoritmici della triennale, per la prima volta le entità computazionali (agenti)  sono molteplici ed interagenti.
Questo nuovo paradigma offre ottime  basi per progettare  protocolli efficienti per problemi fondamentali ed estremamente attuali nel mondo dei moderni sistemi distribuiti.
Questa parte sarà tenuta del Prof. Clementi e sarà di 6 cfu.
 
Nel modulo (b), il Dr. Gualà tratterà un altro aspetto fondamentale
dei sistemi distribuiti moderni: la presenza di comportamenti egoistici degli agenti di un sistema distribuito. Tale presenza ha portato negli ultimi decenni a sviluppare un'importante teoria:
l'Algorithmic Game Theory. Profondamente ispirata dalla famosa Game Theory (Nash Equilbria), questa teoria viene trattata nel corso per affrontare importanti problematiche nel campo dell'ottimizzazione di reti di comunicazione e di altre applicazioni.

 

 

Qui sotto vengono riportati i  programmi preliminari per i 2 moduli. 
 
Modulo (a):  Algoritmi Distribuiti  
- Modelli di computazione distribuiti: paradigmi, algoritmi, misure di complessità, comunicazione
- Un processo epidemico: Il  Broadcast e l'Information Spreading
- Il problema del Wake-Up
- Il problema dello Spanning Tree
- Il problema del Leader Election
- Il Modello Wireless: il fenomeno delle collisioni
- Il Broadcast su Wireless Networks: protcolli  deterministici e randomizzati
- Modelli e Processi  Distribuiti avanzati in    Network Science  
 
Modulo (b)  Teoria Algoritmica dei Gioghi
 
**** - da inserire *****

 

 


Testi di riferimento

N. Santoro: 

Design and analysis of Distributed Algorithms +  Slides e Note del Docente


Ricevimento studenti

Su appuntamento via email con il Docente:

 

clementi/guala@mat.uniroma2.it

 

 

 

 


Modalità di esame

prova orale