1 / 30

Meccanismi one-parameter

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

Download Presentation

Meccanismi one-parameter

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Meccanismi one-parameter

  2. 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à!)

  3. Tecniche note Meccanismi VCG (pivotal) Validi per problemi utilitari (es., MST e SP) Un problema è utilitario quando: f(t)=ivi(ti,o) g(r)  arg min {ivi(ri,o)} o  F pi(x=g(r)) =j ivj(rj,g(r-i)) - j ivj(rj,g(r))

  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)=  dT(s,v) • ||e|| è la molteplicità dell’arco e, intesa come numero di cammini ai quali appartiene =  te ||e|| eE(T) v  V ve(te,T)= te Protocollo multicast:  f(t)  ve(te,T) problema non utilitario! 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 • L’informazione posseduta da ogni agente ai è un singolo parametro ti • La valutazione di ai ha la forma vi(ti,o)= ti wi(o), wi(o): carico dilavoro per ai 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)=  dT(s,v) =  te ||e|| • ve(te,T)= • ve(te,T)= te we(T) eE(T) v  V te se e  E(T) Multicast: caso non utilitario 0 altrimenti 1 se e  E(T) we(T)= altrimenti 0

  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 Definizione Un algoritmo g() per un problema OP di minimizzazione è monotono se  agente ai, wi(g(r-i,ri)) è non crescente rispetto a ri, per tutti gli r-i=(r1,…,ri-1,ri+1,…,rN) Notazione Scriveremo wi(r) al posto di wi(g(r))

  11. Teorema 1 Condizione necessaria affinché un meccanismo M=<g(r),p(r)> 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 ai e un vettore r-i tale che wi(r-i,ri) è non “non crescente”…

  12. Dim (continua) • Se ti=x e ri=ti vi(ti,o)=x wi(r-i,x) • Se ti=y e ri=ti vi(ti,o)=y wi(r-i,y) • Se ti=x e ri=y  ai aumenta il suo costo di A • Se ti=y e ri=x  ai ha un risparmio di A+k wi(r-i,ri) wi(r-i,y) A k wi(r-i,x) costo per ai caso 3 costo per ai caso 4 ri x y

  13. Dim (continua) • Sia ∆p=pi(r-i,y) - pi(r-i,x) • Se M è truthful deve essere: • ∆p A (altrimente quando ti=x, ai 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 ti=y, ai 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! Assurdo: g(٠) deve essere monotono! wi(r-i,ri) wi(r-i,y) A k wi(r-i,x) ri x y

  14. Meccanismi one-parameter (OP) • g(r): qualsiasi algoritmo monotono che risolva in modo ottimo il problema OP soggiacente ri • pi(g(r)) =hi(r-i) + ri wi(r) - ∫ wi(r-i,z) dz 0 hi(r-i): funzione arbitraria indipendente da ri Scriveremo pi(r) al posto di pi(g(r))

  15. Teorema 2: Un meccanismo OP (per un problema OP) è veritiero. Dim: Facciamo vedere che l’utilità di un agente ai può solo decrescere se ai mente Siano r-i le dichiarazioni degli altri agenti Il pagamento fornito ad ai (quando dichiara ri) è: ri pi(r) =hi(r-i) + ri wi(r) - ∫ wi(r-i,z) dz 0 Ininfluente perché indipendente da ri pongo hi(r-i)=0

  16. wi(r-i,x) x Dim (continua) ti ti • ui(ti,g(r-i,ti))= pi(g(r-i,ti))-vi(ti, g(r-i,ti))= tiwi(g(r-i,ti))-∫ wi(r-i,z) dz- tiwi(g(r-i,ti)) =-∫ wi(r-i,z) dz • Se ai dichiara x>ti: • La valutazione diventa: C= tiwi(r-i,x) • il pagamento diventa: P= xwi(r-i,x) - ∫ wi(r-i,z) dz  ai sta perdendo G 0 0 x 0 wi(r-i,ti) P G C ti

  17. Dim (continua) ti 0 • ui(ti,(r-i,ti))= - ∫ wi(r-i,z) dz • Se ai dichiara x<ti • La valutazione diventa C • il pagamento diventa P  ai sta perdendo G ai non ha convenienza a mentire! P G wi(r-i,x) wi(r-i,ti) C x ti

  18. Sulla funzione hi(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 ai quando dichiara ri è: ri pi(r) =hi(r-i)+ ri wi(r) -∫ wi(r-i,z) dz 0 ∞ ∫ wi(r-i,z) dz, Se scegliamo la costante hi(r-i)= 0 ∞ pi(r) =ri wi(r) + ∫ wi(r-i,z) dz il pagamento diventa: ri  L’utilità di un agente che dichiara il vero diventa: ∞ ui(ti,g(r)) =∫ wi(r-i,z) dz ≥ 0. ti

  19. Meccanismi one-parameter: il problema dell’albero dei cammini minimi a sorgente singola

  20. SPT non cooperativo(ogni agente controlla un arco) • 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 dell’arco (quindi tipo>0); • SCF: un albero dei cammini minimi radicato in s in G=(V,E,t).

  21. se e  E(T) 1 we(T)= altrimenti 0 SPT non utilitario • Per ogni albero ricoprente T di G radicato in s, la funzione obiettivo minimizzata dalla SCF è: f(t)= arg min {  dT(s,v) =  te ||e||} • Con protocollo multicast : ve(te,T)= e quindi f(t)  arg min  ve(te,T) (problema non utilitario) • Ma il problema è one-parameter, in quanto ve(te,T)= te we(T), ove TF eE(T) v  V te se e  E(T) altrimenti 0 eE TF

  22. Meccanismo one-parameterper l’SPT non utilitario • MSPT= <g(r), p(x=g(r))> • g(r): dato il grafo e le dichiarazioni, calcola un SPT SG(s) di G=(V,E,r) utilizzando l’algoritmo di Dijkstra. • p(x): per ogni arco e  E ∞ pe=re we(r) +∫we(r-e,z) dz re così da garantire la partecipazione volontaria.

  23. Truthfulness Osservazione: MSPT è truthful. La truthfulness segue dal fatto che MSPT è un meccanismo OP. Infatti, l’algoritmo di Dijkstra per il calcolo dell’SPT è monotono, in quanto il carico di lavoro per un agente ae ha sempre la forma: L’algoritmo del meccanismo è monotono! 1 Өe : valore soglia Өe è il valore tale che, fissato r-e: se ae dichiara al più Өe, allora e è selezionato se ae dichiara più di Өe, allora e non è selezionato

  24. Sui pagamenti • pe=0, se e non è un arco selezionato • pe= Өe, se e è nella soluzione 1 Өe : valore soglia re re ∞ pe=re we(r) + ∫ we(r-e,z) dz = 0+0 = 0 re ∞ pe=re we(r) + ∫ we(r-e,z) dz = re + Өe -re = Өe re

  25. Sulle soglie Sia e=(u,v) un arco in SG(s) (u più vicino a s che v) • e resta in SG(s) finché uso e per raggiungere v • Allora, Өe=dG-e(s,v)-dG(s,u) Esempio re=1 re= 2+ε re= 3+ε s s s 1 1 1 Өe = 3 u u u 2 2 2 e e e 1 2+ε 3+ε 6 6 6 v v v 2 2 2 3 3 3

  26. Una soluzione banale e=(u,v) SG(s) applichiamo l’algoritmo di Dijkstra al grafo G-e e troviamo dG-e(s,v) Complessità: k=n-1 archi per O(m + n logn): O(mn + n2 logn) time La soluzione che proponiamo costerà: O(m + n logn) time

  27. Definizione di Өe s u x e f v y dG-e(s,v)= min {dG(s,x)+w(f)+dG(y,v)} f=(x,y)C(e) ove w(f) denota il peso dichiarato per l’arco f

  28. Definizione di Өe • Calcolare dG-e(r,v) (e quindi Өe) vuol dire individuare l’arco f* tale che: f*= arg min {dG(s,x)+w(f)+dG (y,v)} f=(x,y)C(e) = arg min {dG(s,x)+w(f)+dG (y,v)+dG(s,v)} f=(x,y)C(e) = arg min {dG(s,x)+w(f)+dG(s,y)} Perché dG(s,v) non dipende da f f=(x,y)C(e) lo chiamo k(f) Osservazione: k(f) è un valore univocamente associato all’arco f: vale per tutti gli archi di SG(s) che formano un ciclo con f.

  29. Calcolo delle soglie • Costruiamo il transmuter (rispetto a SG(s) ) • Eseguiamo l’algoritmo (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 SG(s) riceverà il suo valore miglior valore k(f*) • Өe= (k(f*)-dG(s,v)) - dG(s,u) • Complessità temporale: O(m (m,n)) dG-e(s,v)

  30. Complessità del meccanismo Teorema MSPT è 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)

More Related