Meccanismi one-parameter: il problema dell’albero dei cammini minimi a sorgente singola
Meccanismo per l’SPT non utilitario M SPT = g(r): dato il grafo e le dichiarazioni, calcola un SPT S G (s) di G Per ogni arco e E p e (r)=r e w e (r) + ∫ w e (r -e,z) dz rere ∞
Teorema 3 M SPT è truthful Dim Truthfulness segue dal fatto che M SPT è un meccanismo OP. Infatti, ogni algoritmo per il calcolo dell’SPT è 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, e non è selezionato L’algoritmo del meccanismo è monotono!
Sui pagamenti Osservazioni: p e (r)=0, se e è un arco non selezionato p e (r)= Ө e, se e è nella soluzione 1 Ө e : valore soglia rere p e (r) = r e w e (r) + ∫ w e (r -e,z) dz rere ∞
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 = s v u e r e = s v u e r e = 3 Ө e = 3
Una soluzione banale e S G (s) applichiamo l’algoritmo 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
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
Calcolare d G-e (r,v) (e quindi Ө e ) vuol dire individuare l’arco 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 all’arco f Se f è un arco del taglio per e, e’ S G (s), il valore k(f) è lo stesso
Calcolo delle soglie Costruiamo il transmuter (rispetto a S G (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 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))
Teorema M SPT è calcolabile in tempo O(m + n log n) Dim Complessità di g(٠): O(m + n log n) Calcolare tutti i pagamenti costa: O(m (m,n))=O(m + n log n) perché (m,n) costante quando m= (n log log n)
Approfondimento Progettare un meccanismo one-parameter per il calcolo dell’SPT modello unicast radicato in s del seguente grafo: