Algorithms for Selfish Agents

Algorithms for
Incentive-Based Computing
Carmine Ventre
Università degli Studi di Salerno
… or Merging Research of Different
Fields
Computer Science
Economics
“Worst-case equilibria” by E. Koutsoupias, C. H. Papadimitriou in STACS ‘99
Auctions
10
A
7
6
B
6
First price sealed bid auction
Problems? It is not truthful (e.g., auctioneer can not maximize his own revenue)
Vickrey Auctions
10
A
Bid 8
Bid 12
9 11
Utility is 0 in place of 1 (= 10 – 9)
Utility is -1 (= 10 – 11) in place of 0
B
Second price sealed bid auction
This is truthful and generalizes to the concept of mechanism
Mechanisms

3
10
1
1
s

2
2
1
3
7
7
4
1
Augment an algorithm
with a payment function

i.e., design a truthful
mechanism
The payment function
should incentive in
telling the truth
VCG Mechanisms
valuation
Utility(3) = payment(3) – cost(3) = 3 – 3 = 0
Utility(9) = payment(9) – cost(9) = 9 – 3 = 6
93
10
1
1
2
s
2
1
3
7
4
M = (A, P)
7
1
Ae=0 = Ae – be
Pe = Ae=∞ –PAee=0
= bife eif is
e is
selected
selected
M is truthful iff A is optimal
(0 otherwise)
(0 otherwise)
Algorithmic mechanism design by N. Nisan and A. Ronen in STOC ’99 (GEB ‘01)
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
(skip)
 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
BB
mechanisms:
problems:
sum
objective
of payments
is to maximize
equals thethe
cost
social
of the
welfare
solution
(i valuationi(X))
Cost-Sharing Mechanisms
Multicast and Cost-Sharing




A service provider s
Selfish customers U
Who is getting the service?
How to share the cost?
is worth
5 ( 7)
Pi
real worth
is 7
Accept or
reject the
service?
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!
Coping with Selfishness: Mechanism
Design
M = (A, P)
P1
bj
bi

P2
Algorithm A


P4
P3

Who gets serviced (Q(b))
How to reach Q(b)
(Construct tree T)
Payment P

How much each user pay
M’s Truthfulness (or Strategyproofness)
vi
M = (A, P)
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’s Group Strategyproofness
U
Coalition C
No one gains
At least one looses (ie, ui > ui)
C is useless
Breaks off C
Does this definition fit our intuition of collusion-resistant mechanisms?
Mechanism’s Requirements

Budget Balance (BB)

i T Pi(b) = COST(T)
… (natural “economic” requirements)

Cost-Sharing Budget-Balance
Mechanisms
[Penna & V, WAOA ’04]
[Penna & V, SIROCCO ’05]
[Penna & V, STACS ’06]
How to build BB, GSP Mechanisms
Cost-sharing methods: distribute COST(Q) among users in Q
 (Q,i)  0
Q
U
 (Q,i) = 0, i  Q
  (Q,i) = COST(Q)
Idea: associate prices to service set
How to build BB, GSP Mechanisms
Cost-sharing method  (•,•)  Mechanism M( )
U
Q
 (Q,i) > bi
Drop i
How to build BB, GSP Mechanisms
Cost-sharing method  (•,•)  Mechanism M( )
Q1=U
U
 (Q1,i)
 (Q2,i)
Q2
 (Q3,i)
Q3
… Monotonicity…
Prices do not decrease
Changes
Group Strategyproof
…
Cross…
 (Qk,i)
Qk
[Moulin & Shenker ’97] & [PV04]
… for all Q subsets of U
Pi =  (Qk,i)
Self Cross…
… for all Q (possibly) outputted by M
Self cross monotonicity: an example
COST(Q)
50%
50%
s
Q
s
Pay less than before
This is not a cross monotonic
cost sharing method!
Self cross monotonicity: an example (2)
COST(Q)
100%
s
This is not a cross monotonic
cost sharing method!
Pay less than before
Q
s
This guy
pays 0
M() cannot
drop him
Idea: some subsets do not “appear”. We need  monotone only for
possible subsets generated by M()
Sequential Algorithms
Q1=U

