Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

44
Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    1

Transcript of Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

Page 1: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

Algorithms for Selfish Agents

Carmine Ventre

Università degli Studi di Salerno

Page 2: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

Algorithms for Selfish Agents or… … having some “scientific” argument to use

for the movie “A Beautiful Mind” … being more confident with Nash’s madness!

… merging research of different fields

Page 3: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

Research Classification

Economics

Computer Science

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

Page 4: Algorithms for Selfish Agents 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 5: Algorithms for Selfish Agents 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!

A

B

Page 6: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

Vickrey Auctions Features

Incentives to bid truthfully Utility is maximized by reporting the true valuation

Extend to more goods case Winners pay the first non-winning bid

(Not common, however…) Used in practice former Czechoslovakia to refinance credit Guinea, Nigeria, and Uganda for foreign exchange eBay and Google use mild variations of Vickrey auction Stamp collecting market

Generalize to the concept of mechanism

Page 7: Algorithms for Selfish Agents 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 8: Algorithms for Selfish Agents 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 9: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

Vickrey Auction (& VCG Mechanism) Weakness 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

VCG mechanisms require computation of optimal solutions Computational issues!

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

Page 10: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

Cost-Sharing Mechanisms

Page 11: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

Why Cost-Sharing Methods?

Town A needs a water distribution system A’s cost is € 11 millions

Town B needs a water distribution system B’s cost is € 7 millions

A and B construct a unique water distribution system for both cities The total cost is € 15

millions Why not collaborate and

save € 3 millions? How to share the cost?

Town A

Town B

11

7

15

Page 12: Algorithms for Selfish Agents 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 13: Algorithms for Selfish Agents 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 14: Algorithms for Selfish Agents 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 15: Algorithms for Selfish Agents 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 16: Algorithms for Selfish Agents 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 17: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

Mechanism’s Requirements

Budget Balance (BB)

i T Pi(b) = COST(T) Efficiency (NW): maximize

NET WORTH(T) := WORTH(T) - COST(T)

where WORTH(T):= iT vi

… (natural requirements)

BB and efficiency are mutually exclusive!

Efficiency No Group strategy-proof

Page 18: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

Efficient Mechanisms for

Multicast Transmissions in Wireless Networks

[Penna & V, SIROCCO ‘04]

Page 19: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

Wireless transmission

Power(i)= d(i,j)α = range(i) α, α>1 (empty space α = 2)

A message sent by station i to j can be also received by every station in transmission range of i

Modeling wireless transmission network as a graph Network communication graph

ij

d(i,j)α

Page 20: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

Wireless multicast transmission

Who receives Napoli-Juventus How to transmit Goal: maximize

Benefit – Cost

Nello 1€

10€ 1€ 1€ 3€

Carmine 1€ Clemente 10€ Marco 30€

Pino 50€

known

private

source

NW(T) = WORTH(T) – COST(T)

Designing an efficient mechanism

Page 21: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

VCG Trick (marginal cost mechanism) Utilitarian problem:

Xsol, measure(X)=i valuationi(X)

Aopt computes X sol maximizing measure(X)

PVCG: M=(Aopt, PVCG) is truthful

Page 22: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

VCG Trick (marginal cost mechanism)Making our problem utilitarian:

measure(X) valuationi(X)

WORTH(X)-COST(X)

= i

iXvi = WORTH(X)

vi

ciInitially, charge to every receiver ithe cost ci of its ingoing connection

- ci

- COST(X)

Pi = ci + PVCG

Adaptation to non-utilitarian problems

Page 23: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

Designing (Distributed) Optimal Algorithms Tree Networks

Dynamic Programming Poly-Time algorithm

Extensions to trees with metric-free edges

Graph Networks NP-hard

jk ccchkoptj

