CPS 296.2 Computational Game Theory and Mechanism Design Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu Course web page: http://www.cs.duke.edu/courses/fall06/cps296.2/ What is game theory? • Game theory studies settings where multiple parties (agents) each have – different preferences (utility functions), – different actions that they can take • Each agent’s utility (potentially) depends on all agents’ actions – What is optimal for one agent depends on what other agents do • Very circular! • Game theory studies how agents can rationally form beliefs over what other agents will do, and (hence) how agents should act – Useful for acting as well as predicting behavior of others Penalty kick example probability .7 probability .3 action probability 1 action probability .6 probability .4 Is this a “rational” outcome? If not, what is? Where is game theory used? • Economics (& business) – Auctions, exchanges, price/quantity setting by firms, bargaining, funding public goods, … • Political science – Voting, candidate positioning, … • Biology – Stable proportions of species, sexes, behaviors, … • Philosophy – Conventions, ethics, … • And of course… Computer science! – Game playing programs, electronic marketplaces, networked systems, … – Computing the solutions that game theory prescribes A brief history of game theory • Some isolated early instances of what we would now call game-theoretic reasoning – e.g. Haldegrave 1713, Cournot 1838 • von Neumann wrote a key paper in 1928 • 1944: Theory of Games and Economic Behavior by von Neumann and Morgenstern • 1950: Nash invents concept of Nash equilibrium • Game theory booms after this… • 1994: Harsanyi, Nash, and Selten win Nobel Prize in economics for game theory work • 2005: Aumann and Schelling win Nobel Prize in economics for game theory work Game playing (& AI) perfect information games: no uncertainty about the state of the game (e.g. chess, Go) imperfect information games: uncertainty about the state of the game (e.g. poker) “nature” white Qa1-a8 1 gets King Qa1-f6 black Kf8-f7 player 1 black Kf8-g7 Kf8-g8 1 gets Queen player 1 bet stay bet stay Kf8-e8 player 2 black wins white wins • • • draw draw Optimal play: value of each node = value of optimal child for current player (backward induction, minimax) For chess and Go, tree is too large • • • Top computer programs (arguably) better than humans in chess, not yet in Go • call fold 2 1 call 1 fold call fold call fold 1 1 1 -2 -1 Player 2 cannot distinguish nodes connected by dotted lines – – Use other techniques (heuristics, limited-depth search, alpha-beta, …) player 2 Backward induction fails; need more sophisticated game-theoretic techniques for optimal play Small poker variants can be solved optimally Humans still better than top computer programs at full-scale poker AAAI-06 computer poker competition: top programs all use game-theoretic techniques Trading agents • Idea: given appropriate (e.g. web-based) interfaces, software can automatically make buying and selling decisions, matching supply to demand – Note: optimal action depends on what other (software, human) trading agents do → game theory • Lot of automated trading in financial markets – Academic interest in financial markets too: e.g. Penn-Lehman Automated Trading Project • Academic competitions: TAC (Trading Agent Competition) TAC Classic • Software travel agents put together travel packages for clients – Agents compete in markets for flights, hotels, entertainment – Goal is to maximize own clients’ utilities TAC Supply Chain Management • Agents manage a computer assembly supply chain – Compete for components from suppliers as well as customers – Agents have limited-capacity assembly lines – Goal is to maximize amount of money in the bank What is mechanism design? • In mechanism design, we get to design the game (or mechanism) – e.g. the rules of the auction, marketplace, election, … • Goal is to obtain good outcomes when agents behave strategically (game-theoretically) • Mechanism design often considered part of game theory • Sometimes called “inverse game theory” – In game theory the game is given and we have to figure out how to act – In mechanism design we know how we would like the agents to act and have to figure out the game • The mechanism-design part of this course will also consider non-strategic aspects of mechanisms – E.g. computational feasibility Example: (single-item) auctions • Sealed-bid auction: every bidder submits bid in a sealed envelope • First-price sealed-bid auction: highest bid wins, pays amount of own bid • Second-price sealed-bid auction: highest bid wins, pays amount of second-highest bid bid 1: $10 bid 2: $5 bid 3: $1 0 first-price: bid 1 wins, pays $10 second-price: bid 1 wins, pays $5 Which auction generates more revenue? • Each bid depends on – bidder’s true valuation for the item (utility = valuation - payment), – bidder’s beliefs over what others will bid (→ game theory), – and... the auction mechanism used • In a first-price auction, it does not make sense to bid your true valuation – Even if you win, your utility will be 0… • In a second-price auction, (we will see later that) it always makes sense to bid your true valuation bid 1: $10 a likely outcome for the first-price mechanism bid 1: $5 a likely outcome for the secondprice mechanism bid 2: $4 bid 3: $1 0 bid 2: $5 bid 3: $1 0 Are there other auctions that perform better? How do we know when we have found the best one? Combinatorial auctions Simultaneously for sale: , , bid 1 v( ) = $500 bid 2 v( ) = $700 bid 3 v( ) = $300 used in truckload transportation, industrial procurement, radio spectrum allocation, … Combinatorial auction problems • Winner determination problem – Deciding which bids win is (in general) a hard computational problem (NP-hard) • Preference elicitation (communication) problem – In general, each bidder may have a different value for each bundle – But it may be impractical to bid on every bundle (there are exponentially many bundles) • Mechanism design problem – How do we get the bidders to behave so that we get good outcomes? • These problems interact in nontrivial ways – E.g. limited computational or communication capacity limits mechanism design options Voting over outcomes > > > > voting rule (mechanism) determines winner based on votes • Can vote over other things too – Where to go for dinner tonight, other joint plans, … • Many different rules exist for selecting the winner • Again, winner determination, elicitation, mechanism design problems Routing & network design • Suppose that: – – – – – Units of traffic are infinitesimal, A traffic unit can choose any path from source S to destination D, A traffic unit’s cost is the sum of the costs of the edges it travels on, A traffic unit (selfishly) tries to minimize its own cost, Each edge’s cost c is a nondecreasing function of the total amount of traffic on it (congestion), – Total amount of traffic = 1 (by normalization) Braess’ Paradox (carelessly adding capacity can actually be hurtful!) A c(x) = 1 S c(x) = x A c(x) = x D c(x) = 1 B Game-theoretically optimal behavior: ½ goes through A, ½ goes through B, everyone has cost 1.5 c(x) = 1 S c(x) = 0 c(x) = x c(x) = x D c(x) = 1 B Game-theoretically optimal behavior: everyone goes through BA, everyone has cost 2! Yet another TAC competition: CAT • Participants set rules for matching buyers and sellers, and charging commissions – Trading agents (buyers, sellers) coded up by organizers – Commissions must be reasonable to attract traders • First iteration of competition will be in 2007 • CAT = – 1. reverse of TAC – 2. catallactics = the science of exchanges