U
Q2

Q3
.
.
.
…
…
A is sequential if for
some bid vectors
reaches a chain of sets
Q1, …, Q|U|, Q|U|+1=Ø
Sequential algorithms
admits a self crossmonotonic cost-sharing
method
Q|U|
Q|U|+1= Ø
BB & GSP Mechanisms
Optimal Sequential Algorithm for Steiner
s
Tree Game
s
MST
U
T +  = opt
Q
u

v
pay
v
s
prune
Q
u
s
Q
MST(Q)
opt Steiner tree
v is the last node added by Prim’s MST algorithm
s
u

v
T +
Q

v
>
T* + 
Adding Fairness to Our Mechanisms
s

MST

U
pay
Payment is still self
cross-monotonic
Is it possible to have no
free rider?

prune
s
Q
MST(Q)
opt Steiner tree
No! Unless P=NP
Can we do better without Sequential
Algorithms?
M = (A, P)
M is SP, BB, …
M for 2 users
A is sequential
“Natural” GSP Mechanisms
A is sequential
Mechanisms with Verification
[Ferrante, Parlato, Sorrentino & V, WAOA 2005]
[Auletta, De Prisco, Penna, Persiano & V, ICALP 2006]
[V, WINE 2006]
[Penna & V. , 2007]
Motivating Verification Model
Used Car market: The Kelley Blue Book – the Trusted Resource (www.kbb.com)
The Trusted Resource
Time is trusted…
… unless a time machine will
be created
Can we engage a trusted resource within a mechanism allowing (somehow)
bids verification?
Selfish Task Scheduling
Mechanism design:
payments

utility = payment - cost
Awarded independently from
the execution!
Optimal Makespan:
minx maxi ti(X)
no VCG!
M1
M2
M3
M4
M5
bt11
bt22
bt33
bt44
bt55
ti = 1 / si (ie, the inverse of the speed)
Allocation X

cost = ti(X) = ti • loadi(X)
Verifiable Selfish Agents
Verification = observe jobs’ release time
3
ti(X) = loadi(X) • ti
i bids from the set {1/2, 1, 2}
Verification is
impossible!
1
1/2
i underbids
i’s release time should be 2 but…
… i’s finishing time is 4
ti = 1
1
i overbids
1
i can wait 2 time slots
delivering the results in
the right time
2
IDEA ([Nisan & Ronen, 99]): No payment for underbidding agents
The Power of Verification
Classical mechanisms
loadi
Mechanisms w/ Verification
algorithms
loadi
NO!
TRUTHFUL
NO!
TRUTHFUL
[Archer & Tardos,
‘01]
bi
[Auletta & al,b‘04]
i
Payment functions
Not unique
loadi
Unique
Pi(bi, b-i)= Wmax / bi (= Wmax • si)
Related to max possible supported cost
bi
ti [Archer & Tardos,
‘01]
Scaling up for general speeds
The Power of Verification: Breaking
Lower Bounds
weight
Efficient APX
truthful
mechanisms
w/verification:
p2
p3
p4
p5
p6
p7
p8
p9
p1
priority
c-APX algorithm A  c(1+)-APX mechanism
M1
M2
M3
M4
M5
bt11
bt22
bt33
bt44
bt55
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
(Optimal) Mechanisms with Verification
…
…
Jj
J1
bi1
M1
b1
agent1
Jn
bij
…
bin
…
…
Mi
bi
…
agenth
…
Goal: minimizing the makespan
We don’t if truthful mechanisms
without verification do exist
…
Breaking lower bounds for
classical mechanisms
concerning many natural
problems (eg, variants of
SPT problem)
Mm
bm
agentk
Given an algorithm c-apx…
c(1+)-apx
exact truthful
There exists a an
mechanism with verification
polytime not polynomial-time)
(althougt
Optimal Collusion-Resistant Mechanisms
w/ Verification
GSP do not consider side payments
U
Coalition C
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
Conclusions

Cost-Sharing Games

Simple techniques…




… lead to polynomial-time cost-sharing mechanisms for NPHard 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
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)
Questions?