30
CPS 173: Computational Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics) it @ dk d conitzer@cs.duke.edu http://www.cs.duke.edu/courses/spring12/cps173/

CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

CPS 173:ComputationalComputational

Microeconomics

Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science &

Professor of Economics)it @ d k [email protected]

http://www.cs.duke.edu/courses/spring12/cps173/

Page 2: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

What is Economics?• “the social science that analyzes the production,

distribution, and consumption of goods and gservices.” [Wikipedia, Jan. 2012]

• Some key concepts:– Economic agents or players (individuals, households,

firms, bots, …)A t ’ t d t f d kill– Agents’ current endowments of goods, money, skills, …

– Possible outcomes ((re)allocations of resources, tasks, …)– Agents’ preferences or utility functions over outcomesAgents 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

Page 3: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

An economic picture

v( ) = 200

$ 800

v( ) = 200

) = 200v(v( ) = 100

v( ) = 400v( ) = 400

$ 600 $ 200

Page 4: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

After trade (a more efficient outcome)

v( ) = 200

… but how do we get here?

Unstructured trade?

$ 1100

v( ) = 200 Unstructured trade?Auctions?

Exchanges?

) = 200v(v( ) = 100

v( ) = 400v( ) = 400

$ 400 $ 100

Page 5: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Some distinctions in economics• Descriptive vs normative 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”studies how people should behave, what the right or best

outcome is

• Microeconomics vs. macroeconomicsMi i l d i i t th l l f– 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 g p y g

spending, taxation, …• “big picture”

Page 6: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

What is Computer Science?“th t d f th th ti l f d ti f i f ti d• “the study of the theoretical foundations of information and computation. It also includes practical techniques for their implementation and application in computer systems” [Wikipedia Jan 2012][Wikipedia, Jan. 2012]

• 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 preferences 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., personalartifacts out of these building blocks (e.g., personal computers, spreadsheets, the Internet, the Web, search engines, artificial intelligence, …)

Page 7: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Resource allocation as a computational problem (Part 1 of the course)problem (Part 1 of the course)

input outputv( ) = $400

v( ) = $600

$ 800$ 750

$ 800

v( ) = $500$ 450v( ) = $400 $ 450

Here, gains from trade ($300) di id d l

$ 400

are divided evenly(not essential)

Page 8: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Economic mechanisms

“true” input result$

agents’ bids

v( ) = $400

v( ) = $600v( ) = $500

v( ) = $501agent 1’s bidding

$ 800

$ 800

$ 800

galgorithm

exchange mechanism(algorithm)$ 800

v( ) = $500

$

$ 400

$ 800

v( ) = $451

$

(algorithm)

v( ) = $400 v( ) = $450agent 2’s bidding

algorithmExchange mechanism designer does not have direct access to

agents’ private information

$ 400 $ 400

agents private information

Agents will selfishly respond to incentives

Page 9: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Game theory (Part 2 of the course)(Part 2 of the course)

• Game theory studies settings where agents each havehave– 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!• Very circular!

• Game theory studies how agents can rationally form beliefs over what other agents will do, and (hence)beliefs over what other agents will do, and (hence) how agents should act– Useful for acting as well as predicting behavior of others

Page 10: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

What is game theory?• “Game theory is a mathematical method for

analyzing calculated circumstances, such as in games, where a person’s success is based upon the choices of others. […] Game theory is mainly used in economics political science and psychology andin economics, political science, and psychology, and other, more prescribed sciences, like logic or biology.” [Wikipedia, Jan. 2012]biology. [Wikipedia, Jan. 2012]

Page 11: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Penalty kick example

probability .7

probability .3

probability 1

action

probability .6

Is this a “rational” outcome? If not what

action

probability .4If not, what

is?

Page 12: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Mechanism design (Part 3 of the course)(Part 3 of the course)

• Mechanism = rules of auction, exchange, …• A function that takes reported preferences (bids) as• A function that takes reported preferences (bids) as

input, and produces outcome (allocation, payments to be made) as output) p

$ 750

v( ) = $400

v( ) = $600

v( ) = $500

v( ) = $400

$ 400$ 450$ 800$ 400

• The entire function f is one mechanism• E g the mechanism from part 1: find allocation that maximizes• E.g., the mechanism from part 1: find allocation that maximizes

(reported) utilities, distribute (reported) gains evenly• Other mechanisms choose different allocations, payments

Page 13: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

What is mechanism design?• “[…] a field in game theory […] The

distinguishing features [of mechanism design]distinguishing features [of mechanism design] are:– that a game “designer” chooses the game structurethat a game designer chooses the game structure

rather than inheriting one– that the designer is interested in the game’sthat the designer is interested in the game s

outcome• [ ] usually solved by motivating agents to[…] usually solved by motivating agents to

disclose their private information.” [Wikipedia, Jan. 2012]Ja 0 ]

Page 14: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

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 bidbid 1 $10bid 1: $10

bid 2: $5first-price: bid 1 wins, pays $10

second-price: bid 1 wins pays $5bid 2: $5

bid 3: $1

second-price: bid 1 wins, pays $5

0

Page 15: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Which auction generates more revenue?• Each bid depends on• 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– 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 valuationy

bid 1: $10

$bid 1 $5

a likely outcome for

a likely outcome for the second-

bid 2: $5

bid 3: $1

bid 1: $5

bid 2: $4

bid 3: $1

the first-price mechanism

price mechanism

0

