Post on 20-Dec-2015
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
Research Classification
Economics
Computer Science
“Worst-case equilibria” by E. Koutsoupias, C. H. Papadimitriou in STACS ‘99
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
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
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
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
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
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
Cost-Sharing Mechanisms
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
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?
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
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
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
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?
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
Efficient Mechanisms for
Multicast Transmissions in Wireless Networks
[Penna & V, SIROCCO ‘04]
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)α
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
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
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
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
Cost-Sharing Budget-Balance Mechanisms
[Penna & V, WAOA ’04]
[Penna & V, SIROCCO ’05]
[Penna & V, STACS ’06]
Cost-Sharing Budget Balance Mechanisms
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
How to build BB, GSP MechanismsCost-sharing method (•,•) Mechanism M( )
(Q,i)U
Drop iQ > bi
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…
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!
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!
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
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
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
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, …
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
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!
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
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)
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]
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
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)
(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
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
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
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