30
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 [email protected]

Algorithmic Mechanism Design: an Introduction

  • Upload
    ford

  • View
    49

  • Download
    0

Embed Size (px)

DESCRIPTION

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 [email protected]. - PowerPoint PPT Presentation

Citation preview

Page 1: Algorithmic Mechanism Design: an Introduction

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

One-parameter mechanism for the private-edge SPT

problem

Page 17: Algorithmic Mechanism Design: an Introduction

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

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

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

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

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

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

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

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

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

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

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

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

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

Thanks for your attention!Questions?