How to Think About Mechanism Design
Tim Roughgarden
Abstract
Mechanism design studies optimization problems where the
underlying data --- such as the value of a good or the cost of
performing a task --- is initially unknown to the algorithm designer.
Auction settings are canonical examples, where the private data is the
willingness to pay the bidders for the goods on sale, and the
optimization problem is to allocate the goods to maximize some
objective, such as revenue or overall value to society. A
"mechanism" is a protocol that interacts with participants and
determines a solution to the underlying optimization problem.
We first explain why designing mechanisms with good game-theoretic
properties boils down to algorithm design in a certain "constrained
computational model." We differentiate between single-parameter
problems, where this computational model is well understood, and
multi-parameter problems, where it is not. We then study two specific
problem domains: revenue-maximizing auctions, and the recent idea of
analyzing auctions via a "Bayesian thought experiment"; and
welfare-maximizing mechanisms, with an emphasis on black-box
reductions that transmute approximation algorithms into truthful
approximation mechanisms.