Collusion-Resistant Mechanisms with Verification Yielding Optimal Solutions
Paolo Penna and Carmine Ventre
Already on these screens...
Concept of mechanisms with verification Construction of optimal
mechanisms w/ verification A class of social choice functions admitting CRMs
w/ verification for any bounded domain Construction of optimal truthful mechanisms
w/ verification for any bounded domain and any cost function of a certain form Shown the technique only for finite domains
collusion-resistant
Routing in Networkss
12
310
2
1
1
4
37
71
Internet
Change over time (link load)
Private Cost
No Input Knowledge
Selfishness
Mechanisms: Dealing w/ Selfishness
Augment an algorithm with a payment function
The payment function should incentive in telling the truth
Design a truthful mechanism
s
12
310
2
1
1
4
37
71
Truthful Mechanisms
M = (A, P)
s
Utility (true, , .... , ) ≥ Utility (bid, , .... , ) for all true, bid, and , ...,
M truthful if:
Utility = Payment – cost = – true
Optimization & Truthful Mechanisms Objectives in contrast
Many lower bounds (even for two players and exponential running time mechanisms) Variants of the SPT [Gualà & Proietti, 06] Minimizing weighted sum scheduling [Archer & Tardos,
01] Scheduling Unrelated Machines [Nisan & Ronen, 99],
[Christodoulou & Koutsoupias & Vidali 07], … Workload minimization in interdomain routing [Mu’alem
& Schapira, 07], [Gamzu, 07] & a brand new computational lower bound
CPPP [Papadimitriou & Schapira & Singer, 08] Study of optimal truthful mechanisms
Collusion-Resistant Mechanisms
CRMs are “impossible” to achieve Posted price
[Goldberg & Hartline, 05]
Fixed output [Schummer, 02] Unbounded apx
ratios
Coalition C
+
–
∑ Utility (true, true, , .... , ) ≥ ∑ Utility (bid, bid, , .... , ) for all true, bid, C and , ..., in C in C
Describing Real World: Collusions
“Accused of bribery” 1,030,000 results on Google 1,635 results on Google news
Can we design CRMs using real-world information?
Describing Real World: Verification TCP datagram starts at time
t Expected delivery is time t +
1… … but true delivery time is t
+ 3 It is possible to partially
verify declarations by observing delivery time
Other examples: Distance Amount of traffic Routes availability
31TCP
IDEA ([Nisan & Ronen, 99]): No payment for agents caught by verification
(The general) Verification Setting Give the payment if the results are given “in
time” Agent is selected when reporting bid1. true bid just wait and get the payment 2. true > bid no payment (punish agent )
Utility = Payment – cost = – true
Comparison with [NR99] verification setting Two different declarations
Type Execution time
verification (reported exe time ≥ true one) Allocation depends on Payments depend on ,
[NR99] verification: agent not caught (i.e., bid ≥ cost)
“Physical” assumption e.g., not usable for TCP example
cost = 10 minsbid = 3 hrs
,Utility = Payment – reported cost = – bid NR
[NR99] verification: agent caught (i.e., bid < cost)
,Utility = Payment – true cost = – cost NR
Mechanism truthful (resp. CR) in our verification model
Mechanism truthful (resp. CR) in [NR99] verification model
(Easy) Thm.
CRMs w/verification for single-parameter bounded domains Agents aka as “binary” (in/out outcomes)
e.g., controls edges
any number between two known constants bidmin & bidmax
CRMs w/verification for single-parameter bounded domains: ideas Sufficient Properties
Pay all agents(!!!) Algorithm 2-resistants
12
310
2
1
1
4
37
7
1
2
10
e
e’
Truthfulness • e’ has no way to enter the
solution by unilaterally lying• In coalition they can make the
cut really expensive
UtilityC(true)= Pe – 2true
10+Petrue
11+Petrue
truePe’ = 0
UtilityC(bid)=Pe’ – 10bid ≥ 10 + Pe – 10 > UtilityC(true)true
Truthful Mechanisms w/ Verification: the threshold
bid < in
bid > out
bid
A(bid, )
(A,P) truthful with verification
[Auletta&De Prisco&Penna&Persiano,04]
ths
in
out
ths
ths
2-resistant Algorithms
t=(true, true, , .... , )
ths
b’
ths
t’≥
b’ =
b=(bid, bid, , .... , )
t’ =
in
out
thsb’
thst’
b- =(bid , , .... , )
t- =(true , , .... , )
bid ≥ true (Verification doesn’t work)
Exploiting Verification: CRMs w/verification
At least one agent is caught by verification
Usage of the constant h for bounded domains
Payment (b) =
h - if outths
b’
h if in
Thm. Algorithm A 2-resistant (A,Payment) is a CRM w/ verification
Proof Idea.
Proof (continued)
in
out
thsb’
thst’
No agent is caught by verification Each is not worse by truthtelling
btin in
in
in
out
out out
out
Utility (t) = = Utility (b)h - true
true
Utility (t) = h - ≥ h - true ths
t’ = Utility (b)
Payment (b) = h - if out
h if in
thsb’
h - ≥ h -ths
t’ths
b’ h - true ≥ h -ths
b’
true
Simplifying Resistance Conditiont=(true, true, , .... , )
ths
b’
ths
t’≥
b’ =
b=(bid, bid, , .... , )
t’ =
in
out
thsb’
thst’
b- =(bid , , .... , )
t- =(true , , .... , )
bid ≥ true (Verification doesn’t work)
b=(bid , , .... , ) t=(true , , .... , ) bid ≥ true
b’ = b- t’ = t-
in
out
thsb’
thst’
Thm. Optimal threshold-monotone algorithms with fixed tie breaking are n-resistant
Optimal CRMs
Applications
Optimal CRMs for: MST k-items auctions Cheaper payments wrt mechanisms of previous
“episode” Optimal truthful mechanisms for
multidimensional agents bidding from bounded domains and non-decreasing cost functions of the form
Cost(bid , ..., bid )
Multidimensional AgentsOutcomes = {X1, ..., Xm}
bid =(bid(X1), .... ,bid(Xm))
b=(bid , ..., bid )
B(b) optimal algorithm with fixed tie breaking rule
A(bid ) m optimal single-player functions
View bid as a virtual coalition C of m single-parameter agents
P (b) = ∑ payment (bid )in C
Lemma. If every A is m-resistant then (B,P) is truthful
Thm. For non-decreasing cost function of the form
Cost(bid , ..., bid )every A is threshold-monotone
Every A is m-resistant
(B,P) is truthful
Conclusions
Optimal CRMs with verification for single-parameter bounded domains
Optimal truthful mechanisms for multidimensional bounded domains Construction tight (removing any of the hypothesis we get an
impossibility result) Overcome many impossibility results by using a real-
world hypothesis (verification) For finite domains: Mechanisms polytime if algorithm is Can we deal with unbounded domains? Threshold-monotone vs. utilitarian algorithms