Algorithmic Mechanism Design: an Introduction
description
Transcript of Algorithmic Mechanism Design: an Introduction
![Page 1: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/1.jpg)
Algorithmic Mechanism Design: an Introduction
One-parameter mechanisms, with an application to the SPT problem
Guido ProiettiDipartimento di Ingegneria e Scienze dell'Informazione e
Matematica
University of L'[email protected]
![Page 2: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/2.jpg)
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 negated type 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).
The private-edge Shortest-Paths Tree (SPT) problem
![Page 3: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/3.jpg)
More formally…
F: set of spanning trees rooted at s For any TF
f(t,T)= arg min dT(s,v)
where ║e║ is the set of source-node paths in T containing edge e
vV
Multicast protocol: ve(te,T)= te if eE(T), 0 otherwise
f(t,T) arg min ve(te,T) non-utilitarian problem!
= arg min te ║e║eE(T)
eE(T)
TF TF
TF
![Page 4: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/4.jpg)
One-parameter problems
1. Type owned by each agent ai is a single parameter ti
2. The valuation function of ai is
vi(ti,o)= ti wi(o)
where wi(o) is the workload for ai w.r.t. output o
![Page 5: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/5.jpg)
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 eE(T)
te if e E(T)
0 otherwise
1 if e E(T)
0 otherwisewe(T)=
Multicast protocol
TF
The SPT problem is a one-parameter problem!
![Page 6: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/6.jpg)
Monotonicity of an algorithm
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)
Definition
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))
![Page 7: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/7.jpg)
An old result from game theory
Theorem 1A 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
![Page 8: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/8.jpg)
1. If ti=x and ri=ti vi(ti,o) = ti wi(o) = x wi(r-i,x)
2. If ti=y and ri=ti vi(ti,o) = y wi(r-i,y)
3. 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
4. If ti=y and ri=x vi(ti,o) = y wi(r-i,x), i.e., ai decreases her cost by A+k
A k
x y
wi(r-i,y)
wi(r-i,x)
wi(r-i,ri)
ri
Proof (cont’d)
cost ofai case 3 cost of
ai case 4
![Page 9: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/9.jpg)
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!
A k
x y
wi(r-i,y)
wi(r-i,x)
wi(r-i,ri)
ri
Proof (cont’d)
Contradiction: g must be monotone!
![Page 10: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/10.jpg)
One-parameter (OP) mechanisms
• g: any monotone algorithm for the underlying one-parameter problem
• pi(r) = hi(r-i) + ri wi(r) - ∫wi(r-i,z) dz0
ri
hi(r-i): arbitrary function independent of ri
![Page 11: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/11.jpg)
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:
pi(r) = hi(r-i) + ri wi(r) - ∫ wi(r-i,z) dz0
ri
Indipendent of ri
We can sethi(r-i)=0
Truthfulness of OP-mechanisms
![Page 12: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/12.jpg)
ui(ti,g(r-i,ti))= pi(g(r-i,ti))-vi(ti, g(r-i,ti))=
ti wi(g(r-i,ti))-∫ wi(r-i,z) dz-ti wi(g(r-i,ti)) =-∫ wi(r-i,z) dz If ai reports x>ti:
Her valuation becomes: C = ti wi(r-i,x)
Her payment becomes: P= x wi(r-i,x) - ∫ wi(r-i,z) dz ui(ti,g(r-i,x))= P-C ai is loosing G
Proof (cont’d)
ti
wi(r-i,ti)
x
wi(r-i,x)
0
ti
C
0
x
0
ti
G-P
The true utility is equal to this negated area
The payment is equal to this negated area
![Page 13: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/13.jpg)
ui(ti,(r-i,ti))= - ∫ wi(r-i,z) dz If ai reports x<ti
Her valuation becomes C= ti wi(r-i,x) Her payment becomes P=x wi(r-i,x) -∫wi(r-i,z) dz
ui(ti,g(r-i,x))= P-C ai is loosing G
Proof (cont’d)
ti
wi(r-i,ti)
0
ti
G
C
-P
x
wi(r-i,x)
ai has no incentive to lie!The payment is equal to this negated area
0
x
![Page 14: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/14.jpg)
On the hi(r-i) function
Once again, we want to guarantee voluntary participation (VP)
But when ai reports ri, her payment is:
pi(r) = hi(r-i) + ri wi(r) - ∫ wi(r-i,z) dz0
ri
If we set hi(r-i)= ∫ wi(r-i,z) dz,0
∞
pi(r) = ri wi(r) + ∫ wi(r-i,z) dzri
∞
the payment becomes:
The utility of an agent reporting the true becomes:
ui(ti,g(r)) = ∫ wi(r-i,z) dz ≥ 0.ti
∞
![Page 15: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/15.jpg)
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!
![Page 16: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/16.jpg)
One-parameter mechanism for the private-edge SPT
problem
![Page 17: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/17.jpg)
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 eE(T)
te if e E(T)
0 otherwise
1 if e E(T)
0 otherwisewe(T)=
Multicast protocol
TF
![Page 18: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/18.jpg)
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) dzre
∞
so that VP is guaranteed.
![Page 19: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/19.jpg)
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
Өe is the value such that, 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
![Page 20: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/20.jpg)
On the payments
pe=0, if e is not selected
pe=Өe, if e is selected
1
Өe : threshold valuere
pe = re we(r) + ∫ we(r-e,z) dz = re + Өe - re = Өere
∞
pe = re we(r) + ∫ we(r-e,z) dz = 0+0 = 0re
∞
re
![Page 21: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/21.jpg)
An OP-problem is binary demand (BD) if
1. Type owned by each agent ai is a single parameter ti
2. The valuation function of ai is
vi(ti,o)= ti wi(o)
where the workload wi(o) for ai w.r.t. output o is in {0,1}. When wi(o)=1, we will say that ai is selected in o.
A special class of OP-problems
![Page 22: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/22.jpg)
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:
Monotonicity for BD problems
1
Өi(r-i) ri
Өi(r-i){+}: threshold value
Payment for ai becomes:pi(r)= Өi(r-i)
![Page 23: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/23.jpg)
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)
e remains in SG(s) until e is used to reach v from s
Өe=dG-e(s,v)-dG(s,u)Example
1
1
23
2
6
s
v
ue
re=1
1
3-ε
23
2
6
s
v
ue
re= 3-ε
1
3+ε
23
2
6
s
v
ue
re= 3+ε
Өe = 3
![Page 24: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/24.jpg)
A trivial solution
e=(u,v) SG(s) we run the Dijkstra’s algorithm on G-e to find dG-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
![Page 25: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/25.jpg)
Definition of Өe
s
dG-e(s,v)= min {dG(s,x)+w(f)+dG(y,v)}f=(x,y)C(e)
x
y
u
v
e
f
where w(f) denotes the reported cost for edge f
![Page 26: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/26.jpg)
Computing dG-e(r,v) (and then Өe) is equivalent to finding edge f* such that:
Definition of Өe (cont’d)
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)
Since dG(s,v) is independent of f
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.
= arg min {dG(s,x)+w(f)+dG(s,y)}f=(x,y)C(e)
![Page 27: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/27.jpg)
Definition of k(f)
s
k(f) = dG(s,x)+w(f)+dG(s,y)
x
y
u
v
e
f
![Page 28: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/28.jpg)
Computing the threshold
Once again, we build a transmuter (w.r.t. SG(s)), where now sink nodes are labelled with k(f) (instead of w(f) as in the MST case), and we process the transmuter in reverse topological order
At the end of the process, every edge e SG(s) will remain associated with its replacement edge f*, and
Өe= (k(f*)-dG(s,v)) - dG(s,u)
Time complexity: O(m (m,n))dG-e(s,v)
![Page 29: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/29.jpg)
TheoremMSPT 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 constantwhen m=(n log log n)
Analysis
![Page 30: Algorithmic Mechanism Design: an Introduction](https://reader035.fdocuments.net/reader035/viewer/2022062305/56815a95550346895dc81124/html5/thumbnails/30.jpg)
Thanks for your attention!Questions?