La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Meccanismi one-parameter. Riepilogo Archi di un grafo controllati da agenti egoistici Solo lagente conosce il peso associato al proprio arco Obiettivo:

Presentazioni simili


Presentazione sul tema: "Meccanismi one-parameter. Riepilogo Archi di un grafo controllati da agenti egoistici Solo lagente conosce il peso associato al proprio arco Obiettivo:"— Transcript della presentazione:

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

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

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 s v u e r e =1 1 2+ε s v u e r e = 2+ε 1 3+ε 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


Scaricare ppt "Meccanismi one-parameter. Riepilogo Archi di un grafo controllati da agenti egoistici Solo lagente conosce il peso associato al proprio arco Obiettivo:"

Presentazioni simili


Annunci Google