An Algorithm for Optimal Winner Determination in Combinatorial Auctions Tuomas Sandholm Computer Science Department, Carnegie Mellon University, 5000 Forbes.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Heuristic Search techniques
Testing Linear Pricing Algorithms for use in Ascending Combinatorial Auctions (A5) Giro Cavallo David Johnson Emrah Kostem.
Conceptual Clustering
Approximating optimal combinatorial auctions for complements using restricted welfare maximization Pingzhong Tang and Tuomas Sandholm Computer Science.
Traveling Salesperson Problem
Seminar in Auctions and Mechanism Design Based on J. Hartline’s book: Approximation in Economic Design Presented by: Miki Dimenshtein & Noga Levy.
BackTracking Algorithms
Heuristics CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Combinatorial auctions Vincent Conitzer v( ) = $500 v( ) = $700.
An Approximate Truthful Mechanism for Combinatorial Auctions An Internet Mathematics paper by Aaron Archer, Christos Papadimitriou, Kunal Talwar and Éva.
Multi-item auctions with identical items limited supply: M items (M smaller than number of bidders, n). Three possible bidder types: –Unit-demand bidders.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Searching on Multi-Dimensional Data
Preference Elicitation Partial-revelation VCG mechanism for Combinatorial Auctions and Eliciting Non-price Preferences in Combinatorial Auctions.
Seminar In Game Theory Algorithms, TAU, Agenda  Introduction  Computational Complexity  Incentive Compatible Mechanism  LP Relaxation & Walrasian.
Bounds on Code Length Theorem: Let l ∗ 1, l ∗ 2,..., l ∗ m be optimal codeword lengths for a source distribution p and a D-ary alphabet, and let L ∗ be.
CPSC 322, Lecture 5Slide 1 Uninformed Search Computer Science cpsc322, Lecture 5 (Textbook Chpt 3.4) January, 14, 2009.
CSC 423 ARTIFICIAL INTELLIGENCE
S. J. Shyu Chap. 1 Introduction 1 The Design and Analysis of Algorithms Chapter 1 Introduction S. J. Shyu.
Side Constraints and Non-Price Attributes in Markets Tuomas Sandholm Carnegie Mellon University Computer Science Department [Paper by Sandholm & Suri 2001]
1 Combinatorial Auctions V.S. Subrahmanian. Fall 2002, © V.S. Subrahmanian 2 Motivation Bidders can bid on a set of items. The auctioneer can select a.
Artificial Intelligence in Game Design
Planning under Uncertainty
Branch and Bound Similar to backtracking in generating a search tree and looking for one or more solutions Different in that the “objective” is constrained.
A Heuristic Bidding Strategy for Multiple Heterogeneous Auctions Patricia Anthony & Nicholas R. Jennings Dept. of Electronics and Computer Science University.
An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie.
Sequences of Take-It-or-Leave-it Offers: Near-Optimal Auctions Without Full Valuation Revelation Tuomas Sandholm and Andrew Gilpin Carnegie Mellon University.
This material in not in your text (except as exercises) Sequence Comparisons –Problems in molecular biology involve finding the minimum number of edit.
Complexity of Mechanism Design Vincent Conitzer and Tuomas Sandholm Carnegie Mellon University Computer Science Department.
Multi-item auctions & exchanges (multiple distinguishable items for sale) Tuomas Sandholm Carnegie Mellon University.
Backtracking.
Distributed Constraint Optimization * some slides courtesy of P. Modi
Experiments on combinatorial auctions Only some of the techniques of CABOB deployed in these results.
Decision Procedures An Algorithmic Point of View
CHAPTER 71 TREE. Binary Tree A binary tree T is a finite set of one or more nodes such that: (a) T is empty or (b) There is a specially designated node.
Distributed Constraint Optimization Michal Jakob Agent Technology Center, Dept. of Computer Science and Engineering, FEE, Czech Technical University A4M33MAS.
Sequences of Take-It-or-Leave-it Offers: Near-Optimal Auctions Without Full Valuation Revelation Tuomas Sandholm and Andrew Gilpin Carnegie Mellon University.
PROBABILITY AND STATISTICS FOR ENGINEERING Hossein Sameti Department of Computer Engineering Sharif University of Technology Independence and Bernoulli.
Combinatorial Auctions By: Shai Roitman
Automated Design of Multistage Mechanisms Tuomas Sandholm (Carnegie Mellon) Vincent Conitzer (Carnegie Mellon) Craig Boutilier (Toronto)
Exact methods for ALB ALB problem can be considered as a shortest path problem The complete graph need not be developed since one can stop as soon as in.
Online Algorithms By: Sean Keith. An online algorithm is an algorithm that receives its input over time, where knowledge of the entire input is not available.
For Monday Read chapter 4, section 1 No homework..
Combinatorial Auctions with Structured Item Graphs Vincent Conitzer, Jonathan Derryberry, and Tuomas Sandholm Computer Science Department Carnegie Mellon.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
JETT 2005 Session 5: Algorithms, Efficiency, Hashing and Hashtables.
Search CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
1 Branch and Bound Searching Strategies Updated: 12/27/2010.
Decision Trees Binary output – easily extendible to multiple output classes. Takes a set of attributes for a given situation or object and outputs a yes/no.
CS 61B Data Structures and Programming Methodology Aug 7, 2008 David Sun.
Marwan Al-Namari Hassan Al-Mathami. Indexing What is Indexing? Indexing is a mechanisms. Why we need to use Indexing? We used indexing to speed up access.
SNU OOPSLA Lab. 1 Great Ideas of CS with Java Part 1 WWW & Computer programming in the language Java Ch 1: The World Wide Web Ch 2: Watch out: Here comes.
R-Trees: A Dynamic Index Structure For Spatial Searching Antonin Guttman.
Ch22.Branch and Bound.
ARTIFICIAL INTELLIGENCE (CS 461D) Princess Nora University Faculty of Computer & Information Systems.
CSCE350 Algorithms and Data Structure Lecture 21 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
Bushy Binary Search Tree from Ordered List. Behavior of the Algorithm Binary Search Tree Recall that tree_search is based closely on binary search. If.
Adversarial Search 2 (Game Playing)
CPSC 322, Lecture 5Slide 1 Uninformed Search Computer Science cpsc322, Lecture 5 (Textbook Chpt 3.5) Sept, 13, 2013.
Combinatorial Auctions with k-wise Dependent Valuations Vincent Conitzer (CMU) Tuomas Sandholm (CMU) Paolo Santi (Pisa) (Some of the results in this paper.
Artificial Intelligence in Game Design Board Games and the MinMax Algorithm.
For Monday Read chapter 4 exercise 1 No homework.
B-Trees B-Trees.
Backtracking And Branch And Bound
Artificial Intelligence Problem solving by searching CSC 361
Analysis and design of algorithm
Backtracking and Branch-and-Bound
Switching Lemmas and Proof Complexity
Presentation transcript:

An Algorithm for Optimal Winner Determination in Combinatorial Auctions Tuomas Sandholm Computer Science Department, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburgh, PA 15213, USA; address: This material was first presented as an invited talk at the 1 st International Conference on Information and Computation Economics 10/28/1998, and finally was released in Artificial Intelligence 135 (2002) 1-54

Auction Mechanisms Sequential Auction - Auction items one by one 1.Easy for sellers (asking-side) to determine the winner 2.Difficult for buyers (bidding-side) to win a collection of favorite items. – the problem is that the market requirement cannot be fulfilled by this kind of auction mechanisms. Parallel Auction - Auction items at the same time in a period 1.Easy for sellers to determine the winner 2.Every buyers who want a collection of favorite items prefers to wait until the end of the period to see what the going the prices on his favorite items will be and then to optimize his bids so as to win all of his favorite items. – the problem is that everybody may use this strategy! Combinatorial Auction – Buyers bid a combination of items 1.Very hard (NP) for sellers to determine the winner. – computation problem. 2.Buyers may flexibly to bid what they want in a fair competition.

Computational Model of Combinatorial Auctions A collection of m items Buyers (bidders) Agent-1 Agent-2 …… Agent-i …… Agent-n A Seller M :: m = |M| S  b i (S) > 0 b i (S) = 0 means the bidder i does not bid on S. b* (S) = max i  bidders b i (S) b*(S) = 0 means no any buyer bid on S. P! max W  A (  S  W b* (S)) W is a partition of M. A is the set of exhaustive partitions on M. NP! Objectives: Maximize sellers’ revenue

An Example of Exhaustive Partitions on 4 Items M = {1, 2, 3, 4} |M| = m = 4  (m m/2 ) <  q=1,2,…,m Z(m, q) < O(m m ) In other words, q is how many S in one partition (or level) max W  A (  S  W b* (S)) W S 1, S 2, S 3

Solutions to the Winner Determination in Combinatorial Auctions (NP-Complete) Exhaustive Enumeration When time or space is infinite, NP=P Dynamic Programming M.H. Rothkopf, A. Pekec, R.M. Harstad, Computationally manageable combinatorial auctions, Management Sci. 44 (8) (1998) 1131–1147. Significantly faster than exhaustive Enumeration – O(3 m )/  (2 m ) Intractable – the key reason is this approach considered every combination S in the exhaustive partitions even if the corresponding bid does not happen in practice.

Ideas of The Polynomial Approximation Algorithm 1.M.H. Rothkopf, A. Pekec, R.M. Harstad, Computationally manageable combinatorial auctions, Management Sci. 44 (8) (1998) 1131– Only consider “relevant bids” or “relevant partitions” 3.Restrict the combinations (bids) based on some criteria: At most 2 items in one bid – O(m 3 ) Use the tree structure to limit the bid forms – O(m 2 ) Bidding based on some ordering of items Use families of combinations of items in which local winner determination is very easy 4.Find the approximate solution, which is close-to-optimal. Computing Speed Economic Efficiency Trade-off

The New Optimal Search Algorithm This paper’s contribution The input (after only the highest bid is kept for every combination of items for which a bid was received - all other bids are deleted) is a list of bids: {B 1,...,B n } = {(B 1S, B 1b* ),..., (B nS, B nb* )} where B jS is the set of items in bid j, and B jb* is the price in bid j. Auction Market Bidding 1. Preprocessing 2. Construct Bid-tree 3. Tree-Search for the Solution

IDA* + Branch & Bound Search = SEARCH1 on the Tree *Organize all the preprocessed bids into a tree: Features of the Search-tree: The path from the root to a node (interior or leaf ) corresponds to a relevant partition. In other words, each relevant partition W ∈ A’ (relevant) is represented by exactly one such path.

IDA* + Branch & Bound Search = SEARCH1 on the Tree *Organize all the preprocessed bids into a tree: IDA* At any node, an upper bound on the total revenue that can be obtained by including that search node in the solution is given by f = g + h(F). The function h(F) gives an upper bound on how much revenue the items F that are not yet allocated on the current search path can contribute. “g” is the sum of the prices of the bids that are on the current search path. Branch & Bound Search (BBS) After the first solution found, the search switch to BBS for the optimal solution. Features of the Search-tree: The path from the root to a node (interior or leaf ) corresponds to a relevant partition. In other words, each relevant partition W ∈ A’ (relevant) is represented by exactly one such path. Complexity: exponential in the number of items but polynomial in the number of bids.

How to generate such a powerful tree? Conditions of Tree Construction. Every relevant partition W ∈ A’ is represented in the tree by exactly one path from the root to a node (interior or leaf ) if the children of a node are those bids that: include the item with the smallest index among the items that have not been used on the path yet, and do not include items that have already been used on the path The key is the generation of children: Naïve: Loop though the list of bids – O(n*m) Bid-tree: In the worst-case, the improvement is moderate. In other cases, it improves significantly greater. The best one is O(1) and most of cases (in the average case) are O(max(m – logn, n)

Secondary DFS (SEARCH2) on Bid-Tree *Insert all the preprocessed bids into a bid-tree: Usage of Stopmask The Stopmask is a vector with one variable for each item, Stopmask[i], where i ∈ M. If Stopmask[i] = BLOCKED, SEARCH2 will never progress left at depth i. This has the effect that those bids that include item i are pruned instantly and in place. If Stopmask[i] = MUST, then SEARCH2 cannot progress right at depth i. This has the effect that all other bids except those that include item i are pruned instantly and in place. If Stopmask[i] = ANY corresponds to no pruning based on item i : SEARCH2 may go left or right at depth i. i=1 i=2 i=3 M = {1, 2, 3} IDA*+BBS In the beginning, Stopmask[1] = MUST and others Stopmask[i] = ANY. The first child of any given node in the search-tree is determined by a secondary DFS from the top of the Bid-tree until a leaf (bid) is reached.

Secondary DFS on Bid-Tree (Cont.) *Insert all the preprocessed bids into a bid-tree: When a bid B is reached, is appended to the path of the search-tree and the algorithm sets Stopmask[i] = BLOCKED for all i ∈ B.S and Stopmask[i*] = MUST, where I* is the minimum index at that time. When backtracking a bid from the path of the search-tree, all the MUST and BLOCKED values are changed back to ANY, and the MUST value is reallocated to the place in the Stopmask where it was before that bid was appended to the path. The next unexplored sibling of any child, j, of such a node in the search-tree is determined by continuing the secondary-DFS. by backtracking in the Bid-tree after the tree- search has explored the tree under B. i=1 i=2 i=3 M = {1, 2, 3} IDA*+BBS In the beginning, Stopmask[1] = MUST and others Stopmask[i] = ANY. The first child of any given node in the search-tree is determined by a secondary DFS from the top of the Bid-tree until a leaf (bid) is reached.

Preprocessing for Bid-tree Construction PRE1: Keep only the highest bid for a combination Inserting a bid into the Bid-tree is O(m) because insertion involves following or creating a path of length m. There are n bids to insert. So, the overall time complexity of PRE1 is O(mn). PRE2: Remove provably noncompetitive bids A bid ( prunee) is non-competitive if there is some disjoint collection of subsets of that bid such that the sum of the bid prices of the subsets exceeds or equals the price of the prunee bid. This picture is to show how to determine a new bid on (1, 2, 3, 4) being non-competitive. The tree is the search-tree which irrelevant bids are removed. Search on this tree to make decisions. $10 $4 $7 Its complexity is similar to the IDA*+BB if some bid contains all the items, because it uses the search-tree.

PRE3: Decompose the set of bids into connected components Preprocessing for Bid-tree Construction (Cont.) The bids are divided into sets such that no item is shared by bids from different sets. PRE4 and the tree-search are then done in each set of bids independently, and using only items included in the bids of the set. PRE4: Mark noncompetitive tuples of bids Noncompetitive tuples of disjoint bids are marked so that they need not be considered on the same path in SEARCH1. For example, the pair of bids $5 for items (1, 3), and $4 for items (2, 4) is non-competitive if there is a bid of $3 for items (1, 2) and a bid of $7 for items (3, 4) This is similar to PRE2. The difference is the prunee is a virtual bid that contains the items of the bids in the tuple. The price of the virtual prunee is the sum of the prices of those bids. $3 $4 $7 $3 Its complexity is similar to the IDA*+BB if some bid contains all the items, because it uses the search-tree.

Empirical Evaluation Complexity Polynomial in the number of bids Exponential in the number of items Four Different Bid Distributions Random: For each bid, pick the number of items randomly from 1, 2,...,m. Randomly choose that many items without replacement. Pick the price randomly from [0, 1]. Weighted random: As above, but pick the price between 0 and the number of items in the bid. Uniform: Draw the same number of randomly chosen items for each bid. Pick the prices from [0, 1]. Decay: Give the bid one random item. Then repeatedly add a new random item with probability α until an item is not added or the bid includes all m items. Pick the price between 0 and the number of items in the bid.

Problem instances (random distribution) tended to be easy because the bids were long. So, the search path was short. In both the weighted and the unweighted case, the curves are sublinear meaning that execution time is polynomial in bids. This is less clear in the unweighted case.

The bulk of the execution time was spent preprocessing rather than searching. On all of the other distributions than weighted random, the preprocessing time was a small fraction of the search time.

The uniform distribution was harder. The bids were shorter so the search was deeper. The second figure shows the complexity decrease as the bids get longer, that is, the search gets shallower.

In practice, the auctioneer usually can control the number of items that are being sold in a combinatorial auction, but cannot control the number of bids that end up being submitted. Therefore, it is particularly important that the winner determination algorithm scales up well to large numbers of bids. On the random and weighted random distributions, the algorithm scales very well to large numbers of bids. The uniform and decay distributions were much harder. However, even on these distribution, the curves are sublinear, meaning that execution time is polynomial in bids.

On the random and weighted random distributions, the algorithm scales very well to large numbers of items. The curves are sublinear, meaning that execution time is polynomial in items. The uniform and decay distributions were harder. But, the curves are sublinear, meaning that execution time is polynomial in items.

Conclusion 1.Exhaustive enumeration and dynamic programming are not practical. 2.Limitation on the forms of bidding may sacrifice the economic efficiency. 3.The new algorithm is exponential in the number of items and polynomial in the number of bidding, which fulfill the market requirement much better by means of limiting on the number of items. 4.If the number of items are lot, as long as the sparseness of bidding is good enough, this algorithm is still practical. - THE END -