440 likes | 451 Views
This article discusses algorithms for selfish agents and explores the intersection of computer science and economics in understanding their behavior. It covers topics such as Vickrey auctions, mechanism design, cost-sharing mechanisms, and efficient multicast transmission in wireless networks.
E N D
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-caseequilibria” by E. Koutsoupias, C. H. Papadimitriou in STACS ‘99
Auctions 10 A 7 6 B 6 First price sealed bidauction 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) B Utility is -1 (= 10 – 11) in place of 0 Second price sealed bid auction This is truthful!
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 3 10 1 1 s 2 2 1 3 7 7 4 1
M = (A, P) VCG Mechanisms valuation Utility(3) = payment(3) – cost(3) = 3 – 3 = 0 Utility(9) = payment(9) – cost(9) = 9 – 3 = 6 9 3 10 1 1 2 s 2 1 3 7 4 7 Ae=0 = Ae – be 1 Pe = Ae=∞– Ae=0 if e is selected (0 otherwise) Pe= beif e is selected (0 otherwise) M is truthful iff A is optimal Algorithmicmechanism 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 problems: objective is to maximize the social welfare (ivaluationi(X)) BB mechanisms: sum of payments equals the cost of the solution
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? 11 15 Town A 7 Town B
real worth is 7 Multicast and Cost-Sharing Accept or reject the service? • A service provider s • Selfish customers U • Who is getting the service? • How to share the cost? is worth 5 ( 7) Pi
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!
M = (A, P) 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 P1 bj bi P2 P4 P3
M = (A, P) M’s Truthfulness (or Strategyproofness) vi 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) whereWORTH(T):= iTvi • … (natural requirements) BB and efficiency are mutually exclusive!
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 d(i,j)α i j
Wireless multicast transmission known 10€ 1€ 1€ 3€ source Nello 1€ Carmine 1€ Clemente 10€ Marco 30€ Pino 50€ • Who receives Napoli-Juventus • How to transmit • Goal: maximize Benefit – Cost private Designing an efficient mechanism NW(T) = WORTH(T) – COST(T)
VCG Trick (marginal cost mechanism) • Utilitarian problem: • Xsol, measure(X)=i valuationi(X) • Aoptcomputes X solmaximizingmeasure(X) • PVCG: M=(Aopt, PVCG) is truthful
VCG Trick (marginal cost mechanism) Making our problem utilitarian: = i measure(X) valuationi(X) iX WORTH(X)-COST(X) vi - ci = WORTH(X) - COST(X) Initially, charge to every receiver i the cost ci of its ingoing connection ci Pi = ci + PVCG vi 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 vi i cj j k s.t. ck≤ cj k gets cj-ck units of credit
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) Drop i > bi
Q1=U Q2 (Q2,i) (Qk,i) Prices do not decrease Changes (Q3,i) Q3 Group Strategyproof … U Qk How to build BB, GSP Mechanisms Cost-sharing method (•,•) Mechanism M() … Monotonicity… Pi = (Qk,i) [Moulin & Shenker ’97] & [PV04] Self Cross… Cross… … for all Q subsets of U … 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! Q This guy pays 0 s M() cannot drop him Pay less than before Idea: some Q µ U do not “appear”. We need monotone only for possible subsets generated by M()
Q1=U Q2 Q3 … U … Q|U| 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 . . . BB & GSP Mechanisms Q|U|+1 = ;
s s s s U MST(Q) MST Q u pay v v prune u Q > T* Optimal Sequential Algorithm for Steiner Tree Game T + = opt s Q Q u v v T + + opt Steiner tree v is the last node added by Prim’s MST algorithm
s s U MST(Q) MST pay prune Q Adding Fairness to Our Mechanisms • Payment is still self cross-monotonic • Is it possible to have no free rider? • No! Unless P=NP opt Steiner tree
M = (A, P) Can we do better without Sequential Algorithms? 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
no VCG! Selfish Task Scheduling Awarded independently from the execution! Mechanism design: payments utility = payment - cost Optimal Makespan: minx maxi ti(X) AllocationX cost = ti(X) = ti• loadi(X) M1 M2 M3 M4 M5 b1 b2 b3 b4 b5 t1 t2 t3 t4 t5 ti = 1 / si (ie, the inverse of the speed)
Verifiable Selfish Agents Verification = observe jobs’ release time 3 Verification is impossible! ti(X) = loadi(X) ¢ti i bids from the set {1/2, 1, 2} 1 1/2 i underbids i’s release time should be 2 but… … i’s finishing time is 4 ti= 1 i can wait 2 time slots delivering the results in the right time 1 i overbids 1 2 IDEA ([Nisan & Ronen, 99]): No payment for underbidding agents
Verification Setting • Give the payment if the results are given in time • Machine i gets positive load when reporting bi • tibi just wait and get the payment • ti>bi no payment (punish agent i)
The Power of Verification Classical mechanisms Mechanisms w/ Verification algorithms loadi loadi NO! NO! TRUTHFUL TRUTHFUL [Archer & Tardos, ‘01] [Auletta & al, ‘04] bi bi Payment functions Not unique loadi Unique Pi(bi, b-i)=Wmax/ bi (= Wmax¢si) Related to max (possible) supported cost bi ti Scaling up for general speeds [Archer & Tardos, ‘01]
The Power of Verification: Breaking Lower Bounds Efficient APX truthful mechanisms w/verification: c-APX algorithm A c(1+)-APX mechanism weight p2 p3 p4 p5 p6 p7 p8 p9 p1 priority M1 M2 M3 M4 M5 b1 b2 b4 b5 t3 b3 t1 t2 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
bi(¢) General cost functions (e.g., router latency) ti(¢) 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 • ti(X) bi(X) just wait and get the payment • ti(X) >bi(X) no payment (punish agent i)
… … Jj Jn J1 bi1 bij bin … … M1 Mi Mm b1 bm bi agentk agent1 … agentl … (Optimal) Mechanisms with Verifications Breaking lower bounds for classical mechanisms concerning many natural problems (eg, variants of SPT problem) … … Given an algorithm c-apx… Goal: minimizing the makespan a c(1+)-apx an exact There exists truthful mechanism with verification We don’t if truthful mechanisms without verification do exist polytime (althougt not polynomial-time)
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-timecost-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