Meccanismi one-parameter
Riepilogo Archi di un grafo controllati da agenti egoistici Solo l’agente conosce il peso associato al proprio arco Obiettivo: calcolare una “buona” soluzione di un certo problema di ottimizzazione rispetto a pesi reali Strumento: progettazione di un meccanismo truthful (pagamento opportuno degli agenti per convincerli a dire la verità!)
Tecniche note Un problema è utilitario quando: f(t)= i v i (t i,o) Meccanismi VCG (pivotal) Validi per problemi utilitari (es., MST e SP) g(r) arg min { i v i (r i,o) } p i (x=g(r)) = j i v j (r j,g(r -i )) - j i v j (r j,g(r)) o F
SPT non cooperativo Problema: broadcasting una sorgente s vuole spedire un messaggio ai nodi V\{s} Informazione posseduta dagli agenti: tempo di attraversamento dei link Obiettivo: minimizzare il tempo di consegna di ogni messaggio
Formulazione F: insieme alberi ricoprenti V (radicati in s) Per ogni T F f(t)= d T (s,v) ||e|| è la molteplicità dell’arco e, intesa come numero di cammini ai quali appartiene v V Protocollo unicast: v e (t e,T)= t e f(t) v e (t e,T) problema non utilitario! = t e ||e|| e E(T)
Come tratto i problemi non utilitari? …per problemi one-parameter uso i meccanismi one-parameter (OP)
Un problema è one-parameter se 1. L’informazione posseduta da ogni agente a i è un singolo parametro t i 2. La valutazione di a i ha la forma v i (t i,o)= t i w i (o), w i (o): carico di lavoro per a i in o
SPT non cooperativo (ogni agente controlla un arco) F: insieme alberi ricoprenti V (radicati in s) Per ogni T F f(t)= d T (s,v) = t e ||e|| v e (t e,T)= v e (t e,T)= t e w e (T) v V e E(T) tete se e E(T) 0 altrimenti 1 se e E(T) 0 altrimenti w e (T)= Unicast: caso non utilitario
VCG vs OP Meccanismi VCG: valutazioni (costi) e tipi arbitrari ma problemi utilitari Meccanismi OP: funzione di scelta sociale arbitraria ma tipi a singolo- parametro e valutazioni vincolate Se un problema è utilitario e one- parameter meccanismo VCG e OP coincidono
Una proprietà interessante Un algoritmo g() per un problema OP di minimizzazione è monotono se agente a i, w i (g(r -i,r i )) è non crescente rispetto a r i, per tutti gli r -i =(r 1,…,r i- 1,r i+1,…,r N ) Definizione Notazione Scriveremo w i (r) al posto di w i (g(r))
Teorema 1 Condizione necessaria affinché un meccanismo M= per un problema OP sia veritiero è che g(r) sia monotono. Dim (per assurdo) Supponiamo g() non monotono, e… …facciamo vedere che nessuno schema di pagamento può rendere M veritiero Se g( ٠ ) è non monotono esiste un agente a i e un vettore r -i tale che w i (r -i,r i ) è non “non crescente”…
1. Se t i =x e r i =t i v i (t i,o)=x w i (r -i,x) 2. Se t i =y e r i =t i v i (t i,o)=y w i (r -i,y) 3. Se t i =x e r i =y a i aumenta il suo costo di A 4. Se t i =y e r i =x a i ha un risparmio di A+k Ak xy w i (r -i,y) w i (r -i,x) w i (r -i,r i ) riri Dim (continua) costo per a i caso 3 costo per a i caso 4
Sia ∆p=p i (r -i,y) - p i (r -i,x) Se M è veritiero deve essere: ∆p A (altrimente quando t i =x, a i dichiara y, in quanto in tal caso il suo costo aumenta di A, e quindi se ∆p>A, la sua utilità aumenta!) ∆p ≥ A+k (altrimenti quando t i =y, a i dichiara x, in quanto in tal caso il suo costo diminuisce di A+k, e quindi se ∆p<A+k, ciò significa che il decremento nel pagamento è minore del decremento del costo, ovvero la sua utilità aumenta!) … ma k è strettamente positivo! Ak xy w i (r -i,y) w i (r -i,x) w i (r -i,r i ) riri Dim (continua) Assurdo: g( ٠ ) deve essere monotono!
Meccanismi one-parameter (OP) g(r): qualsiasi algoritmo monotono che risolva in modo ottimo il problema OP soggiacente p i (g(r)) = h i (r -i ) + r i w i (r) - ∫ w i (r -i,z) dz 0 riri h i (r -i ): funzione arbitraria indipendente da r i Scriveremo p i (r) al posto di p i (g(r))
Teorema 2 : Un meccanismo OP (per un problema OP) è veritiero. Dim: Facciamo vedere che l’utilità di un agente a i può solo decrescere se a i mente Siano r -i le dichiarazioni degli altri agenti Il pagamento fornito ad a i (quando dichiara r i ) è: p i (r) = h i (r -i ) + r i w i (r) - ∫ w i (r -i,z) dz 0 riri Ininfluente perché indipendente da r i pongo h i (r -i )=0
u i (t i,g(r -i,t i ))= p i (g(r -i,t i ))-v i (t i, g(r -i,t i ))= t i w i (g(r -i,t i ))-∫ w i (r -i,z) dz- t i w i (g(r -i,t i )) = -∫ w i (r -i,z) dz Se a i dichiara x>t i : La valutazione diventa: C = t i w i (r -i,x) il pagamento diventa: P= x w i (r -i,x) - ∫ w i (r -i,z) dz a i sta perdendo G Dim (continua) titi w i (r -i,t i ) x w i (r -i,x) 0 titi C 0 x 0 titi G P
u i (t i,(r -i,t i ))= - ∫ w i (r -i,z) dz Se a i dichiara x<t i La valutazione diventa C il pagamento diventa P a i sta perdendo G Dim (continua) titi w i (r -i,t i ) 0 titi G C P x w i (r -i,x) a i non ha convenienza a mentire!
Sulla funzione h i (r -i ) Un meccanismo garantisce la volontaria partecipazione (VP) se l’utilità di un qualsiasi agente (che dichiara il vero) ha sempre un utile non negativo Ma il pagamento di a i quando dichiara r i è: p i (r) = h i (r -i ) + r i w i (r) - ∫ w i (r -i,z) dz 0 riri Se scegliamo la costante h i (r -i )= ∫ w i (r -i,z) dz, 0 ∞ p i (r) = r i w i (r) + ∫ w i (r -i,z) dz riri ∞ il pagamento diventa: L’utilità di un agente che dichiara il vero diventa: u i (t i,g(r)) = ∫ w i (r -i,z) dz ≥ 0. titi ∞