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
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!
Vickrey Auctions Features
Incentives to bid truthfully
Extend to more goods case
Winners pay the first non-winning bid
(Not common, however…) Used in practice
Utility is maximized by reporting the true valuation
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
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
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
BB
mechanisms:
problems:
sum
objective
of payments
is to maximize
equals thethe
cost
social
of the
welfare
solution
(i valuationi(X))
Cost-Sharing Mechanisms
Why Cost-Sharing Methods?
11
Town A needs a water
distribution system
Town A
15
Town B needs a water
distribution system
Town B
B’s cost is € 7 millions
A and B construct a unique
water distribution system for
both cities
7
A’s cost is € 11 millions
The total cost is € 15
millions
Why not collaborate and
save € 3 millions?
How to share the cost?
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
Efficiency No Group strategy-proof
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!
Efficient Mechanisms for
Multicast Transmissions in
Wireless Networks
[Penna & V, SIROCCO ‘04]
Wireless transmission
d(i,j)α
i
j
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
Wireless multicast transmission
known
10€
1€
1€
3€
source
Nello 1€
Carmine 1€
Clemente 10€
Marco 30€
Pino 50€
Who receives Napoli-Juventus private
How to transmit
Goal: maximize
Benefit – Cost
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)
WORTH(X)-COST(X)
= i valuationi(X)
iX
vi - ci = WORTH(X)
- COST(X)
ci
vi
Initially, charge to every receiver i
the cost ci of its ingoing connection
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
vi
cj
Graph Networks
NP-hard
NWpay (i ) c i
i
j
NW
opt
(k, c i c k )
kch( p( i) ),c k c i
k s.t. ck ≤ cj
k gets cj-ck
NW
(
i
)
v
max
0
,
max
c
NW
(
k
)
NWpay ( j ) units of credit
NWopt (i,opt
c) v i i max NW
max
opt j( j , c c j ), jch
opt
jch ( i )
( i ),c c j
kch ( i ),ck c j
jch (i ),cc 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
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
(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 Q µ U 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|, ;
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. , Submitted]
Verification model
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
Verification Setting
Give the payment if the results are given in
time
1.
2.
Machine i gets positive load when reporting bi
ti bi just wait and get the payment
ti > bi no payment (punish agent i)
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 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
Generalizing Verification Setting
Give the payment if the results are given “in
time” (ie, consistently with bi)
1.
2.
For the outcome computed in bi, ie, X
ti(X) bi(X) just wait and get the payment
ti(X) > bi(X) no payment (punish agent i)
bi(¢)
ti(¢)
General cost functions
(e.g., router latency)
(Optimal) Mechanisms with Verifications
…
…
Jj
J1
bi1
M1
b1
agent1
Jn
bij
…
bin
…
…
Mi
bi
…
agentl
…
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, 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 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
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 BudgetBalanced 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.
www.dia.unisa.it/~ventre
Wireless Energy Consumption
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.
Cryptography
© Copyright 2026 Paperzz