algorithms for incentive-based computing carmine ventre università degli studi di salerno

36
Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Upload: wilfrid-harmon

Post on 04-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Algorithms for Incentive-Based Computing

Carmine Ventre

Università degli Studi di Salerno

Page 2: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

… or Merging Research of Different Fields

Economics

Computer Science

“Worst-case equilibria” by E. Koutsoupias, C. H. Papadimitriou in STACS ‘99

Page 3: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Auctions

7

10

6

First price sealed bid auction

6

Problems? It is not truthful (e.g., auctioneer can not maximize his own revenue)

A

B

Page 4: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Vickrey Auctions10

Second price sealed bid auction

Bid 811

Utility is 0 in place of 1 (= 10 – 9)

Bid 12

Utility is -1 (= 10 – 11) in place of 0

9

This is truthful and generalizes to the concept of mechanism

A

B

Page 5: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Mechanisms

Augment an algorithm with a payment function i.e., design a truthful

mechanism The payment function

should incentive in telling the truth

s1

2

310

2

1

1

4

37

7

1

Page 6: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

VCG Mechanisms

s

M = (A, P)

12

310

2

1

1

4

37

7

1

Pe= be if e is selected

(0 otherwise)

9

Utility(3) = payment(3) – cost(3) = 3 – 3 = 0

Utility(9) = payment(9) – cost(9) = 9 – 3 = 6

valuation

Pe = Ae=∞ – Ae=0 if e is selected

(0 otherwise)M is truthful iff A is optimal

Algorithmic mechanism design by N. Nisan and A. Ronen in STOC ’99 (GEB ‘01)

Ae=0 = Ae – be

Page 7: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Vickrey Auction (& VCG Mechanism) Weakness (or Cui Prodest?) It works only for utilitarian problems: i.e., maximizes

the social welfare (e.g., it does not maximize seller revenue) Adaptation to non-utilitarian problems Verification Model

It is not budget balanced Cost-Sharing Budget Balance Mechanisms

It is vulnerable to collusion Cost-Sharing Budget Balance Mechanisms Verification model

… (not here)

Utilitarian problems: objective is to maximize the social welfare (i valuationi(X))BB mechanisms: sum of payments equals the cost of the solution

(skip)

Page 8: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Cost-Sharing Mechanisms

Page 9: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Multicast and Cost-Sharing

A service provider s Selfish customers U Who is getting the service? How to share the cost?

real worth is 7

is worth 5 ( 7)

Pi

Accept or reject the service?

Page 10: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Selfish Agents

Each customer/agent has a private valuation vi for the service

declares a (potentially different) valuation bi

pays Pi for the service

Agents’ goal is to maximize their own utility: ui(bi) := vi – Pi(bi)

Accept iff my

utility ≥ 0!

Page 11: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Coping with Selfishness: Mechanism Design

Algorithm A Who gets serviced (Q(b)) How to reach Q(b)

(Construct tree T) Payment P

How much each user pay

M = (A, P)

bi

bj

P1

P4

P3

P2

Page 12: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

M’s Truthfulness (or Strategyproofness)

For all others players’ declarations b-i it holds

ui = ui(vi, b-i) ≥ ui(bi, b-i) = ui

for all bi (ie, truthtelling is a dominant strategy)

M = (A, P)vi

Page 13: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

M’s Group Strategyproofness

U

Coalition C

No one gainsAt least one looses (ie, ui > ui)

C is uselessBreaks off C

Does this definition fit our intuition of collusion-resistant mechanisms?

Page 14: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Mechanism’s Requirements

Budget Balance (BB)

i T Pi(b) = COST(T) … (natural “economic” requirements)

Page 15: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Cost-Sharing Budget-Balance Mechanisms

[Penna & V, WAOA ’04]

[Penna & V, SIROCCO ’05]

[Penna & V, STACS ’06]

Page 16: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

How to build BB, GSP Mechanisms

Idea: associate prices to service set

U

Q

(Q,i) = COST(Q)

Cost-sharing methods: distribute COST(Q) among users in Q

(Q,i) 0

(Q,i) = 0, i Q

Page 17: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

How to build BB, GSP MechanismsCost-sharing method (•,•) Mechanism M( )

(Q,i)U

Drop iQ > bi

Page 18: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

UQ1=U

How to build BB, GSP Mechanisms

Q3

Qk

Q2

(Qk,i)

(Q2,i)

(Q3,i)

Pi = (Qk,i)

… Monotonicity…

[Moulin & Shenker ’97] & [PV04]

Cost-sharing method (•,•) Mechanism M( )

… for all Q subsets of U … for all Q (possibly) outputted by M

Cross… Self Cross…

(Q1,i)

Prices do not decrease

Group Strategyproof

Changes

Page 19: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Self cross monotonicity: an example

Q

COST(Q)

s

50%50%

s

Pay less than before This is not a cross monotonic cost sharing method!

Page 20: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Self cross monotonicity: an example (2)

Q

COST(Q)

s

100%

s

Pay less than before

This guy pays 0

M() cannot drop him

Idea: some subsets do not “appear”. We need monotone only for possible subsets generated by M()

This is not a cross monotonic cost sharing method!

Page 21: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Sequential Algorithms

A is sequential if for some bid vectors reaches a chain of sets Q1, …, Q|U|, Q|U|+1=Ø

