Game Theory: Protocolli MAD e Congestion Networks - Ivano Salvo Seminari di Informatica per il Tirocinio Triennale

Pagina creata da Nicola Sartori
 
CONTINUA A LEGGERE
Game Theory: Protocolli MAD e Congestion Networks - Ivano Salvo Seminari di Informatica per il Tirocinio Triennale
Game Theory: Protocolli MAD
  e Congestion Networks

         Ivano Salvo

  Seminari di Informatica per
     il Tirocinio Triennale

     Roma, 29 novembre 2013
Game Theory: Protocolli MAD e Congestion Networks - Ivano Salvo Seminari di Informatica per il Tirocinio Triennale
Interessi di Ricerca
              Metodi Formali
Ieri:
 Teoria dei Tipi (Linguaggi Funzionali e
      Object-Oriented)
 Lambda Calcolo
 Modelli di Programmazione Distribuita

Oggi (prevalentemente):
 Verifica Automatica
Game Theory: Protocolli MAD e Congestion Networks - Ivano Salvo Seminari di Informatica per il Tirocinio Triennale
Parte I:
Teoria dei Giochi
Game Theory: Protocolli MAD e Congestion Networks - Ivano Salvo Seminari di Informatica per il Tirocinio Triennale
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.
Game Theory: Protocolli MAD e Congestion Networks - Ivano Salvo Seminari di Informatica per il Tirocinio Triennale
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”.
Game Theory: Protocolli MAD e Congestion Networks - Ivano Salvo Seminari di Informatica per il Tirocinio Triennale
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.
Game Theory: Protocolli MAD e Congestion Networks - Ivano Salvo Seminari di Informatica per il Tirocinio Triennale
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
Game Theory: Protocolli MAD e Congestion Networks - Ivano Salvo Seminari di Informatica per il Tirocinio Triennale
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.
Game Theory: Protocolli MAD e Congestion Networks - Ivano Salvo Seminari di Informatica per il Tirocinio Triennale
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