Game Theory: Protocolli MAD e Congestion Networks - Ivano Salvo Seminari di Informatica per il Tirocinio Triennale
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Game Theory: Protocolli MAD e Congestion Networks Ivano Salvo Seminari di Informatica per il Tirocinio Triennale Roma, 29 novembre 2013
Interessi di Ricerca Metodi Formali Ieri: Teoria dei Tipi (Linguaggi Funzionali e Object-Oriented) Lambda Calcolo Modelli di Programmazione Distribuita Oggi (prevalentemente): Verifica Automatica
Dilemma del Prigioniero Due criminali complici non possono comunicare (gioco non cooperativo). Entrambi hanno due scelte: confessare o negare. Se solo uno confessa, chi confessa evita la pena, mentre l'altro viene condannato a 5 anni di carcere. Se entrambi confessano, vengono entrambi condannati a 3 anni. Se entrambi negano, vengono entrambi condannati a 1 anno per delitti minori.
Soluzione al dilemma? La Teoria delle Decisioni non può prevedere l’esito del dilemma. non è sufficiente trovare l’ottimo di una funzione; è necessario considerare la decisione simultanea di entrambi i prigionieri. La Teoria delle Decisioni si applica quando è necessario individuare una sola scelta all’interno di uno scenario “costante”.
Razionalità Come deve ragionare ciascun prigioniero? Potrebbero negare sperando che anche l’altro prigioniero neghi. Se giocate a filetto, forza4, scacchi, go o dama, è corretto tendere tranelli, cioè sperare che l’avversario sbagli? La scelta razionale consiste nell’ottimizzare il risultato nelle condizioni peggiori.
Soluzione:Teoria dei Giochi Dilemma del Prigioniero risultato o possibili mosse (strategie) outcome per il player 1 (equilibrio) Player 1 Confessa Nega Player 2 Confessa -3, -3 -5, 0 Nega 0, -5 -1, -1 possibili mosse (strategie) risultato “ottimo” per player 2 per i due giocatori utilità (payoff) per ciascun giocatore dato un profilo
Osservazioni il profilo di strategie di equilibrio (confessa, confessa) dipende ovviamente dalla scelta dei costi (reward/payoff) il gioco è non-cooperativo il risultato atteso del gioco (o equilbrio di Nash) non è ottimo per i due giocatori (price of anarchy). un giocatore razionale scelte una strategia che ottimizza il minimo guadagno garantito.
Un po’ di matematica… Formalmente: sia dato un insieme di giocatori J = {1,…, n} indichiamo con: s = (s1,…,sn) un profilo. si la strategia del player i, mentre s-i indica le strategie degli altri n-1 giocatori. (s’i ,s-i) denota il profilo (s1,…, s’i ,…sn) ui(s) indica il reward/payoff del player i, in corrispondenza del profilo s.
Equilibrio di Nash Un equilibrio di Nash è profilo in cui a nessun giocatore conviene deviare. Definizione: un equilibrio di Nash è un profilo s tale che, per ogni giocatore i e per ogni strategia alternativa si’ del giocatore i ho: ui(s) ≥ ui(si’,s-i).
Significato L’equilibrio di Nash è il risultato atteso di un gioco non cooperativo a informazione completa. Punti deboli: suppone la razionalità dei giocatori; suppone perfetta conoscenza della matrice dei payoffs.
Applicazioni Etologia (es. equilibrio preda/predatore) Politica (es: guerra fredda) Economia (scelta di strategie aziendali)
Strategie Miste Matching Pennies (player 1 vince se coincidono, player 2 se differiscono) Player 1 Pari Dispari Player 2 Pari -1, 1 1, -1 Dispari 1, -1 -1, 1 Nessun punto di equilibrio puro Strategia di equilibrio mista (giocare con probabilità ½ “pari” e con probabilità ½ dispari)
Equilibri Multipli The Battle of Sexes (il marito preferisce andare allo stadio, la moglie al balletto, ma entrambi preferiscono stare insieme) Marito Stadio Balletto Moglie Stadio 1, 2 0, 0 Balletto 0, 0 2, 1 Ci sono due equilibri puri e uno misto Non è chiaro predire quale sia effettivamente il risultato del gioco
Parte II: Protocolli Distribuiti
Protocolli Distribuiti Risolvono un problema attraverso la cooperazione di più agenti senza un’autorità centralizzata Obiettivi: minimizzare il numero di passi, ma anche la quantità di informazione trasmessa Esempi: instradamento messaggi, elezione del leader
Elezione del Leader 31 19 47 Un gruppo di processi deve raggiungere il consenso su chi sia il leader scambiandosi messaggi. Ogni processo ha un certo “valore”.
Protocolli MAD Multiple Administrative Domain = non c’è un’autorità centralizzata gli agenti possono comportarsi in modo egoista (selfish, ossia deviare dal protocollo per i propri interessi) Possono esserci agenti bizantini (modellano guasti o comportamento imprevedibile) Esempi: p2p, file sharing, streaming services
Protocolli MAD: esempio 19 31 19 X 47 49 Qualcuno (per interesse proprio) potrebbe trasmettere un valore sbagliato (selfish) Oppure (per guasti, pigrizia, …) non trasmettere nulla (bizantino)
Verifica di Protocolli Tradizionalmente: si progetta un protocollo siverifica se il protocollo soddisfa alcune proprietà desiderate. Tipicamente: safety (“non ci sono mai due leader contemporaneamente”) liveness (“prima o poi c’è consenso su un unico leader”)
Verifica di protocolli MAD Verificare una proprietà non è sufficiente: occorre verificare che gli utenti eseguano esattamente il protocollo Idea:progettare il protocollo in modo che non sia conveniente deviare dal protocollo proposto (che deve essere quindi un equilibrio di Nash) Verificare formalmente che effettivamente si tratti di un equilibrio di Nash (theorem proving, model checking)
Esempio Protocollo: Streaming broadcast L’automa modella un S0 S1 agente. Il sistema completo è il prodotto di tutti gli automi sleep reset eseguire un broadcast implica un costo si ha un utile solo se una certa percentuale di agenti esegue broadcast gli agenti razionali collaborano: se non ci sono troppi bizantini se qualcuno può punire chi non collabora
Giochi Ripetuti strategia: funzione delle storie (ossia delle sequenze di mosse o cammino " ) funzioni di utilità hi (s, a) dipendono da una storia e dalla prossima mossa scelta discount factor " # (0,1): si suppone ! che l’utilità futura sia meno ! importante di quella presente valore di un cammino per il player i: ! $ v i (" ) = % # t hi (" t , " (t)) t=1
Equilibrio per Giochi Ripetuti valore garantito di una strategia : v i (" ) = min {v i (# ) : # $ " } valore massimo garantito dal gioco: v i = max {v i (" ) : " # Strat i } il protocollo proposto è una specifica ! strategia vogliamo verificare che per ogni player la ! strategia proposta non sia migliorabile: v i " ui (# )
Model Checking Verifica esaustiva su modelli finiti lestorie sono partizionate in un numero finito di stati icammini sono rappresentati dalle transizioni di un automa a stati finiti usodi programmazione dinamica (backward induction)
Esempio 3 B C -1 -3 1 A -3 "= 2 1 D E ! 3 k 3 3 3 # 1 & La strategia verde ha valore "1+ " + "… = ("1) k % ( 2 4 8 $ 2' k 3 3 3 # 1 & La strategia rossa ha valore 1" + " + … = ("1) k +1% ( 2 4 8 $2' Non è possibile verificare ! quale sia migliore analizzando prefissi finiti !
Nash Per valutare al finito se una strategia potenzialmente infinita è un equilibrio si ipotizza i giocatori non sensibili a piccole variazioni un protocollo è un -equilibrio di Nash se per ogni giocatore i: v i " ui (# ) + $
Risultati Verifica di semplici protocolli fino a oltre 20 agenti (anche considerando coalizioni) (tabelle con 1020 profili) Tecnica Basata su model checking implicito Insiemi e Relazioni rappresentate con funzioni booleane Funzioni booleane rappresentate con alberi di decisione (OBDD) Operazioni tra insiemi = manipolazioni di OBDD
Bibliografia F. Mari, I. Melatti, I. Salvo, E. Tronci, L. Alvisi, A. Clement, H. Li: Model Checking Nash Equilibria in MAD Distributed Systems, FMCAD 2008 F. Mari, I. Melatti, I. Salvo, E. Tronci, L. Alvisi, A. Clement, H. Li: Model Checking Coalition Nash Equilibria in MAD Distributed Systems, SSS 2009
Possibili Tirocini Compilativi: studiare dei lavori recenti su Teoria dei Giochi con particolare focus su protocolli distribuiti con ricerca bibliografica. Sperimentali: implementare semplici protocolli con il tool NashMV Ricerca: ripensare l’approccio alla verifica di equilibri di Nash per protocolli distribuiti
Parte III: Congestion Networks
Motivazioni [Cenciarelli, Gorla, Salvo, FCT2009] Fornire un semplice modello formale per il consumo di energia nelle ad hoc networks (usualmente formate da nodi con limitate capacità di energia) obiettivo: formalizzare la dinamica delle reti e l’equivalenza di reti noteremo analogie tra “inefficienze” nel nostro modello e nelle congestion networks
Canali: definizioni un st-graph ha due nodi distinti: s (source) e t (target) uncanale è un st-graph diretto (V, E, ) : V N etichetta ogni nodo con una capacità un flusso ϕ : Path( ) N tale che per ogni nodo v, ϕ(v) ≤ (v) valore di un flusso: ∑p Path( ) ϕ(p) flusso attraverso un nodo: ϕ(v) = ∑v pϕ(v)
Canali: esempi 2 5 5 4 1 2 1 5 5 4 3 3 tutti questi canali possono trasmettere 5 unità di flusso, ma sono traloro equivalenti?
Dinamica dei Canali I se ϕ ha valore n, abbiamo la transizione n dove (v)= (v) ϕ(v) max denota il massimo flusso del canale min denota il minimo flusso inibente del canale , cioè il minimo flusso n tale che n e max = 0
Dinamica dei Canali I1 ( ) ( ) 2 5 5 4 1 4 4 4 una unità di flusso passa lungo i cammini verdi max = max = min = min = 5
Dinamica dei Canali I1I ( ) 2 ( ) 2 5 5 4 4 0 2 3 3 2 2 due unità di flusso passano lungo i cammini verdi max = max = min = 5, ma min = 4
General Trace Equivalence General Traces: ‹n1, n2, …, nk› è una traccia per se posso avere le transizioni: n1 n2 2… nk 1 k Def: due canali sono general trace equivalent se hanno lo stesso insieme di general traces. Teorema: Due chanali sono general trace equivalent se hanno lo stesso flusso massimo
Trace Equivalence Complete Traces: ‹n1, n2, …, nk› sono tracce complete per se posso avere le transizioni n1 n2 e 2… k is dead nk 1 k Def: due canali sono trace equivalent se hanno lo stesso insieme di tracce complete. Teorema: Due canali sono trace equivalent se hanno lo stesso flusso massimo e lo stesso minimo flusso inibente.
Dinamica dei Canali IV ( ) 2 ( ) 2 5 5 4 4 e sono general trace equivalent, dato che hannolo stesso massimo flusso e non sono trace equivalent, dato chemin = 4 ma min = 5
Inefficienze Un canale tale che min < max è, in qualche senso, inefficiente 2 5 ✖ 4 rimuovendo un arco, le sue performances “migliorano”: la rete non può più essere “uccisa” con un flusso di valore 4
Selfish Routing: Braess’s Paradox [Roughgarden, JCSS’06] [Braess, 1956] x 1 0 1 x Grafo di Wheatstone l’equilbrio di Nash di un flusso di valore 1 ha latenza 2
Grafo di Wheatstone: sottografo “ottimo” x ½ 1 1 x ½ l’equilibrio di Nash di un flusso di valore 1 ha latenza 3/2
Formalmente… una congestion network è un grafo diretto un flusso è una funzione ϕ : Path( ) R dato un flusso di valore r, ϕ è feasible se ∑p Path( ) ϕ(p) = r per ogni arco e, c’è una funzione di latenza le che depende dal flusso ϕe sull’arco e (il flusso indotto dai cammini sull’arco) la latenza di un cammino p è la somma delle latenze sugli archi del cammino: ∑e p le (ϕe)
Equilibrio di Nash Un flusso ϕ in una rete G di latenza l feasible per r è in equilibrio di Nash se per ogni coppia di cammini p,q e (0, ϕp] lp(ϕ) ≤ lq ( ) dove: (p) = ϕ(p)- (q) = ϕ(q)+ e (c) = ϕ(c) per c≠p,q Thm: ϕ è all’equilibrio di Nash se per ogni p,q tale che ϕ(p) > 0, allora lp (ϕ) ≤ lq(ϕ). Cor: In particolare, se ϕ(p), ϕ(q)>0, allora lp(ϕ) = lq(ϕ).
Weak vs. Vulnerable I unst-graph G è weak se min < max per un qualche canale sul grafo G. un st-graph G è vulnerable se esistono un flusso di valoree r e una funzione di latenza l tale che (G,r,l) soffre del paradosso di Braess. Domanda: qual è la relazione tra weakness e vulnerability?
Charatterizzazione dei Grafi Deboli Un cut è un insieme minimale di nodi T tale che tutti i cammini da source a target passano per almeno un nodo di T. Teorema: un grafo è weak se e solo se esiste un cut T e un cammino diretto a b con a, b T
Caratterizzazione dei Grafi Vulnerabile [Milchtaich, 2006] Un grafo serie-parallelo è: un singolo arco (s,t) la composizione seriale di due grafi serie-paralleli la composizione seriale di due grafi serie-paralleli Thm: Un grafo non diretto è vulnerabile sse non è serie-parallelo. Thm: Un grafo non diretto è vulnerabile sse non contiene il grafo di Weathstone come sottografo. Abbiamo esteso questo resultato ai grafi diretti
Weak vs. Vulnerable II weak vulnerable Il viceversa è falso. Controesempio: ( ) m p 0 1 x 0 2 n q 1 x 0 può essere uccisa solo con un Soffre del paradosso flusso di valore min{m+n, p+q} di Braess max = min = min{m+n, p+q} vulnerable non weak
Weak vs. Vulnerable III Le funzioni di latenza sono più generali delle capacità sui nodi. assegnando una latenza sufficientemente grande a un arco è equivalente a rimuoverlo Teorema: Un grafo è vulnerable se e solo se contiene un sottografo weak
Per divertimento: Altre inefficienze… I [Milchtaich, 2006] 1 1+x 1 1+x x x x x Equilibrio di Nash di un flusso di valore 1, latenza 4
Per divertimento: Altre inefficienze… II ½ 1 1+x 1 1+x x x x x ½ Instradamento ottimo per un flusso di valore 1, latenza 7/2
Bibliografia D. Gorla, P. Cenciarelli, I. Salvo: Depletable Channels: Dynamics and Behaviour, FCT 2009 D. Gorla, P. Cenciarelli, I. Salvo: On Different Forms of Inefficiency in Network Design, ICTCS 2013
Possibili Tirocini Compilativi: studiare dei lavori recenti su problemi relativi alle congestion networks Ricerca: algoritmi distribuiti per il massimo flusso in reti non weak
Grazie dell’attentione … domande?
Puoi anche leggere