chjopt kNWcNW

),i()i(

i )(max,0maxv)i(

k s.t. ck ≤ cj

i

j

cj

vi

k gets cj-ck units of credit

)cc,k(NWc)(NW kicc),)(p(chk

optipay

ik

i

i

)(max,),(maxv)ci,(),(

),i(i jNWccjNWNW pay

ccichjccchj

joptoptj

j

Page 24: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

Cost-Sharing Budget-Balance Mechanisms

[Penna & V, WAOA ’04]

[Penna & V, SIROCCO ’05]

[Penna & V, STACS ’06]

Cost-Sharing Budget Balance Mechanisms

Page 25: Algorithms for Selfish Agents 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 26: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

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

(Q,i)U

Drop iQ > bi

Page 27: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

UQ1=U

How to build BB, GSP Mechanisms

Q3

Qk

Q2

Prices do not decrease

Group Strategyproof

(Qk,i)

(Q2,i)

(Q3,i)

Pi = (Qk,i)

Changes

… 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…

Page 28: Algorithms for Selfish Agents 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 29: Algorithms for Selfish Agents 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 Q µ U do not “appear”. We need monotone only for possible subsets generated by M()

This is not a cross monotonic cost sharing method!

Page 30: Algorithms for Selfish Agents 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|, ;

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

UQ1=U

Q3

Q|U|…

Q2

.

.

.

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

Page 31: Algorithms for Selfish Agents 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 32: Algorithms for Selfish Agents 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 33: Algorithms for Selfish Agents 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 34: Algorithms for Selfish Agents 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. , Submitted]

Verification model

Page 35: Algorithms for Selfish Agents 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 36: Algorithms for Selfish Agents 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 37: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

Verification Setting

Give the payment if the results are given in time

Machine i gets positive load when reporting bi

1. ti bi just wait and get the payment

2. ti > bi no payment (punish agent i)

Page 38: Algorithms for Selfish Agents 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 39: Algorithms for Selfish Agents 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 maximum 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 40: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

Generalizing Verification Setting Give the payment if the results are given “in

time” (ie, consistently with bi) For the outcome computed in bi, ie, X

1. ti(X) bi(X) just wait and get the payment

2. ti(X) > bi(X) no payment (punish agent i)

ti(¢)

bi(¢)

General cost functions

(e.g., router latency)

Page 41: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

(Optimal) Mechanisms with Verifications

J1 Jj Jn

… …

M1 Mi Mm… …

bijbi1 bin

… …

agent1 agentlagentk… …

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 42: Algorithms for Selfish Agents 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, 2002])

If OPT is truthful via VCG mechanism without verification

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

Page 43: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

Conclusions

You have more insights on why Nash got mad 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 44: Algorithms for Selfish Agents Carmine Ventre Università degli Studi di Salerno.

Some references Penna & V. "Sharing the cost of multicast transmissions in wireless networks"

(SIROCCO 2004) Penna & V. "More Powerful and Simpler Cost-Sharing Methods (when cross

monotonicity is the wrong way)". (WAOA 2004) Penna & V. "Free-riders in Steiner tree cost-sharing games". (SIROCCO 2005) Ferrante, Parlato, Sorrentino & V. "Improvements for Truthful Mechanisms with

Verifiable One-Parameter Selfish Agents". (WAOA 2005) P. Penna & V. "The Algorithmic Structure of Group Strategyproof Budget-

Balanced Cost-Sharing Mechanisms". (STACS 2006) Auletta, De Prisco, Penna, Persiano & V. "New Constructions of Mechanisms

with Verification“. (ICALP 2006) V. "Mechanisms with Verification for Any Finite Domain". (WINE 2006) Penna & V. “Optimal Collusion-Resistant Mechanisms with Verification”. (It’s

going to be) Submitted for publication.

Others: Penna & V. "Energy-efficient broadcasting in ad-hoc networks: combining MSTs

with shortest-path trees". (PE-WASUN 2004) V. & Visconti. "New Definitions and Results for Plaintext Aware and Completely

Non-Malleable Encryption Schemes“. Submitted for publication.

www.dia.unisa.it/~ventre

Wireless Energy Consumption

Cryptography