Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoDonato Berti Modificato 10 anni fa
1
Meccanismi one-parameter
2
Riepilogo Archi di un grafo controllati da agenti egoistici Solo lagente 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à!)
3
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
4
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
5
Formulazione F: insieme alberi ricoprenti V (radicati in s) Per ogni T F f(t)= d T (s,v) ||e|| è la molteplicità dellarco e, intesa come numero di cammini ai quali appartiene v V Protocollo multicast: v e (t e,T)= t e f(t) v e (t e,T) problema non utilitario! = t e ||e|| e E(T)
6
Come tratto i problemi non utilitari? …per problemi one-parameter uso i meccanismi one-parameter (OP)
7
Un problema è one-parameter se 1. Linformazione 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
8
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)= Multicast: caso non utilitario
9
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 (esatto) VCG e OP coincidono
10
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))
11
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…
12
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
13
Sia p=p i (r -i,y) - p i (r -i,x) Se M è truthful 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!
14
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))
15
Teorema 2 : Un meccanismo OP (per un problema OP) è veritiero. Dim: Facciamo vedere che lutilità 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
16
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
17
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!
18
Sulla funzione h i (r -i ) Un meccanismo garantisce la volontaria partecipazione (VP) se lutilità 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: Lutilità di un agente che dichiara il vero diventa: u i (t i,g(r)) = w i (r -i,z) dz 0. titi
19
Meccanismi one-parameter: il problema dellalbero dei cammini minimi a sorgente singola
20
Input: un grafo G=(V,E) biconnesso sugli archi, in cui ogni arco corrisponde in modo biunivoco ad un insieme di agenti egoisti, ed un nodo sorgente s V; il tipo di un agente è il costo di utilizzo dellarco (quindi tipo>0); SCF: un albero dei cammini minimi radicato in s in G=(V,E,t). SPT non cooperativo (ogni agente controlla un arco)
21
SPT non utilitario Per ogni albero ricoprente T di G radicato in s, la funzione obiettivo minimizzata dalla SCF è: f(t)= arg min { d T (s,v) = t e ||e|| } Con protocollo multicast : v e (t e,T)= e quindi f(t) arg min v e (t e,T) (problema non utilitario) Ma il problema è one-parameter, in quanto v e (t e,T)= t e w e (T), ove v V e E(T) tete se e E(T) 0 altrimenti 1 se e E(T) 0 altrimenti w e (T)= T F e E
22
Meccanismo one-parameter per lSPT non utilitario M SPT = g(r): dato il grafo e le dichiarazioni, calcola un SPT S G (s) di G=(V,E,r) utilizzando lalgoritmo di Dijkstra. p(x): per ogni arco e E p e =r e w e (r) + w e (r -e,z) dz rere così da garantire la partecipazione volontaria.
23
Truthfulness Osservazione: M SPT è truthful. La truthfulness segue dal fatto che M SPT è un meccanismo OP. Infatti, lalgoritmo di Dijkstra per il calcolo dellSPT è monotono, in quanto il carico di lavoro per un agente a e ha sempre la forma: 1 Ө e : valore soglia Ө e è il valore tale che, fissato r -e : se a e dichiara al più Ө e, allora e è selezionato se a e dichiara più di Ө e, allora e non è selezionato Lalgoritmo del meccanismo è monotono!
24
Sui pagamenti p e =0, se e non è un arco selezionato p e = Ө e, se e è nella soluzione 1 Ө e : valore soglia rere p e = r e w e (r) + w e (r -e,z) dz = r e + Ө e - r e = Ө e rere p e = r e w e (r) + w e (r -e,z) dz = 0+0 = 0 rere rere
25
Sulle soglie Sia e=(u,v) un arco in S G (s) (u più vicino a s che v) e resta in S G (s) finché uso e per raggiungere v Allora, Ө e =d G-e (s,v)-d G (s,u) Esempio 1 1 2 3 2 6 s v u e r e =1 1 2+ε 2 3 2 6 s v u e r e = 2+ε 1 3+ε 2 3 2 6 s v u e r e = 3+ε Ө e = 3
26
Una soluzione banale e=(u,v) S G (s) applichiamo lalgoritmo di Dijkstra al grafo G-e e troviamo d G-e (s,v) Complessità: k=n-1 archi per O(m + n logn): O(mn + n 2 logn) time La soluzione che proponiamo costerà: O(m + n logn) time
27
Definizione di Ө e s d G-e (s,v)= min {d G (s,x)+w(f)+d G (y,v)} f=(x,y) C(e) x y u v e f ove w(f) denota il peso dichiarato per larco f
28
Calcolare d G-e (r,v) (e quindi Ө e ) vuol dire individuare larco f * tale che: Definizione di Ө e f * = arg min {d G (s,x)+w(f)+d G (y,v)} f=(x,y) C(e) = arg min {d G (s,x)+w(f)+d G (y,v)+d G (s,v)} f=(x,y) C(e) Perché d G (s,v) non dipende da f lo chiamo k(f) Osservazione: k(f) è un valore univocamente associato allarco f: vale per tutti gli archi di S G (s) che formano un ciclo con f. = arg min {d G (s,x)+w(f)+d G (s,y)} f=(x,y) C(e)
29
Calcolo delle soglie Costruiamo il transmuter (rispetto a S G (s) ) Eseguiamo lalgoritmo (analisi di sensitività) per il calcolo dei valori up(e) etichettando i nodi pozzo t(f) con i valori k(f) (invece che w(f)) Ogni arco e S G (s) riceverà il suo valore miglior valore k(f * ) Ө e = (k(f * )-d G (s,v)) - d G (s,u) Complessità temporale: O(m (m,n)) d G-e (s,v )
30
Teorema M SPT è calcolabile in tempo O(m + n log n). Dim.: Complessità di g( ٠ ): O(m + n log n) (Dijkstra con Heap di Fibonacci) Calcolare tutti i pagamenti costa: O(m (m,n))=O(m + n log n) perché (m,n) costante quando m= (n log log n) Complessità del meccanismo
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.