320 likes | 437 Views
Mechanisms with Verification. Carmine Ventre [Penna & V, 2007] [V, WINE ‘06]. Routing in Networks. s. Change over time (link load). No Input Knowledge. 3. 10. 1. 1. 2. Selfishness. Private Cost. 2. 1. 3. 7. 7. 4. 1. d. Internet. Mechanisms: Dealing w/ Selfishness. s.
E N D
Mechanisms with Verification Carmine Ventre [Penna & V, 2007] [V, WINE ‘06]
Routing in Networks s Change over time (link load) No Input Knowledge 3 10 1 1 2 Selfishness Private Cost 2 1 3 7 7 4 1 d Internet
Mechanisms: Dealing w/ Selfishness s • Augment an algorithm with a payment function • The payment function should incentive in telling the truth • Design a truthful mechanism 3 10 1 1 2 2 1 3 7 7 4 1 d
M = (A, P) VCG Mechanisms Pe’ = Ae’=∞ – Ae’=0 = 7 Ae’=∞ = 10 + 3 + 1 s e’ 3 Ae’=0 = 3 + 1 + 2 + 3 + 1 - 3 = 7 10 1 1 2 s 2 1 3 7 4 7 1 d Pe = Ae=∞ – Ae=0 if e is selected (0 otherwise) Utilitye’ = Pe’ – coste’ = 7 – 3 M is truthful iff A is optimal
Inside VCG Payments Cost nondecreasing in the agents’ bids Pe = Ae=∞ – Ae=0 Cost of computed solution w/ e = 0 Cost of best solution w/o e Mimimum (A is OPT) Independent from e h(b–e) A(true) A(false) b–e all but e
Describing Real World: Collusions • Accused of bribery • 1,030,000 results on Google • 1,635 results on Google news • Are VCG mechanisms resistant to collusions?
VCGs and Collusions e3 reported value Pe1(true) = 6 – 1 = 5 s Pe1(false) = 11 – 1 – 1 = 9 3 e3 e1 11 6 “Pe3(false)” = 1 bribe 1 e2 d h( ) must be a constant b–e “Promise 10% of my new payment” (briber)
Constructing Collusion-Resistant Mechanisms (CRMs) • h is a constant function • A(true) A(false) Coalition C (A, VCG payments) is a CRM How to ensure it? “Impossible” for classical mechanisms ([GH05]&[S00])
Describing Real World: The Trusted Resource 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?
Time is Trusted • 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 TCP 3 1 IDEA ([Nisan & Ronen, 99]): No payment for agents caught by verification
Problem has an optimal CRM Problem has a truthful VCG Exploiting Verification: Optimal CRMs For any i ti bi No agent is caught by verification A(true) = A(true, (t1, …, tn)) A is OPT A(false, (t1, …, tn)) Cost is monotone A(false, (b1, …, bn)) VCG hypotheses = A(false) At least one agent is caught by verification Usage of the constant h for bounded domains Any value between bmin e bmax
MinMax objective functions admit a (1+ε)-apx CRM Approximating CRMs • Extending technique above: Optimize MinMax + AVCG • Example of MinMax objective functions • Interdomain routing • Scheduling Unrelated Machines Lower bound of 2.61… for truthful mechanisms w/o verification [KV07]
General Monotone Cost Functions • Optimizing monotone nondecreasing cost functions always admits a truthful mechanism with verification (for bounded domain) • Will show technique for Finite Domains • Breaking several lower bounds for natural problems • Variants of the SPT [Bilò&Gualà&Proietti, 06] • Scheduling Unrelated Machines [Nisan&Ronen, 99, MS07, CKV07, G07, KV07] • Interdomain Routing [MS07, G07]
… … Jj Jn J1 … … M1 Mi Mm t1 ti tm … … types b1 bi … … bm Task Scheduling [Nisan&Ronen’99] tasks Mechanism design: payments utility = payment - cost Selfish machines • Optimal Makespan: • minx maxi costi(X) • Verification • (observe machine behavior) no VCG! AllocationXcosti(X) =ti,j + ti,n
Verification • Give the payment if the results are given “in time” • Machine i gets job j when reporting bi,j • ti,jbi,j just wait and get the payment • ti,j>bi,j no payment (punish agent i)
No payment if ti(X)>bi(X) (verification) (t1,…,tn) Setup • Agent i holds a resource of typeti • X1,…, Xk feasible solutions (how we use resources) • costi(X) = ti(X) = time • utility = payment – cost • Goal: minimize m(X,t) Truthful mechanism running an optimal algorithm
truth-telling a b (a,b) a(Y) - a(X) X=A(a) Y=A(b) Algorithm b(X) - b(Y) (b,a) Must be non-negative Existence of the Payments A() A(, b-i) P() P(, b-i) Truthfulness (single player): P(a) - a(A(a)) P(b) - a(A(b)) P(a) + (a,b) P(b) P(b) - b(A(b)) P(a) - b(A(a)) P(b) + (b,a) P(a)
There is no cycle of negative length a b k c … Existence of the Payments Truthful mechanism (A, P) Can satisfy all P(a) + (a,b) P(b) [Malkhov&Vohra’04][MV’05][Saks&Yu’05] [Bikhchandani&Chatterji&Lavi&Mu'alem&Nisan&Sen’06]……
a(Y) > b(Y) a b a(Y) - a(X) 0 0 voluntary participation nonnegative costs Why Verification Helps Some edges may “disappear” X Y • True type is “a” but report “b”: • a(Y) b(Y) can “simulate b” and get P(b) • a(Y) > b(Y) no payment (verification helps) P(a) - a(X) P(b) - a(Y) P(a) - a(X) - a(Y)
a b a(Y) - a(X) Why Verification Helps Only these edges remain: X a(Y) b(Y) Y Negative cycles may desappear
Optimal Mechanisms • Algorithm OPT: • Fix lexicographic order • X1 X2 … Xk • Return the lexicographically minimal • Xj minimizing m(b,Xj)
a b c X is OPT(a,b-i) m(•,b-i(Y)) is non-decreasing Optimal Mechanisms a(Y) b(Y) b(Z) c(Z) X Y Z c(X) a(X) m(a(X),b-i(X)) m(a(Y),b-i(Y)) m(b(Y),b-i(Y)) m(b(Z),b-i(Z)) m(c(Z),b-i(Z)) m(c(X),b-i(X)) m(a(X),b-i(X))
a b c X=Y=Z Optimal Mechanisms a(Y) b(Y) b(Z) c(Z) X Y Z c(X) a(X) m(a(X),b-i(X)) = m(a(Y),b-i(Y)) = m(b(Y),b-i(Y)) = m(b(Z),b-i(Z)) = m(c(Z),b-i(Z)) = m(c(X),b-i(X)) = m(a(X),b-i(X)) X Y Z X
Finite Domains All vertices in a cycle lead to the same outcome • Theorem: Truthful OPT mechanism with verification for any finite domain and any • m(X,b)=m(b1(X),…,bm(X)) • non decreasing in the agents’ costs bi(X) Different proof of existence of exact truthful mechanism w/ verification for makespan on unrelated machines [Nisan&Ronen‘99]
… … Jj Jn J1 … … M1 Mi Mm t1 ti tm … … types agentk agent1 … agentl … b1 bi … … bm Compound Agents Each agent declares more than a type
a b a(Y) - a(X) X Y Verification for Compound Agents • Punish agent i whenever uncovered lying over one of its dimensions (e.g., machines) • Collusion-Resistant mechanisms w/ verification w.r.t. known coalitions a = (a1, a2) b = (b1, b2) Edge (a,b) exists iff a1(Y) b1(Y)anda2(Y) b2(Y) OPT is implementable w/verification
… … Jj Jn J1 … … M1 Mi Mm bi b1 … … bm agentk … agentl agent1 … Compound Agents • Collusion-Resistant for known coalitions mechanisms w/ verification for • makespan on unrelated machines • makespan on related machines Exponentialtime Exact mechanisms Polynomial time c (1+) - APX
Truthful Grids? Doughnuts.exe Auction Can grid nodes declare a completion time before actually executing Homer’s task?
Conclusions • Mechanisms with Verification: a more powerful model… • … breaking known lower bounds for natural problems • … dealing with the strongest notion of agents’ collusion • …describing real-life applications
Further Research 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])