Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks Antonio Caruso Università degli studi di Lecce Antonio Caruso – 2006 Game Theory and Networking Wireless Multi-Hop Ad Hoc Networks • Considerate un insieme di computer mobili, autonomi, alimentati da batterie, es. palmari, portatili, smart phones. • Se i nodi sono dotati di interfaccia wireless (una radio), essi possono formare una rete wireless ad hoc. • Non esistono unità specializzate (Access Point) per svolgere il compito di inoltro dei pachetti (routing). I nodi cooperano tra loro per inoltrare i pachetti (svolgono anche il ruolo di router). Antonio Caruso – 2006 Game Theory and Networking Vantaggi delle reti Ad Hoc. • Sistema completamente distribuito: nessun punto di centralizzazione. • Creazione, configurazione e utilizzo della rete immediati. • Rete peer-to-peer: robustezza, tolleranza a eventuali guasti. Antonio Caruso – 2006 Game Theory and Networking Problematiche • Controllo distribuito • I nodi devono cooperare con i vicini • Ma il loro movimento rende complicata la cooperazione (la rete è fortemente dinamica) • I nodi possono essere di diverso tipo da microsensori a veri e propri PC portatili. Antonio Caruso – 2006 Game Theory and Networking Applicazioni delle reti Wireless Ad Hoc • Comunicazioni in ambienti ostili: scenari militari. • Gestione delle emergenze: applicazioni di sicurezza in ambito civile. • Installazioni commerciali: ampliamento della copertura delle reti wireless tradizionali, e miglior uso della banda. • Reti di Sensori, per il monitoraggio dell’ambiente esterno. Antonio Caruso – 2006 Game Theory and Networking Multi-Hop Wireless Ad-Hoc Networks • La potenza della radio è limitata: Ogni nodo può comunicare solo con i suoi vicini entro una certa distanza. Obstacle • La comunicazione con altri nodi richiede cooperazione da parte di vicini (servizio di inoltro - routing). • I protocolli di inoltro dei pachetti sviluppati per reti fisse (Internet), non sono adatti a questo nuovo tipo di reti. Antonio Caruso – 2006 Game Theory and Networking Protocolli per il Routing • Sono stati sviluppati molti protocolli per risolvere il problema del routing dei pacchetti. • In questo talk vogliamo evidenziare che: Una rete ad-hoc può essere vista come una rete di Agenti Autonomi. • Normalmente gli Informatici assumono che gli agenti siano obbedienti: essi eseguono correttamente e spontaneamente i protocolli sviluppati. • In alcuni casi è prevista l’esistenza di avversari che giocano contro il sistema. Per esempio nell’analisi della sicurezza dei protocolli. Antonio Caruso – 2006 Game Theory and Networking Agenti Strategici, Teoria dei Giochi. • Gli economisti modellano i sistemi multi-agenti attraverso l’idea del comportamento strategico. • Teoria dei Gioci: i giocatori sono razionali e egoisti, scelgono in modo da massimizzire la loro utilità. • Non è quindi detto che eseguano correttamente un certo algoritmo, ma possono essere incentivati a farlo. • L’uso della teoria dei giochi non è una novità: l’aspetto importante è lo sviluppo di meccanismi di incentivazione, o mechanism design. Antonio Caruso – 2006 Game Theory and Networking Cooperative Routing in Ad Hoc Networks • In alcuni scenari, i nodi della rete sono gestiti da un unica autorità, o i gestori sono disposti a cooperare. • In molti altri, la cooperazione nell’eseguire un certo protocollo non è scontata. • Il comportamento egoistico (selfish) è nel caso delle reti ad-hoc distruttivo. l’Egoismo infatti impatta proprio il servizio più importante per l’esistenza della rete: la disponibilità dei nodi di inoltrare pacchetti per conto terzi. Antonio Caruso – 2006 Game Theory and Networking Cooperazione e Inoltro dei pacchetti v w u z Antonio Caruso – 2006 Game Theory and Networking Meccanismi per la Cooperazione • Il modo più semplice per stimolare la cooperazione nell’ipotesi di agenti razionali è usare incentivi. • Si possono usare due forme diverse: Sistemi di Reputazione o Trasferimenti di Denaro Antonio Caruso – 2006 Game Theory and Networking La propria reputazione è importante • In questi sistemi ogni nodo controlla il comportamento dei suoi partner. • Se scopre che un altro nodo non segue il protocollo viene etichettato come “cattivo” e questa sua opinione viene propagata nella rete. • Questo porterà all’esclusione del nodo da parte del resto della rete. • Ma allora l’interesse di ogni nodo a deviare dal protocollo sarà tanto inferiore quanto più è elevato il rischio di essere escluso dalla rete. Antonio Caruso – 2006 Game Theory and Networking Trasferimento di risorse (Denaro) • Un nodo che vuole spedire un pacchetto deve pagare una certa quantità di denaro (virtual money) per ricevere il servizio di inoltro dai suoi vicini. • Il mittente è disposto a pagare in funzione della sua necessità a spedire pacchetti verso altri nodi. • I nodi intermedi sono invogliati a fornire il servizio di inoltro perchè il denaro ricevuto potrà essere usato da loro per inoltrare i loro pacchetti. Antonio Caruso – 2006 Game Theory and Networking Scenario di utilizzo Antonio Caruso – 2006 Game Theory and Networking Modellazione del Gioco (1) • Esistono tre ruoli per i nodi: il mittente (S), il destinatario (D) e gli intermediari. • Il mittente S ha come informazione privata il suo desiderio di spedire o meno pacchetti. In termini monetari, pagherà un prezzo m per pacchetto. • Per comunicare con il destinatario D, dovrà pagare un prezzo di mercato pS(D). La funzione d’utilità del mittente è pertanto: u(S) = m - pS(D) • Se non può essere stabilita alcuna connessione l’utilità è zero. Antonio Caruso – 2006 Game Theory and Networking Modellazione del Gioco (2) • Consideriamo un nodo intermedio arbitrario v. L’informazione privata del nodo, è la sua disponibilità a inoltrare pacchetti per altri nodi. • Può essere modellata come un costo Cv che terra conto di molti fattori: il livello della batteria, l’uso da parte di v della rete per se stesso, etc. • La funzione di utilità di un nodo intemedio sarà: u(V) = Pay(v) - Cv • Dove Pay(v) è il denaro ricevuto da v per il servizio. Se v non partecipa e non offre servizi u(v) = 0. Antonio Caruso – 2006 Game Theory and Networking Modellazione del Gioco (3) • Il destinatario D, non è parte del gioco, in quanto si assume che l’access point sia gestito da un service provider che ha interesse a fornire un servizio equo. • Egli svolge il ruolo di arbitro del sistema, calcola il percorso da S a D ottimale, il pagamento che S deve effettuare e i premi per i nodi intermedi. • Lo scopo dei nodi è massimizzare le loro funzioni di utilità, il comportamento è modellato attraverso un insieme di strategie che i nodi possono adottare. • Una delle strategie possibili è proprio seguire il protocollo, dichiarare correttamente i loro prezzi/costi e spedire/inoltrare i pacchetti dati e di controllo, tale strategia è detta: True Telling Antonio Caruso – 2006 Game Theory and Networking Il routing è la nostra funzione sociale • L’obiettivo di chi sviluppa il protocollo è sviluppare un meccanismo di incentivi che massimizzi sia una certa funzione sociale SIA l’utilità dei nodi. • Nel caso studiato, vogliamo che i nodi partecipino effettivamente alla rete, ma che paghino il minimo possibile per avere/fornire servizi tra essi. • Informalmente vogliamo che sia qualcosa del tipo: “stabilisci la comunicazione tra S e D usando il percorso più efficiente”. • Il problema del Mechanism Design è una specie di problema di reverse engineering: trovare i giusti incentivi (pagamenti) in modo che la funzione sociale venga massimizzata attraverso il comportamento egoistico dei nodi. Antonio Caruso – 2006 Game Theory and Networking Strategy Proof Mechanism • Un modo per arrivare all’obiettivo è focalizzare l’attenzione sulle strategie dominanti. • Una strategia è dominante se massimizza la funzione di utilità di un giocatore indipendentemente dalle strategie usate dagli altri. • Cercheremo delle regole del gioco in modo che il True Telling sia una strategia dominante del gioco. • Un meccanismo che soddisfa la condizione sopra si dice truthful o incentive compatible o strategy proof. • E’ una condizione forte sul gioco, i giocatori non hanno interesse a deviare dalla strategia true-telling. Antonio Caruso – 2006 Game Theory and Networking Razionalità Individuale • Un altra condizione che deve essere soddisfatta dal meccanismo del gioco è la razionalità individuale (individual rationality). • Un nodo ha convenienza a partecipare al gioco. • Questa condizione è soddisfatta se la sua funzione di utilità è maggiore di zero. Non Consideriamo • Collusione tra nodi per massimizzare in modo congiunto le proprie utilità. • Comportamenti malevoli: quindi anche non-razionali. Antonio Caruso – 2006 Game Theory and Networking AdHoc-VCG (Anderegg & Heidenbenz,2003) • Protocollo di routing con le seguenti caratteristiche: – trova i percorsi tra S e D – spedisce i pachetti lungo il percorso di costo minimo – provato formalmente essere strategy proof e individualmente razionale (ma tranne per S.). – basato su VCG (meccanismo Vickrey-Clarke-Groves) • Basato sulla seguente idea: 1) quando S vuole spedire un pacchetto (connettersi con l’AP nel nostro scenario) inizia una fase di ricerca di percorsi fornendo l’identità del destinatario (AP nello scenario). 2) Alla fine di 1, S riceve un percorso P e un costo associato. Il prezzo p>=costo(P) pagato da S viene diviso tra i nodi che sono sul percoso P con regole predefinite. Antonio Caruso – 2006 Game Theory and Networking AdHoc-VCG (Anderegg & Heidenbenz,2003) • Problemi: usa costi per ogni arco, e O(n3) messaggi. • Il mittente viene considerato non necessariamente razionale ma comunque partecipante al gioco, ipotesi forte e quasi sempre false (falsa proprio nel nostro scenario). • Si suppone che finita la fase di ricerca il mittente sia sempre disponibile a pagare per ogni pacchetto il corretto importo. • Ma nello scenario mostrato, significa che il mittente se vuole spedire è costretto a accettare un costo per lui ignoto e non limitabile a priori. (Partecipareste?) Antonio Caruso – 2006 Game Theory and Networking COMMIT (Eidenberg, 2005) • Questo protocollo oltre al routing risolve anche un altro problema (Topology Control o Controllo della Topologia) cioè decide il livello di potenza usato da ogni nodo nell’uso della radio (serve per ottimizzare i consumi ma anche l’uso dello spettro). • Usa i pesi sui nodi e riduce il numero di messaggi a O(n2) ( = grado massimo = O(1)). • Sopratutto risolve il secondo problema: non fa assunzioni sul mittente. E’ truthful e individually rational per il mittente. Antonio Caruso – 2006 Game Theory and Networking COMMIT Protocol • Se S vuole spedire un pacchetto: fare una “richiesta di connessione” specificando il massimo prezzo MAXP che si è disposti a pagare. • Se esiste un percorso di costo minore del prezzo specificato da S, S è obbligato a accettare quel percorso: se un altro percorso di costo minore potrebbe essere formato lui non può rifiutare comunque un offerta al prezzo MAXP. • Se il prezzo è superiore S può rifiutare. In questo modo chi spedisce ha una garanzia di non spendere più di quanto preventivato. • I dettagli sono simili a Ad-Hoc VCG Antonio Caruso – 2006 Game Theory and Networking Prezzi in VCG • Sia c(P) è il costo di un percorso tra (S,D) • MP il Percoso di costo Minimo. Percorso di Rimpiazzo per un nodo v Per ogni v != S, D in MP, P-v è un percorso ottimo tra (S,D) che non include v, e c(P-v) è il suo costo. Il prezzo che v deve pagare è definito come: Prezzo(v) = c(P-v) – c(MP) + cv dove cv è il costo di inoltro dichiarato da v. Se un nodo non è sul percorso minimo, il prezzo è 0. Antonio Caruso – 2006 Game Theory and Networking Esempio •MP = { S, u, v, z, D }. costo = 15+19+12 = 46. pagamenti con VCG: • Prezzo(u) = c(P-u) – 46 + cu = 53-46+15 = 22 • Prezzo(v) = c(P-v) – 46 + cv = 48-46+19 = 21 • Prezzo(z) = c(P-z) – 46 + cz = 48-46+12 = 14. Quindi 22+21+14=57>46 20 15 18 D 15 S u 12 19 v Antonio Caruso – 2006 Game Theory and Networking z Il costo della cooperazione • Abbiamo visto che con un meccanismo VCG, il costo pagato per il servizio (57) è superiore al costo reale (46). • Nella teoria dei giochi è dimostrato (sotto assunzioni ragionevoli) che questo è intrinseco ad ogni schema VCG, che sia strategy proof e con razionalità individuale. • E’ dovuto alla necessità di invogliare i nodi che forniscono il servizio di inoltro, pagando un surplus rispetto al costo dichiarato. • Il surplus (57-46) è detto “costo della cooperazione”. Antonio Caruso – 2006 Game Theory and Networking Prezzi in COMMIT • In COMMIT anche il mittente prende parte al gioco. Il prezzo pagato dal mittente Cs(D) potrebbe essere definito come in VCG = Somma dei prezzi dei nodi sul percorso da S a D. E’ interpretabile come regola di decisione nell’attivare il percorso (Se Cs(D)>m, viene rifiutato). • Non va bene!. I nodi nel percorso minimo possono strategicamente incrementare il loro guadagno riportando costi più alti. • Esempio con m=56: non ci dovrebbe essere comunicazione poichè il costo è 57. Se z dichiara 13 invece di 12-> (MP = 47) e il costo del percorso scende a 55 < 56 e viene attivato. z incrementa la sua utilità da 0 a 2 dichiarando il falso. Antonio Caruso – 2006 Game Theory and Networking COMMIT Costo corretto per il mittente: Dato il percorso di costo minimo MP tra S e D, P-MP è un percorso di costo minimo tra S e D che esclude tutti i nodi di MP tranne (S,D). cs(D) = c(P-MP) Evita il comportamento strategico da parte di qualche nodo sul percorso. I nodi che forniscono il servizio di inoltro non possono portare il costo del percorso sotto m. Aumenta il costo di cooperazione. Potrebbe essere pagato in parte dall’AP per invogliare i mittenti. Antonio Caruso – 2006 Game Theory and Networking Ricapitolazione COMMIT è formalmente: • Cost Efficiency: Se i nodi scelgono true-telling, COMMIT trova i percorsi di costo minimo. • Basso numero di messaggi. O(n2) Per il mittente e per i nodi che inoltrano i pacchetti: • Truthfulness: true-telling è una strategia dominante • Individual rationality: l’utility è sempre >=0, i nodi partecipano razionalmente al gioco. Antonio Caruso – 2006 Game Theory and Networking