CS364A: Algorithmic Game Theory Lecture #4: Algorithmic Mechanism Design

In a knapsack auction, each bidder i has a publicly known size wi (e.g., the duration of a TV ad) and a private valuation (e.g., a company’s willingness-to-pay for its ad being shown during the Super Bowl). The seller has a capacity W (e.g., the length of a commercial break). The feasible set X is defined as the 0-1 n-vectors (x1, . . . , xn) such that ∑n i=1wixi ≤ W . (As usual, xi = 1 indicates that i is a winning bidder.) Other situations such knapsack auctions model include bidders who want files stored on a shared server, data streams sent through a shared communication channel, or processes to be executed on a shared supercomputer. (When there is a shared resource with limited capacity, you have a Knapsack problem.) Note that k-item auctions (k identical copies of a good, one per customer) is the special case where wi = 1 for all i and W = k. Here, different bidders can have different sizes. Let’s try to design an awesome auction using our two-step design paradigm. Recall that we first assume without justification that bids equal values and then decide on our allocation rule. Then we pay the piper and devise a payment rule that extends the allocation rule to a DSIC mechanism. ∗ c ©2013, Tim Roughgarden. †Department of Computer Science, Stanford University, 462 Gates Building, 353 Serra Mall, Stanford, CA 94305. Email: tim@cs.stanford.edu.