Sequential algorithms admits a self cross-monotonic cost-sharing method

UQ1=U

Q3

Q|U|…

Q2

.

.

.

… Q|U|+1= Ø BB & GSP Mechanisms

Page 22: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Optimal Sequential Algorithm for Steiner Tree Game

s

prune

Q MST(Q)

opt Steiner tree

T + = opt

T + +

U

s

MST

v is the last node added by Prim’s MST algorithm

s

u

Q

v

s

u

Q

v

s

T*>

Qu

v

payv

Page 23: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Adding Fairness to Our Mechanisms

Payment is still self cross-monotonic

Is it possible to have no free rider? No! Unless P=NP

s

prune

Q MST(Q)

U

s

MST

pay

opt Steiner tree

Page 24: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Can we do better without Sequential Algorithms?

M = (A, P)

M for 2 users A is sequential

“Natural” GSP Mechanisms A is sequential

M is SP, BB, …

Page 25: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Mechanisms with Verification

[Ferrante, Parlato, Sorrentino & V, WAOA 2005] [Auletta, De Prisco, Penna, Persiano & V, ICALP 2006] [V, WINE 2006][Penna & V. , 2007]

Page 26: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Motivating Verification Model

Used Car market: The Kelley Blue Book – the Trusted Resource (www.kbb.com)

Page 27: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

The Trusted Resource

Can we engage a trusted resource within a mechanism allowing (somehow) bids verification?

Time is trusted…

… unless a time machine will be created

Page 28: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Selfish Task Scheduling

M1 M2 M4M3 M5

t1 t2 t3 t4 t5b1 b2 b3 b4 b5

ti = 1 / si (ie, the inverse of the speed)

Optimal Makespan:

minx maxi ti(X)

Mechanism design: payments

utility = payment - cost

no VCG!

Allocation X

cost = ti(X) = ti • loadi(X)

Awarded independently from the execution!

Page 29: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Verifiable Selfish Agents

ti = 1

i underbids 1/2

1

3

i’s release time should be 2 but…

… i’s finishing time is 4

i overbids

2

1

1 i can wait 2 time slots delivering the results in the right time

IDEA ([Nisan & Ronen, 99]): No payment for underbidding agents

Verification is impossible!

ti(X) = loadi(X) • ti

i bids from the set {1/2, 1, 2}

Verification = observe jobs’ release time

Page 30: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

The Power of Verification

bi

loadi

Classical mechanisms Mechanisms w/ Verification

algorithms

Payment functions

NO!

TRUTHFUL

bi

loadiNO!

TRUTHFUL

bi

loadi

ti

Pi(bi, b-i)= Wmax / bi (= Wmax • si)

Related to max possible supported cost

Scaling up for general speeds

Unique

Not unique

[Archer & Tardos, ‘01]

[Archer & Tardos, ‘01] [Auletta & al, ‘04]

Page 31: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

The Power of Verification: Breaking Lower Bounds

M1 M2 M4M3 M5

b1 b2 b3 b4 b5

p1 p2 p3 p4 p5 p6 p7 p8 p9

weight

priority

t1 t2 t3 t4 t5

Goal: Design a polytime truthful mechanism optimizing the weighted completion time (ie, weighted sum scheduling)

No 1.54-apx truthful mechanism without verification

[Archer & Tardos, 2001]

(1+)-APX truthful mechanism w/ verification for a constant number of machines

Efficient APX truthful mechanisms w/verification: c-APX algorithm A c(1+)-APX mechanism

Page 32: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

(Optimal) Mechanisms with Verification

J1 Jj Jn

… …

M1 Mi Mm… …

bijbi1 bin

… …

agent1 agenth agentk… …

There exists truthful mechanism with verificationWe don’t if truthful mechanisms

without verification do exist polytime

Breaking lower bounds for classical mechanisms concerning many natural problems (eg, variants of SPT problem)

Goal: minimizing the makespan

(althougt not polynomial-time)

Given an algorithm c-apx…

a c(1+)-apxan exact

bib1 bm

Page 33: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Optimal Collusion-Resistant Mechanisms w/ Verification

Coalition C

GSP do not consider side payments

U

+

Collusion-Resistant mechanisms are impossible unless using posted-price ([Goldberg & Hartline, 2005])

If OPT is truthful via VCG mechanism without verification

Exists a VCG-like payment function such that OPT is collusion-resistant with verification

Page 34: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Conclusions

Cost-Sharing Games Simple techniques…

… lead to polynomial-time cost-sharing mechanisms for NP-Hard problem Steiner Tree

… not so unfair (unless P=NP) … characterize natural class of cost-sharing mechanisms

Mechanisms with Verification More powerful model…

… breaking known lower bounds for natural problems … dealing with a strong notion of agents’ collusion

Page 35: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Further Research

Cost-Sharing Mechanisms Full characterization

What is the power of not “natural” mechanisms? Price of Fairness Tradeoff between budget balance and efficiency

Mechanisms with Verification What is the real power of verification? Does the revelation principle hold in the

verification setting? Different definitions for the verification paradigm

(e.g., Nisan&Ronen 99)

Page 36: Algorithms for Incentive-Based Computing Carmine Ventre Università degli Studi di Salerno

Questions?