290 likes | 742 Views
COMPSCI 223: Computational Microeconomics. Instructor: Vincent Conitzer (Kimberly J. Jenkins University Professor of New Technologies Professor of Computer Science , Professor of Economics , and Professor of Philosophy ) conitzer@cs.duke.edu
E N D
COMPSCI 223:Computational Microeconomics Instructor: Vincent Conitzer (Kimberly J. Jenkins University Professor of New TechnologiesProfessor of Computer Science, Professor of Economics, and Professor of Philosophy) conitzer@cs.duke.edu https://www2.cs.duke.edu/courses/spring18/compsci223/ TAs: Harsh Parikh and Hanrui Zhang
http://econ.cs.duke.edu CS-ECON
computer architecture (von Neumann architecture) Computer Science & Engineering History game theory (minimax theorem) ? Economic Theory linear programming (duality) Mathematical Optimization & Operations Research John von Neumann 1950 2000 1900
What is Economics? • “the social science that studies the production, distribution, and consumption of goods and services.” [Wikipedia, Jan. 2018] • Some key concepts: • Economic agents or players (individuals, households, firms, bots, …) • Agents’ current endowments of goods, money, skills, … • Possible outcomes ((re)allocations of resources, tasks, …) • Agents’ preferences or utility functions over outcomes • Agents’ beliefs (over other agents’ utility functions, endowments, production possibilities, …) • Agents’ possible decisions/actions • Mechanism that maps decisions/actions to outcomes
An economic picture v( ) = 200 $ 800 v( ) = 200 v( ) = 100 v( ) = 400 v( ) = 400 $ 600 $ 200
After trade (a more efficient outcome) … but how do we get here? Unstructured trade? Auctions? Exchanges? v( ) = 200 $ 1100 v( ) = 200 v( ) = 100 v( ) = 400 v( ) = 400 $ 400 $ 100
Some distinctions in economics • Descriptive vs. normative economics • Descriptive: • seeks only to describe real-world economic phenomena • does not care if this is in any sense the “right” outcome • Normative: • studies how people “should” behave, what the “right” or “best” outcome is • Microeconomics vs. macroeconomics • Microeconomics: analyzes decisions at the level of individual agents • deciding which goods to produce/consume, setting prices, … • “bottom-up” approach • Macroeconomics: analyzes “the sum” of economic activity • interest rates, inflation, growth, unemployment, government spending, taxation, … • “big picture”
What is Computer Science? • “the study of automating algorithmic processes that scale. A computer scientist specializes in the theory of computation and the design of computational systems.” [Wikipedia, Jan. 2018] • A computational problem is given by a function f mapping inputs to outputs • For integer x, let f(x) = 0 if x is prime, 1 otherwise • For initial allocation of resources + agent utilities x, let f(x) be the (re)allocation that maximizes the sum of utilities • An algorithm is a fully specified procedure for computing f • E.g., sieve of Eratosthenes • A correct algorithm always returns the right answer • An efficient algorithm returns the answer fast • Computer science is also concerned with building larger artifacts out of these building blocks (e.g., personal computers, spreadsheets, the Internet, the Web, search engines, artificial intelligence, …)
Resource allocation as a computational problem (Part 1 of the course) input output v( ) = $400 v( ) = $600 $ 750 $ 800 v( ) = $500 $ 450 v( ) = $400 Here, gains from trade ($300) are divided evenly (not essential) $ 400
Economic mechanisms agents’ bids “true” input result ) = $500 v( ) = $400 v( v( ) = $501 v( ) = $600 agent 1’s bidding algorithm $ 800 exchange mechanism (algorithm) $ 800 $ 800 $ 400 v( ) = $500 ) = $451 v( v( ) = $400 v( ) = $450 agent 2’s bidding algorithm Exchange mechanism designer does not have direct access to agents’ private information Agents will selfishly respond to incentives $ 400 $ 400
Game theory (Part 2 of the course) • Game theory studies settings where 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 Is this a “rational” outcome? If not, what is? action probability .6 probability .4
Mechanism design (Part 3 of the course) • Mechanism = rules of auction, exchange, … • A function that takes reported preferences (bids) as input, and produces outcome (allocation, payments to be made) as output f( )= ) = $500 v( ) = $400 v( v( ) = $400 v( ) = $600 $ 750 $ 400 $ 800 $ 450 • The entire function f is one mechanism • E.g., the mechanism from part 1: find allocation that maximizes (reported) utilities, distribute (reported) gains evenly • Other mechanisms choose different allocations, payments
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 first-price: bid 1 wins, pays $10 second-price: bid 1 wins, pays $5 bid 2: $5 bid 3: $1 0
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 a likely outcome for the second-price mechanism bid 1: $5 bid 2: $5 bid 2: $4 bid 3: $1 bid 3: $1 0 0 Are there other auctions that perform better? How do we know when we have found the best one?
Mechanism design… • Mechanism = game • → we can use game theory to predict what will happen under a mechanism • if agents act strategically • When is a mechanism “good”? • Should it result in outcomes that are good for the reported preferences, or for the true preferences? • Should agents ever end up lying about their preferences (in the game-theoretic solution)? • Should it always generate the best allocation? • Should agents ever burn money?(!?) • Can we solve for the optimal mechanism?
How are we going to solve these problems? (Part 0) • This is not a programming course • Will use optimization software • GNU Linear Programming Kit (GLPK) • Linear programming, mixed integer linear programming
Combinatorial auctions (in Part 1) Simultaneously for sale: , , bid 1 v( ) = $500 bid 2 v( ) = $700 bid 3 v( ) = $300 used in truckload transportation, industrial procurement, radio spectrum allocation, …
Voting (in Part 1) 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 > >
Kidney exchange (in Part 1) donor 1 (patient 1’s friend) patient 1 compatibilities donor 2 (patient 2’s friend) patient 2 donor 3 (patient 3’s friend) patient 3 donor 4 (patient 4’s friend) patient 4
Game playing & AI (in Part 2) perfect information games: no uncertainty about the state of the game (e.g. tic-tac-toe, chess, Go) imperfect information games: uncertainty about the state of the game (e.g., poker) “nature” white 1 gets King 1 gets Jack Qa1-a8 Qa1-f6 player 1 player 1 black black raise raise check check Kf8-f7 Kf8-g7 Kf8-g8 Kf8-e8 player 2 player 2 black wins white wins draw draw call fold call fold call fold call fold • Optimal play: value of each node = value of optimal child for current player (backward induction, minimax) • For chess and Go, tree is too large • Use other techniques (heuristics, limited-depth search, alpha-beta, deep learning, …) • Top computer programs better than humans in chess, not yet in Go 2 1 1 1 -2 1 -1 1 • Player 2 cannot distinguish nodes connected by dotted lines • 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 (at least most versions) • Top computer (heads-up) poker players are based on techniques for game theory ?
Real-world security applications (in Part 2) Milind Tambe’s TEAMCORE group (USC) • Airport security • Where should checkpoints, canine units, etc. be deployed? • Federal Air Marshals • Which flights get a FAM? • US Coast Guard • Which patrol routes should be followed? • Wildlife Protection • Where to patrol to catch poachers or find their snares?
Financial securities (in Part 1) • Tomorrow there must be one of • Agent 1 offers $5 for a security that pays off $10 if or • Agent 2 offers $8 for a security that pays off $10 if or • Agent 3 offers $6 for a security that pays off $10 if • Can we accept some of these at offers at no risk?
How to incentivize a weather forecaster (in Part 3) • Forecaster’s bonus can depend on • Prediction • Actual weather on predicted day • Reporting true beliefs should maximize expected bonus P( ) = .5 P( ) = .8 P( ) = .3 P( ) = .1 P( ) = .2 P( ) = .1
Sponsored search / ad auctions (in Part 3) • Choice of ads (if any) to show determined by: • Advertiser bid • Predicted likelihood of click