Economics and Computer Science Auctions CS595, SB 213 Xiang-Yang Li Department of Computer Science Illinois Institute of Technology Auction One Item Auctions Methods for allocating goods, tasks, resources... Participants: auctioneer, bidders Enforced agreement between auctioneer & winning bidder(s) Easily implementable e.g. over the Internet Many existing Internet auction sites Auction (selling item(s)): One seller, multiple buyers Reverse auction (buying item(s)): One buyer, multiple sellers E.g. selling a bull on eBay E.g. procurement We will discuss the theory in the context of auctions, but same theory applies to reverse auctions at least in 1-item settings Auction settings Private value : value of the good depends only on the agent’s own preferences E.g. cake which is not resold or showed off Common value : agent’s value of an item determined entirely by others’ values E.g. treasury bills Correlated value : agent’s value of an item depends partly on its own preferences & partly on others’ values for it E.g. auctioning a transportation task when bidders can handle it or reauction it to others Auction protocols: All-pay Protocol: Each bidder is free to raise his bid. When no bidder is willing to raise, the auction ends, and the highest bidder wins the item. All bidders have to pay their last bid Strategy: Series of bids as a function of agent’s private value, his prior estimates of others’ valuations, and past bids Best strategy: ? In private value settings it can be computed (low bids) Potentially long bidding process Variations Each agent pays only part of his highest bid Each agent’s payment is a function of the highest bid of all agents E.g. CS application: tool reallocation [Lenting&Braspenning ECAI-94] Auction protocols: English (first-price open-cry = ascending) Protocol: Each bidder is free to raise his bid. When no bidder is willing to raise, the auction ends, and the highest bidder wins the item at the price of his bid Strategy: Series of bids as a function of agent’s private value, his prior estimates of others’ valuations, and past bids Best strategy: In private value auctions, bidder’s dominant strategy is to always bid a small amount more than current highest bid, and stop when his private value price is reached No counterspeculation, but long bidding process Variations In correlated value auctions, auctioneer often increases price at a constant rate or as he thinks is appropriate Open-exit: Bidder has to openly declare exit without re-entering possibility => More info to other bidders about the agent’s valuation Auction protocols: First-price sealed-bid Protocol: Each bidder submits one bid without knowing others’ bids. The highest bidder wins the item at the price of his bid Single round of bidding Strategy: Bid as a function of agent’s private value and his prior estimates of others’ valuations Best strategy: No dominant strategy in general Strategic underbidding & counterspeculation Can determine Nash equilibrium strategies via common knowledge assumptions about the probability distributions from which valuations are drawn Strategic underbidding in first-price sealed-bid auction N risk-neutral bidders Common knowledge that their values are drawn independently, uniformly in [0, vmax] Claim: In symmetric Nash equilibrium, each bidder i bids bi = b(vi) = vi (N-1) / N Proof. First divide all bids by vmax so bids were in effect drawn from [0,1]. We show that an arbitrary agent, agent 1, is motivated to bid b1 = b(v1) = v1 (N-1) / N given that others bid b(vi) = vi (N-1) / N Prob{b1 is highest bid} = Pr{b1 > bi} = Pr{b1 > v2 (N-1)/N} … Pr{b1 > vN (N-1)/N} = Pr{b1 > v2 (N-1)/N)}N-1 = Pr{b1 N / (N-1) > v2}N-1 = (b1 N / (N-1))N-1 E[u1|b1] = (v1-b1) Prob{b1 is highest bid} = (v1-b1) (b1 N / (N-1))N-1 dE[u1|b1] / db1 = (N/(N-1))N-1 (-N b1N-1 + v1 (N-1) b1N-2) = 0 <=> N b1N-1 = v1 (N-1) b1N-2 | divide both sides by b1N-2 0 N b1 = v1 (N-1) <=> b1 = v1 (N-1) / N QED Strategic underbidding in first-price sealed-bid auction Example 2 risk-neutral bidders: A and B A knows that B’s value is 0 or 100 with equal probability A’s value of 400 is common knowledge In Nash equilibrium, B bids either 0 or 100, and A bids 100 + (winning more important than low price) Auction protocols: Dutch (descending) Protocol: Auctioneer continuously lowers the price until a bidder takes the item at the current price Strategically equivalent to first-price sealed-bid protocol in all auction settings Strategy: Bid as a function of agent’s private value and his prior estimates of others’ valuations Best strategy: No dominant strategy in general Lying (down-biasing bids) & counterspeculation Possible to determine Nash equilibrium strategies via common knowledge assumptions regarding the probability distributions of others’ values Requires multiple rounds of posting current price Dutch flower market, Ontario tobacco auction, Filene’s basement, Waldenbooks Dutch (Aalsmeer) flower auction Auction protocols: Vickrey (= second-price sealed bid) Protocol: Each bidder submits one bid without knowing (!) others’ bids. Highest bidder wins item at 2nd highest price Strategy: Bid as a function of agent’s private value & his prior estimates of others’ valuations Best strategy: In a private value auction with risk neutral bidders, Vickrey is strategically equivalent to English. In such settings, dominant strategy is to bid one’s true valuation No counterspeculation Independent of others’ bidding plans, operating environments, capabilities... Single round of bidding Widely advocated for computational multiagent systems Old [Vickrey 1961], but not widely used among humans Revelation principle --- proxy bidder agents on www.ebay.com, www.webauction.com, www.onsale.com Vickrey auction is a special case of Clarke tax mechanism Who pays? The bidder who takes the item away from the others (makes the others worse off) Others pay nothing How much does the winner pay? The declared value that the good would have had for the others had the winner stayed home = second highest bid Results for private value auctions Dutch strategically equivalent to first-price sealed-bid Risk neutral agents => Vickrey strategically equivalent to English All four protocols allocate item efficiently English & Vickrey have dominant strategies => no effort wasted in counterspeculation Which of the four auction mechanisms gives highest expected revenue to the seller? (assuming no reservation price for the auctioneer) Assuming valuations are drawn independently & agents are risk-neutral The four mechanisms have equal expected revenue! Revenue equivalence theorem (II) Proof sketch. We show that expected payment by an arbitrary bidder i is the same in both equilibria. By revelation principle, can restrict to Bayes-Nash incentive-compatible direct revelation mechanisms. So, others’ bids are identical to others’ valuations. ti = expected payment by bidder (expectation taken over others’ valuations) By choosing his bid bi, bidder chooses a point on this curve (we do not assume it is the same for different mechanisms) ui = vi pi - ti <=> ti = vi pi - ui ti(pi*(vi)) vi pi*(vi) utility increases pi = probability of winning (expectation taken over others’ valuations) dti(pi*(vi)) / dpi*(vi) = vi Integrate both sides from pi*(vi) to pi*(vi): ti(pi*(vi)) - ti(pi*(vi)) = = vivi s dp *(s) i pi*(vi)pi*(vi) v (q) dq i Since the two equilibria have the same allocation probabilities yi(v1, … v|A|) and every bidder reveals his type truthfully, for any realization vi, pi*(vi) has to be the same in the equilibria. Thus the RHS is the same. Now, since ti(pi*(vi)) is same by assumption, ti(pi*(vi)) is the same. QED Revenue equivalence ceases to hold if agents are not risk-neutral Risk averse bidders: Dutch, first-price sealed-bid ≥ Vickrey, English Risk averse auctioneer: Dutch, first-price sealed-bid ≤ Vickrey, English Results for non-private value auctions Dutch strategically equivalent to first-price sealed-bid Vickrey not strategically equivalent to English All four protocols allocate item efficiently Winner’s curse Common value auctions: v˜1 E[v | vˆ1,b(vˆ2 ) b( vˆ1 ),...,b( vˆN ) b(vˆ1 )] Agent should lie (bid low) even in Vickrey & English Revelation to proxy bidders? Thrm (revenue non-equivalence ). With more than 2 bidders, the expected revenues are not the same: English ≥ Vickrey ≥ Dutch = first-price sealed bid Results for non-private value auctions Common knowledge that auctioneer has private info Q: What info should the auctioneer release ? A: auctioneer is best off releasing all of it “No news is worst news” Mitigates the winner’s curse Results for non-private value auctions. Asymmetric info among bidders E.g. 1: auctioning pennies in class E.g. 2: first-price sealed-bid common value auction with bidders A, B, C, D A & B have same good info. C has this & extra signal. D has poor but independent info A & B should not bid; D should sometimes => “Bid less if more bidders or your info is worse” Most important in sealed-bid auctions & Dutch Vulnerability to bidder collusion [even in private-value auctions] v1 = 20, vi = 18 for others Collusive agreement for English: e.g. 1 bids 6, others bid 5. Self-enforcing Collusive agreement for Vickrey: e.g. 1 bids 20, others bid 5. Self-enforcing In first-price sealed-bid or Dutch, if 1 bids below 18, others are motivated to break the collusion agreement Need to identify coalition parties Vulnerability to shills Only a problem in non-private-value settings English & all-pay auction protocols are vulnerable Classic analyses ignore the possibility of shills Vickrey, first-price sealed-bid, and Dutch are not vulnerable Vulnerability to a lying auctioneer Truthful auctioneer classically assumed In Vickrey auction, auctioneer can overstate 2nd highest bid to the winning bidder in order to increase revenue Bid verification mechanisms, e.g. cryptographic signatures Trusted 3rd party auction servers (reveal highest bid to seller after closing) In English, first-price sealed-bid, Dutch, and all-pay, auctioneer cannot lie because bids are public Auctioneer’s other possibilities Bidding Seller may bid more than his reservation price because truth-telling is not dominant for the seller even in the English or Vickrey protocol (because his bid may be 2nd highest & determine the price) => seller may inefficiently get the item In an expected revenue maximizing auction, seller sets a reservation price strategically like this [Myerson 81] Auctions are not Pareto efficient (not surprising in light of Myerson-Satterthwaite theorem) Setting a minimum price Refusing to sell after the auction has ended Undesirable private information revelation Agents strategic marginal cost information revealed because truthful bidding is a dominant strategy in Vickrey (and English) Observed problems with subcontractors First-price sealed-bid & Dutch may not reveal this info as accurately Lying No dominant strategy Bidding decisions depend on beliefs about others Untruthful bidding with local uncertainty even in Vickrey Uncertainty (inherent or from computation limitations) Many real-world parties are risk averse Computational agents take on owners preferences Thrm [Sandholm ICMAS-96]. It is not the case that in a private value Vickrey auction with uncertainty about an agent’s own valuation, it is a risk averse agent’s best (dominant or equilibrium) strategy to bid its expected value Higher expected utility e.g. by bidding low Wasteful counterspeculation Thrm [Sandholm ICMAS-96]. In a private value Vickrey auction with uncertainty about an agent’s own valuation, a risk neutral agent’s best (deliberation or information gathering) action can depend on others. E.g. two bidders (1 and 2) bid for a good. v1 uniform between 0 and 1; v2 deterministic, 0 ≤ v2 ≤ 0.5 Agent 1 bids 0.5 and gets item at price v2: 1 pdf gain loss v2 ] v1 v2 dv1 nopay 1 v1 E[1 0 1 v2 2 Say agent 1 has the choice of paying c to find out v1. Then agent 1 will bid v1 and get the item iff v1 ≥ v2 (no loss possibility, but c1 invested) ] c v1 v 2 dv pay 1 E[ v2 E[1pay] E[ nopay ] v 2 2c 1 Sniping = bidding very late in the auction in the hopes that other bidders do not have time to respond Especially an issue in electronic auctions with network lag and lossy communication links [from Roth & Ockenfels] Sniping Amazon auctions give automatic extensions, eBay does not Antiques auctions have experts [from Roth & Ockenfels] Sniping [from Roth & Ockenfels] Mobile bidder agents in eMediator Allow user to participate while disconnected Avoid network lag Put expert bidders and novices on an equal footing Full flexibility of Java (Concordia) Template agents through an HTML page for nonprogrammers Information agent Incrementor agent N-agent Control agent Discover agent Mobile bidder agents in eMediator Mobile bidder agents in eMediator... Conclusions on 1-item auctions Nontrivial, but often analyzable with reasonable effort Important to understand merits & limitations Unintuitive protocols may have better properties Vickrey auction induces truth-telling & avoids counterspeculation (in limited settings) Choice of a good auction protocol depends on the setting in which the protocol is used Multi-item auctions & exchanges (multiple distinguishable items for sale) According to Tuomas Sandholm Computer Science Department Carnegie Mellon University Multi-item auctions Auctioning multiple distinguishable items when bidders have preferences over combinations of items Example applications Allocation of transportation tasks Allocation of bandwidth Dynamically in computer networks Statically e.g. by FCC Manufacturing procurement Electricity markets Securities markets Liquidation Reinsurance markets Retail ecommerce: collectibles, flights-hotels-event tickets Resource & task allocation in operating systems & mobile agent platforms Inefficient allocation in interrelated auctions Prop. [Sandholm ICMAS-96]. If agents with deterministic valuations treat Vickrey auctions of interdependent goods without lookahead regarding later auctions, and bid truthfully, the resulting allocation may be suboptimal Optimal allocation: Agent 1 handles both tasks t1 1.0 Agent 2 Agent 1 0.5 t2 0.5 t1 auctioned first Agent 1 bids c1({t1}) = 2 Agent 2 bids c2({t1}) = 1.5 t1 allocated to Agent 2 t2 auctioned next Agent 1 bids c1({t2}) = 1 Agent 2 bids c2({t2}) = 1.5 t2 allocated to Agent 1 (or Agent 2 bids c2({t1,t2}) - c2({t1}) = 1 => either agent may get t2) Lying in interrelated auctions Prop. [Sandholm ICMAS-96]. If agents with deterministic valuations treat Vickrey auctions of interdependent goods with full lookahead regarding later auctions, their dominant strategy bids can differ from the truthful ones of the corresponding isolated auctions In the second auction (of t2) Agent 1 bids c1({t1, t2}) - c1({t1}) = 0 if it t1 has t1, and c1({t2}) = 1 if not. Agent 2 bids c2({t1, t2}) - c2({t1}) = 1 if it 1.0 has t1, and c2({t2}) = 1.5 if not. So, t1 is worth 1.5 to Agent 1 in the Agent 2 Agent 1 t2 second auction (worth 0 to Agent 2) So, in the first auction (of t1) 0.5 0.5 Agent 1 bids c1({t1}) - 1.5 and wins Lookahead requires counterspeculation Powerful contracts, decommitting, recontracting Protocol design for multi-item auctions Sequential auctions How should rational agents bid (in equilibrium)? Full vs. partial vs. no lookahead Need normative deliberation control methods Inefficiencies can result from future uncertainties Parallel auctions Inefficiencies can still result from future uncertainties Postponing & minimum participation requirements Unclear what equilibrium strategies would be Methods to tackle the inefficiencies Backtracking via reauctioning (e.g. FCC [McAfee&McMillan96]) Backtracking via leveled commitment contracts [Sandholm&Lesser95,96][Sandholm96][Andersson&Sandholm98a,b] Breach before allocation Breach after allocation Protocol design for multi-item auctions Combinatorial auctions [Rassenti,Smith&Bulfin82]... Bidder’s perspective Reduces the need for lookahead #items valuation calculations Potentially 2 Automated optimal bundling of items Auctioneer’s perspective: Label bids as winning or losing so as to maximize sum of bid prices (= revenue social welfare) Each item can be allocated to at most one bid #bids Exhaustive enumeration is 2 Space of allocations Level (4) {1}{2}{3}{4} {1},{2},{3,4} {1},{2,3,4} {3},{4},{1,2} {1,2},{3,4} {1},{3},{2,4} {2},{1,3,4} {2},{4},{1,3} {1,3},{2,4} {1},{4},{2,3} {3},{1,2,4} {2},{3},{1,4} {1,4},{2,3} {1,2,3,4} #partitions is (#items#items/2), O(#items#items) [Sandholm et al. 98] Another issue: auctioneer could keep items {4},{1,2,3} (3) (2) (1) Dynamic programming for winner determination Uses (2#items), O(3#items) operations independent of #bids (Can trivially exclude items that are not in any bid) Does not scale beyond 20-30 items 1 1,2 2 1,3 3 2,3 [Rothkopf et al.95] 1,2,3 NP-completeness NP-complete [Karp 72] Weighted set packing Polynomial time approximation algorithms with worst case guarantees value of optimal allocation k= value of best allocation found General case Cannot be approximated to k = #bids1- (unless probabilistic polytime = NP) Proven in [Sandholm 99] using [Håstad96] Best known approximation gives k O(#bids / (log #bids)2 ) [Haldorsson98] Polynomial time approximation algorithms with worst case guarantees Special cases Let be the max #items in a bid: k= 2 / 3 [Haldorsson SODA-98] Bid can overlap with at most other bids: k= min( (+1) / 3 , (+2) / 3, / 2 ) [Haldorsson&Lau97;Hochbaum83] k= sqrt(#items) [Haldorsson99] k= chromatic number / 2 [Hochbaum83] k=[1 + maxHG minvH degree(v) ] / 2 [Hochbaum83] Planar: k=2 [Hochbaum83] So far from optimum that irrelevant for auctions Probabilistic algorithms? New special cases, e.g. based on prices [Lehmann et al. 01] Restricting the allowable combinations Restricting the allowable combinations that can be bid on to get polytime winner determination [Rothkopf et al.95] 1 2 6 3 5 4 |set| 2 1 O(#items2) or O(#items3) 2 3 4 5 6 7 or |set| > #items / c O(nlargec-1 #items3) NP-complete already if 3 items per bid are allowed Gives rise to the same economic inefficiencies that prevail in noncombinatorial auctions Search algorithm for optimal / anytime winner determination Capitalizes on sparsely populated space of bids Generates only populated parts of space of allocations Highly optimized First generation algorithm scaled to hundreds of items & thousands of bids [Sandholm IJCAI-99] Second generation algorithm [Sandholm&Suri AAAI-00, Sandholm et al. IJCAI-01] First generation search algorithm: branch-on-items Bids: 1 2 1,2 3 4 5 3,5 3 1,2 1,3,5 1,4 4 4 2,5 3,5 5 1,3,5 2 4 1 1,4 2,5 3 2 2,5 3,5 3 5 3 4 2 3,5 3 4 4 5 First generation search algorithm: branch-on-items Depth first search Thrm. Need only consider children that include the item with the smallest index among the items that are not on the path [Sandholm IJCAI-99] Insert dummy bid for price 0 for each single item that has no bids => allows bid combinations that would not cover the item Generates each allocation of positive value once, others not generated Complexity Let b = #bids that contain a particular item O(b#items) leaves Actually O((#bids / #items)#items) leaves Can be used as an anytime algorithm or sped up 2 orders of magnitude by using IDA* 2nd generation search algorithm: Branching on bids Search tree E.g. bids A={1,2} B={2,3} C={3} D={1,3} A {(A,B),(A,D)} {(B,C),(B,D),(C,D)} C IN B A Bid graph G D C {(A,B),(A,D)} IN OUT C OUT B {(B,C),(B,D)} {(C,D)} B D C {(B,C),(B,D)} IN OUT C D C {(C,D)} {(C,D)} IN OUT D IN D OUT 2nd generation search algorithm: Branching on bids O((#bids / #items +1)#items) Follows principle of least commitment O(#remaining neighbors) addition & deletion of bids in G f* = value of best solution found so far g = sum of prices of bids that are IN on path h = value of linear programming relaxation of remaining problem Upper bounding: Prune the path when g+h ≤ f* Storing seed solutions in LP Usually need not solve LP to completion Structural improvements Optimum reached faster & better anytime performance Always branch on a bid j that maximizes e.g. pj / |Sj| (presort) Lower bounding: If g+L>f*, then f*g+L Identify decomposition of bid graph in O(|E|+|V|) time & exploit More sophisticated bid-ordering heuristics in Sandholm et al IJCAI-01 paper Pruning across subproblems (upper & lower bounding) by using f* values of solved subproblems and h values of yet unsolved ones Forcing decomposition by branching on an articulation bid All articulation bids can be identified in O(|E|+|V|) time Could try to identify combinations of bids that articulate (cut sets) Price-Based Vs. Articulation Based Bid Ordering For any scheme that picks a set maximizes (pS ) for any given positive function ( S ) and any scheme that picks an articulation bid if one exists, there are instances where the former leads to fewer search nodes and instances where the later leads to fewer. i i i Exploiting tractable cases at search nodes Never branch on short bids with 1 or 2 items Short bids cause most complexity in search [Sandholm IJCAI-99] At each search node, we solve short bids from bid graph separately 3 O(#short bids ) time using maximal weighted matching [Edmonds 65; Rothkopf et al 98] NP-complete even if only 3 items per bid allowed Dynamically delete items included in only one bid Exploiting tractable cases at search nodes At each search node, use a polynomial algorithm if remaining bid graph only contains interval bids Ordered list of items: 1..#items Each bid is for some interval [q, r] of these items Rothkopf et al. 98 presented O(#items2) DP algorithm Our DP algorithm is O(#items + #bids) Bucket sort bids in ascending order of r opt(i) is the optimal solution using items 1..i opt(i) = max b in bids whose last item is i {pb + opt(qb-1), opt(i-1)} Identifying linear ordering A B 2, 4, 6 1, 2, 4, 5, 7 1, 3, 5, 7 6 C B A 1, 3, 7, 8 D D 4 2 5 1 7 3 8 Can be identified in O(|E|+|V|) time [Korte & Mohring SIAM-89] Interval bids with wraparound can be identified in O(#bids2) time [Spinrad SODA-93] and solved in O(#items (#items + #bids)) time using our DP while DP of Rothkopf et al. is O(#items3) C Preprocessors [Sandholm IJCAI-99] Only keep highest bid for each combination that has received bids Superset pruning E.g. {1,2,3,4}, $10 is pruned by {1,3}, $7 and {2,4}, $6 For each bid (prunee), use same search algorithm as main search, except restrict to bids that are subsets of prunee Terminate the search and prune the prunee if f* ≥ prunee’s price Only consider bids with ≤ 30 items as potential prunees Tuple pruning E.g. {1,2}, $8 and {3,4}, $3 are not competitive together given {1,3}, $7 and {2,4}, $6 Construct virtual prunee from pair of bids with disjoint item sets Use same pruning algorithm as superset pruning If pruned, insert an edge into bid graph between the bids O(#bids2 cap #items) O(#bids3 cap #items) for pruning triples, etc. More complex checking required in main search Generalizations of combinatorial auctions Free disposal Substitutability Multiple units of each item Combinatorial exchanges (= many-to-many auctions) Reservation prices On items On combinations With substitutability Combinatorial reverse auctions Combinations of these generalizations Generalization: substitutability [Sandholm IJCAI-99] What if agent 1 bids $7 for {1,2} $4 for {1} $5 for {2} ? Bids joined with XOR Allows bidders to express general preferences Groves-Clarke pricing mechanism can be applied to make truthful bidding a dominant strategy #items-1 combinations Worst case: Need to bid on all 2 OR-of-XORs bids maintain full expressiveness & are more concise E.g. (B2 XOR B3) OR (B1 XOR B3 XOR B4) OR ... Our algorithm applies (simply more edges in bid graph => smaller search space, but usually slower) Preprocessors do not apply Short bid technique & interval bid technique do not apply eMediator electronic commerce server eAuctionHouse Customizable auctions, millions of types Traditional auction types All the generalized combinatorial auctions & exchanges Price-quantity graph bidding (Bidding with general utility functions) Expert system to help auctioneer select an auction type Mobile agents Leveled commitment contract optimizer eExchangeHouse (Coalition formation support) (Voting server) (Meta-auction) (Reputation databases & algorithms) (Collaborative filtering & recommender systems) Multi-unit auctions & exchanges (multiple indistinguishable units of one item for sale) Auctions with multiple indistinguishable units for sale Examples IBM stocks Barrels of oil Pork bellies Trans-Atlantic backbone bandwidth from NYC to Paris … Multi-unit auctions: pricing rules Auctioning multiple indistinguishable units of an item Naive generalization of the Vickrey auction: uniform price auction If there are k units for sale, the highest k bids win, and each bid pays the (k+1)st highest price Demand reduction lie [Crampton&Ausubel 96]: k=5 Agent 1 values getting her first unit at $9, and getting a second unit is worth $7 to her Others have placed bids $2, $6, $8, $10, and $14 If agent 1 submits one bid at $9 and one at $7, she gets both items, and pays 2 x $6 = $12. Her utility is $9 + $7 - $12 = $4 If agent 1 only submits one bid for $9, she will get one item, and pay $2. Her utility is $9-$2=$7 IC mechanism that is Pareto efficient and ex post individually rational Clarke tax. Agent i pays a-b b is the others’ sum of winning bids a is the others’ sum of winning bids had i not participated What about revenue (if market is competitive)? In all of the curves together Multi-unit reverse auctions with supply curves Same complexity results apply as in auctions O(#pieces log #pieces) in nondiscriminatory case with piecewise linear supply curves NP-complete in discriminatory case with piecewise linear supply curves O(#agents log #agents) in discriminatory case with linear supply curves Multi-unit exchanges • Multiple buyers, multiple sellers, multiple units for sale • By Myerson-Satterthwaite thrm, even in 1unit case cannot obtain all of • Pareto efficiency • Budget balance • Individual rationality (participation) Screenshot from eMediator [Sandholm AGENTS-00] Supply/demand curve bids Quantity Aggregate supply Aggregate demand profit psell pbuy Unit price profit = amounts paid by bidders – amounts paid to sellers Can be divided between buyers, sellers & market maker One price for everyone (“classic partial equilibrium”): profit = 0 One price for sellers, one for buyers ( nondiscriminatory pricing ): profit > 0 Nondiscriminatory vs. discriminatory pricing Aggregate demand Quantity Supply of agent 1 Supply of agent 2 psell pbuy Unit price One price for sellers, one for buyers ( nondiscriminatory pricing ): profit > 0 p2sell pbuy p1sell One price for each agent ( discriminatory pricing ): greater profit Shape of supply/demand curves Piecewise linear curve can approximate any curve Assume Each buyer’s demand curve is downward sloping Each seller’s supply curve is upward sloping Otherwise absurd result can occur Aggregate curves might not be monotonic Even individuals’ curves might not be continuous Pricing scheme has implications on time complexity of clearing Piecewise linear curves (not necessarily continuous) can approximate any curve Clearing objective: maximize profit Thrm. Nondiscriminatory clearing with piecewise linear supply/demand: O(p log p) p = total number of pieces in the curves Pricing scheme has implications on time complexity of clearing Thrm. Discriminatory clearing with piecewise linear supply/demand: NP-complete Thrm. Discriminatory clearing with linear supply/demand: O(a log a) a = number of agents These results apply to auctions, reverse auctions, and exchanges So, there is an inherent tradeoff between profit and computational complexity Approximating Optimal Auctions What and Why •We will discuss the issue of revenue maximization, also known as optimal auction design. •It is a subject of long and intensive research in microeconomics. •We will look for an approximation. Notations • [ n ] = { 0 , 1 , 2 , .. , n} • Wi = {1, 1 + ε , 1 + 2 ε , … , 2 , 2 + ε , … , h } : The possible types (valuations ) of each agent. •Φ = A distribution over the type space. • Rm = The revenue of the auction m = The expected payment Definitions An Auction: A pair of function (k,p) such that: • K : W [n] is an allocation algorithm determining who wins the object (a zero – no winner). • P : W R is a payment function determining how much the winner must pay. Definitions more A Valid Auction: An auction the satisfies both: • Individual Rationality (IR): The profit of a truth telling agent is always non – negative: p(w) ≤ wk(w). • Incentive Compatibility (IC): Truth-telling is a dominant strategy for each agent. C – Approximation: An Auction m is a C-approximation over Φ 1 R R. if for every valid auction v’, m c If c=1, the auction is optimal. The problem to solve An Algorithm with the following characteristics: Input: • One item to sell. • A probability distribution over the type space. • Constant C. Output: • An auction. Restrictions: • Auction is a C-approximation optimal auction. • Both Algorithm and auction are polytime. Some Simple Examples Suppose Alice wishes to sell a house to either Bob1 or Bob2, for prices in the range [0,100]. Let’s look at a few simple connections: • Independent Valuations: Both v1 and v2 are uniform in [0,100]. Good: Second price auction. Better: Second price auction with reserve price 50. More Examples • Correlation: v1 is uniform in [0,100]. v2 = 2v1. Bob1 is always rejected. Optimal: P = twice the lower bid. • Anti - Correlation: v1 is uniform in [0,100]. v2 = 100 - v1. Optimal: P = The maximum of (w,100-w) where w is the lower bid. 1-Lookead Auction The 1 – lookahead auction computes, based on declarations from the non-highest bidders, a price p1: p1 p1 (w2 ,..., wn ) That maximizes it’s revenue from agent1 (according to 1 ). 1 1 w p If than agent1 wins, and pays p1. Otherwise, nobody wins. One Short Theorem Theorem: the 1-lookahead auction is a 2-approximation. Sketch Of Proof: • It satisfies IR and IC, therefore a valid auction. • It’s a 2-approximation auction: splitting R ' to two cases: R '1 and R'2 , and showing that : R R '1 and R R '2 • The approximation ratio of 2 is tight. Example why it is tight Agent2’s type is fixed to 1. v1 is determined acording to: Pr v1 k 1 h 1 k h 1 h k 1 The optimal revenue is about 2. Our auction generates a revenue of about 1. Computing the Auction When we have a polytime algorithm that can compute, given a price k and valuations (v2,…,vn), the probability: Pr v1 k (v 2 ,..., v n ) We can simply try for all possible k’s and choose the one that maximizes: k Pr v1 k (v 2 ,..., v n ) If h is large, we can, for some α, try only the cases: (v2, α·v2, α2·v2,…,h), and we will get a α-approximation of the optimal price. Another Definition Vickrey Auction With Reserved Price: Let r 0 . It is the following the auction: If v1 < r, all agents are rejected. Otherwise, agent1 wins and pays max(v2,r). Proposition Their exists a price r, such that the Vickrey auction with reserved price r is a 2log(h) approximation. Proof: Given a distribution d, v d is the expectation of v1. 1 Look at intervals [2i,2i+1). (log(h) such intervals). Ii is the interval that contributes most to v d . 1 Take r = 2i. The revenue: 1 1 1 Rd v d ROPT d 2 log h 2 log h K-lookahead auction Let be the conditional distribution v1 ,..., v k v k 1 ,..., v n The K-lookahead auction is the optimal auction on agents (1,…,k) according to . Obviously, at least a 2 – approximation. The approximation ratio is tight! Example why it is tight Three agents, k = 2. Agent3’s type is always 1. Agent2’s type is uniformly drawn from 1 j where j 1,2,..., log h The probability of the type of agent1 is determined by agent2’s type. If v 2 1 j ,then v1 2 j 1 with probability 2 1 j 1 , and v 1 j 1 1 Our auction’s revenue is around 1 with probability 1 1 log h . j 2 A better auction: Asks agent1 for . If v1 2 j , sells to agent3 for the price 1. Revenue – around 2. 1 2 j 1 . Another Theorem Theorem: If (v1,…,vn) are independent, the k-lookahead auction is a k 1 k -approximation. Sketch Of Proof: Fix the (n-k) lowest valuations (agents k+1,…,n). Aopt is the optimal auction, R is our revenue, Ropt the optimal revenue. k 1 mk 1 the optimal revenue from agents (k+1,…,n). mk 1 v For j k , mj is the contribution of agent j to Ropt. Ropt m j j Case I: for all j k , mk 1 m j . Proof of Theorem Case II: Not all j k , mk 1 m j . Let ĵ denote the agent with minimal mj: mk 1 m ˆj Pretend he declared vk+1, and run Aopt on it. If any of the (n-k) won, sell to agent ĵ for v k+1. Now, mk 1 m ˆj . Because the distributions are independent, the distributions of the other agents don’t change. k R R opt mk 1 R opt m ˆj m j R opt k 1 j ˆj Conclusions • We showed a simple 2-approximation. (1 – lookahead auction). •It can be computed in polytime if there are polytime algorithms computing the distribution Φ. • We showed an improvement of that auction – to improve the k 1 k approximation ratio to , but only under the assumption that the valuations are independent.