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?
© Copyright 2026 Paperzz