bid 3: $1

Are there other auctions that perform better? How do we know when we have found the best one?0

bid 3: $1

Page 16: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Mechanism design…M h i• Mechanism = game

• → we can use game theory to predict what will h d h ihappen under a mechanism– if agents act strategically

Wh i h i “ d”?• When is a mechanism “good”?– Should it result in outcomes that are good for the

reported preferences or for the true preferences?reported preferences, or for the true preferences?– Should agents ever end up lying about their

preferences (in the game-theoretic solution)?preferences (in the game theoretic solution)?– Should it always generate the best allocation?– Should agents ever burn money?(!?)g y ( )

• Can we solve for the optimal mechanism?

Page 17: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

How are we going to solve these problems? (Part 0)problems? (Part 0)

• This is not a programming course• This is not a programming course

• Will use optimization software – GNU Linear Programming Kit (GLPK)– Linear programming, mixed integer linear

programming

Page 18: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Uses of LP MIP in this courseUses of LP, MIP in this course

Linear programming Mixed integer linear programming

Part 1(expressive

Winner determination in auctions, exchanges, … with

Winner determination in auctions, exchanges, … (expressive

marketplaces)g

partially acceptable bidsg

without partially acceptable bids

Part 2 Dominated strategies(game theory)

gMinimax strategies

Correlated equilibriumOptimal mixed strategies to

Nash equilibriumOptimal mixed strategies to

commit toPart 3 Automatically designing

optimal mechanisms that seAutomatically designing

optimal mechanisms that do(mechanism design)

optimal mechanisms that use randomization

optimal mechanisms that do not use randomization

Page 19: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Other settings/applications

Page 20: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Combinatorial auctions (in Part 1)Simultaneously for sale:

( $

Simultaneously for sale: , , bid 1

v( ) = $500

v( ) = $700bid 2

( ) $

bid 3

v( ) = $300

used in truckload transportation, industrial procurement, radio spectrum allocation, …

Page 21: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Voting (in Part 1)

> >voting rule

(mechanism) determines winnerdetermines 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

Page 22: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Kidney exchange (Part 1)y g ( )

ti t 1donor 1

patient 1 (patient 1’s friend)compatibilities

patient 2donor 2

(patient 2’s friend)

patient 3donor 3

(patient 3’s friend)patient 3 (patient 3’s friend)

donor 4patient 4

donor 4(patient 4’s friend)

Page 23: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Game playing & AI (in Part 2)perfect information games: imperfect informationperfect information games:

no uncertainty about the state of the game (e.g. tic-

tac-toe, chess, Go)

imperfect informationgames: uncertainty

about the state of the game (e.g. poker)

“nature”

1 gets King 1 gets Jack

“nature”

player 1player 1

white

black black

Qa1-a8 Qa1-f6

bet betstay stay

call fold call fold call fold call fold

player 2 player 2

black black

Kf8-f7 Kf8-g7 Kf8-g8 Kf8-e8

black wins white wins draw draw

2 1 1 1 -2 -11 1• Optimal play: value of each node =

value of optimal child for current player (backward induction,

i i )

• Player 2 cannot distinguish nodes connected by dotted linesminimax)

• For chess and Go, tree is too large– Use other techniques (heuristics,

limited-depth search alpha-beta )

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 programslimited-depth search, alpha-beta, …)

• Top computer programs (arguably) better than humans in chess, not yet in Go

• 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

Page 24: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Prediction markets

Page 25: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

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 or

Agent 3 offers $6 for a security that pays off $10 if

• Can we accept some of these at offers at no risk?

Page 26: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

How to incentivize a weather forecaster (in Part 3)forecaster (in Part 3)

P( ) = .5P( ) = .3

P( ) = .8P( ) = .1P( ) .3

P( ) = .2P( ) .1P( ) = .1

• Forecaster’s bonus can depend ondepend on– Prediction– Actual weather on predicted day

• Reporting true beliefs should maximize expected bonus

Page 27: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Sponsored search (in Part 3)

Page 28: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Why should economists care about computer science?computer science?

• Finding efficient allocations of resources is a g(typically hard) computational problem– Sometimes beyond current computational y p

techniques– If so, unlikely that any market mechanism will

produce the efficient allocation (even without incentives issues)

– Market mechanisms must be designed with computational limitations in mind

– New algorithms allow new market mechanisms

Page 29: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Why should economists care about computer sciencecomputer science…

• Agents also face difficult computational g pproblems in participating in the market– Especially acting in a game-theoretically optimal p y g g y p

way is often computationally hard– Game-theoretic predictions will not come true if

they cannot be computed• Sometimes bad (e.g., want agents to find right bundle

t t d )to trade)• Sometimes good (e.g., do not want agents to

manipulate system)manipulate system)

Page 30: CPS 173: Computational Microeconomics...CPS 173: Computational Microeconomics Instructor: Vincent Conitzer (Sally Dalton Robinson Professor of Computer Science & Professor of Economics)

Why should computer scientists care about economics?about economics?

• Economics provides high-value computational problemsproblems

• Interesting technical twist: no direct access to true input, must incentivize agents to reveal true inputp g p

• Conversely: Computer systems are increasingly used by multiple parties with different preferences ( I t t)(e.g., Internet)

• Economic techniques must be used to predict what will happen in such systems– predict what will happen in such systems,

– design the systems so that they will work well• Game theory is relevant for artificial intelligencey g

– E.g., computer poker