300 likes | 457 Views
Algorithmic Mechanism Design: an Introduction One-parameter mechanisms, with an application to the SPT problem Guido Proietti Dipartimento di Ingegneria e Scienze dell'Informazione e Matematica University of L'Aquila guido.proietti@univaq.it.
E N D
Algorithmic Mechanism Design: an Introduction One-parameter mechanisms, with an application to the SPT problem Guido Proietti Dipartimento di Ingegneria e Scienze dell'Informazione e Matematica University of L'Aquila guido.proietti@univaq.it
The private-edge Shortest-Paths Tree (SPT) problem • Given: an undirected graph G=(V,E) such that each edge is owned by a distinct selfish agent, and a source node s; we assume that agent’s private type is the positive cost (length) of the edge, and her valuation function is equal to her negatedtype if edge is selected in the solution, and 0 otherwise. • Question: design a truthful mechanism in order to find a shortest-paths tree rooted at s in Gt=(V,E,t).
More formally… • F: set of spanning trees rooted at s • For any TF • f(t,T)= argmindT(s,v) where║e║ is the set of source-nodepaths in T containingedgee = arg minte║e║ eE(T) TF TF vV ve(te,T)= te if eE(T), 0 otherwise Multicast protocol: f(t,T) arg min ve(te,T) non-utilitarian problem! TF eE(T)
One-parameter problems • Type owned by each agent ai is a single parameter ti • The valuation function of ai is vi(ti,o)= ti wi(o) where wi(o) is the workload for aiw.r.t. output o
The SPT problem is one-parameter • F: set of spanning trees rooted at s • For any T F • f(t,T)= arg min dT(s,v) = te║e║ • ve(te,T)= • ve(te,T)= te we(T) vV TF eE(T) te if e E(T) Multicast protocol 0 otherwise 1 if e E(T) we(T)= otherwise 0 The SPT problem is a one-parameter problem!
Monotonicity of an algorithm Definition An algorithm g for a (minimization) one-parameter problem is monotone if agent ai, wi(g(r-i,ri)) is non-increasing w.r.t. ri, for every r-i=(r1,…,ri-1, ri+1,…,rN) For the sake of simplifying the notation: We will write wi(r) in place of wi(g(r)) We will write pi(r) in place of pi(g(r))
An old result from game theory Theorem 1 A mechanism M=<g,p> for a one-parameter problem is truthful only if g is monotone. Proof: (by contradiction) Assume g is non-monotone, and… …let us show that no any payment scheme can make the mechanism M truthful! If g is non-monotone there exists an agent ai and a vector r-i s.t. wi(r-i,ri) is not monotonically non-increasing w.r.t. ri
Proof (cont’d) • If ti=x and ri=ti vi(ti,o) = ti wi(o) = x wi(r-i,x) • If ti=y and ri=ti vi(ti,o) = y wi(r-i,y) • If ti=x and ri=y vi(ti,o) = x wi(r-i,y), i.e., ai increases her valuation (i.e., her cost) by A • If ti=y and ri=x vi(ti,o) = y wi(r-i,x), i.e., ai decreases her cost by A+k wi(r-i,ri) wi(r-i,y) A k wi(r-i,x) cost of ai case 3 cost of ai case 4 ri x y
Proof (cont’d) • Let ∆p=pi(r-i,y) - pi(r-i,x) • If M is truthful it must be: • ∆p A (since otherwise when ti=x, ai will report y, since in this case her cost will increase by A, and since ∆p>A, her utility will increase!) • ∆p ≥ A+k (since otherwise when ti=y, ai will report x, since in this case her cost will decrease by A+k, and since ∆p<A+k, this means that the payment’s decrease is less than the cost’s decrease, and so her utility will increase! … but k is strictly positive! Contradiction:gmust be monotone! wi(r-i,ri) wi(r-i,y) A k wi(r-i,x) ri x y
One-parameter (OP) mechanisms • g: anymonotone algorithm for the underlying one-parameter problem ri • pi(r) =hi(r-i) + ri wi(r) - ∫wi(r-i,z) dz 0 hi(r-i): arbitrary function independent of ri
Truthfulness of OP-mechanisms Theorem 2: An OP-mechanism for an OP-problem is truthful. Proof: We show that the utility of an agent ai can only decrase when ai lies Let r-i be the reported types of the other agents Payment returned to ai (when she reports ri) is: ri pi(r) =hi(r-i) + ri wi(r) - ∫ wi(r-i,z) dz 0 Indipendent of ri We can set hi(r-i)=0
wi(r-i,x) x Proof (cont’d) 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 • If ai reports x>ti: • Her valuation becomes: C= tiwi(r-i,x) • Her payment becomes: P= xwi(r-i,x) - ∫ wi(r-i,z) dz ui(ti,g(r-i,x))= P-Cai is loosing G 0 0 x 0 The true utility is equal to this negated area The payment is equal to this negated area wi(r-i,ti) -P G C ti
Proof (cont’d) ti 0 • ui(ti,(r-i,ti))= - ∫ wi(r-i,z) dz • If ai reports x<ti • Her valuation becomes C= tiwi(r-i,x) • Her payment becomes P=xwi(r-i,x) -∫wi(r-i,z) dz ui(ti,g(r-i,x))= P-Cai is loosing G x 0 The payment is equal to this negated area ai has no incentive to lie! -P G wi(r-i,x) wi(r-i,ti) C x ti
On the hi(r-i) function Once again, we want to guarantee voluntary participation (VP) But when ai reports ri, her payment is: ri pi(r) =hi(r-i)+ ri wi(r) -∫ wi(r-i,z) dz 0 ∞ ∫ wi(r-i,z) dz, If we set hi(r-i)= 0 ∞ pi(r) =ri wi(r) + ∫ wi(r-i,z) dz the payment becomes: ri The utility of an agent reporting the true becomes: ∞ ui(ti,g(r)) =∫ wi(r-i,z) dz ≥ 0. ti
Summary: VCG vs OP • VCG-mechanisms: arbitrary valuation functions and types, but only utilitarian problems • OP-mechanisms: arbitrary social-choice function, but only one-parameter types and workloaded monotonically non-increasing valuation functions • If a problem is both utilitarian and one-parameter VCG and OP coincide!
The one-parameter SPT problem • F: set of spanning tree rooted at s • For any T F • f(t,T)= arg min dT(s,v) = te║e║ • ve(te,T)= • ve(te,T)= te we(T) vV TF eE(T) te if e E(T) Multicast protocol 0 otherwise 1 if e E(T) we(T)= otherwise 0
A corresponding one-parameter mechanism • MSPT= <g,p> • g: given the input graph G, the source node s, and the reported types r, compute an SPT SG(s) of G=(V,E,r) by using Dijkstra’s algorithm; • p: for every e E ∞ pe(r)=re we(r) +∫we(r-e,z) dz re so that VP is guaranteed.
Truthfulness Observation: MSPT is truthful, since it is an OP-mechanism. Indeed, Dijkstra’s algorithm is monotone, since the workload for an agent ae has always the following shape: 1 Өe : threshold value • Өeis the valuesuchthat, once fixed r-e: • if ae reports at most Өe, then e is selected in the SPT • if ae reports more than Өe, then e is not selected in the SPT
On the payments • pe=0, if e is not selected • pe=Өe, if e is selected 1 Өe : threshold value 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
An OP-problem is binary demand (BD) if A special class of OP-problems • Type owned by each agent ai is a single parameterti • The valuationfunction of aiis vi(ti,o)= tiwi(o) where the workloadwi(o) for aiw.r.t. output o is in {0,1}. Whenwi(o)=1, wewillsaythat aiisselectedin o.
Monotonicity for BD problems An algorithm g for a (minimization) BD-problem is monotone if agent ai, and for every r-i=(r1,…,ri-1,ri+1,…,rN), wi(g(r-i,ri)) has the following shape: 1 Өi(r-i) ri Өi(r-i){+}: threshold value Payment for ai becomes: pi(r)= Өi(r-i)
On the threshold values for the SPT problem Let e=(u,v) be an edge in SG(s) (with u closer to s than v) • eremains in SG(s) untileisused to reach v from s Өe=dG-e(s,v)-dG(s,u) Example re=1 re= 3-ε re= 3+ε s s s 1 1 1 Өe = 3 u u u 2 2 2 e e e 1 3+ε 3-ε 6 6 6 v v v 2 2 2 3 3 3
A trivial solution e=(u,v) SG(s) we run the Dijkstra’s algorithm on G-e to finddG-e(s,v) Time complexity: k=n-1 edges multiplied by O(m + n log n) time: O(mn + n2 log n) time The improved solution will cost as much as: O(m + n log n) time
Definition of Ө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) where w(f) denotes the reported cost for edge f
Definition of Өe (cont’d) • Computing dG-e(r,v) (and then Өe) is equivalent to finding edge f* such that: 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)} Since dG(s,v) is independent of f f=(x,y)C(e) call it k(f) Observation: k(f) is a value univocally associated with edge f: it is the same for all the edges of SG(s) forming a cycle with f.
Definition of k(f) s u x e f v y k(f) = dG(s,x)+w(f)+dG(s,y)
Computing the threshold • Once again, webuild a transmuter (w.r.t. SG(s)), wherenowsinknodes are labelled with k(f) (instead of w(f) as in the MST case), and weprocess the transmuter in reversetopologicalorder • At the end of the process, everyedgee SG(s) willremainassociated with itsreplacementedge f*, and Өe= (k(f*)-dG(s,v)) - dG(s,u) • Time complexity: O(m (m,n)) dG-e(s,v)
Analysis Theorem MSPT can be implemented in O(m + n log n) time. Proof: Time complexity of g: O(m + n log n) (Dijkstra with Fibonacci Heaps) Computing all the payments costs: O(m (m,n))=O(m + n log n) time Since (m,n) is constant when m=(n log log n)
Thanks for your attention! Questions?