distributed algorithmic mechanical design: applications to wireless ad hoc networks

30
Antonio Caruso – 2006 Game Theory and Networking Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks Antonio Caruso Università degli studi di Lecce

Upload: catori

Post on 14-Jan-2016

52 views

Category:

Documents


0 download

DESCRIPTION

Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks. Antonio Caruso Università degli studi di Lecce. Considerate un insieme di computer mobili, autonomi, alimentati da batterie, es. palmari, portatili, smart phones. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

Antonio Caruso – 2006 Game Theory and Networking

Distributed Algorithmic Mechanical Design:

Applications to Wireless Ad Hoc Networks

Antonio CarusoUniversità degli studi di Lecce

Page 2: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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).

Page 3: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.

Page 4: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.

Page 5: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.

Page 6: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

Antonio Caruso – 2006 Game Theory and Networking

Multi-Hop Wireless Ad-Hoc Networks

Obstacle

• La potenza della radioè limitata:Ogni nodo puòcomunicare solo con i suoi vicini entro una certa distanza.

• 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.

Page 7: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.

Page 8: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.

Page 9: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.

Page 10: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

Antonio Caruso – 2006 Game Theory and Networking

Cooperazione e Inoltro dei pacchetti

u

w

v

z

Page 11: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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

Page 12: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.

Page 13: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.

Page 14: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

Antonio Caruso – 2006 Game Theory and Networking

Scenario di utilizzo

Page 15: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.

Page 16: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.

Page 17: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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

Page 18: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.

Page 19: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.

Page 20: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.

Page 21: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.

Page 22: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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?)

Page 23: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.

Page 24: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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

Page 25: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.

Page 26: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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

S

D

uv

z15 19 12

15

18

20

Page 27: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

Antonio Caruso – 2006 Game Theory and Networking

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”.

Page 28: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.

Page 29: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.

Page 30: Distributed Algorithmic Mechanical Design: Applications to Wireless Ad Hoc Networks

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.