27
CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics [email protected] Course web page: http://www.cs.duke.edu/courses/spring07/cps296.3/

CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics [email protected]

  • View
    222

  • Download
    3

Embed Size (px)

Citation preview

Page 1: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

CPS 296.3Topics in Computational

Economics

Instructor: Vincent Conitzer Assistant Professor of Computer Science

Assistant Professor of [email protected]

Course web page: http://www.cs.duke.edu/courses/spring07/cps296.3/

Page 2: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

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

distribution, and consumption of valuable goods and services” [Wikipedia, Jan. 07]

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

firms, …)– 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

Page 3: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

An economic picture

$ 600

$ 800

$ 200

v( ) = 400

v( ) = 200

) = 200v(v( ) = 100

v( ) = 400

Page 4: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

After trade (a more efficient outcome)

$ 400

$ 1100

$ 100

v( ) = 400

v( ) = 200

) = 200v(v( ) = 100

v( ) = 400

… but how do we get here?Auctions?

Exchanges? Unstructured trade?

Page 5: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

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”

Page 6: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

What is Computer Science?• “the study of the theoretical foundations of information and

computation and their implementation and application in computer systems” [Wikipedia, Jan. 07]

• 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 an initial allocation of resources 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, the Internet, the Web, search engines, spreadsheets, artificial intelligence, …)

Page 7: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

Resource allocation as a computational problem

$ 800

$ 400

v( ) = $400

v( ) = $600

v( ) = $500

v( ) = $400

$ 750

$ 450

input output

Page 8: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

Economic mechanisms

$ 800

$ 400

v( ) = $400

v( ) = $600

v( ) = $500

v( ) = $400

$ 800

$ 400

“true” input result

$ 800

v( ) = $500

v( ) = $501

agents’ bids

$ 400

v( ) = $451

v( ) = $450

agent 1’s bidding algorithm

agent 2’s bidding algorithm

exchange mechanism(algorithm)

Exchange mechanism designer does not have direct access to

agents’ private information

Agents will selfishly respond to incentives

Page 9: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

Game theory• 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

Page 10: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

Penalty kick example

probability .7

probability .3

probability .6

probability .4

probability 1

Is this a “rational” outcome? If not, what

is?

action

action

Page 11: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

Why should economists care about computer science?

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

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 12: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

Why should economists care about computer science…

• Agents also face difficult computational problems in participating in the market– Especially acting in a game-theoretically optimal

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 to

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

manipulate system)

Page 13: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

Why should computer scientists care about economics?

• Economics provides high-value computational problems

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

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

• Economic techniques must be used to – predict what will happen in such systems,– design the systems so that they will work well

• Game theory is relevant for artificial intelligence– E.g. computer poker

Page 14: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

Prediction markets

Page 15: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

Prediction markets

Page 16: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

Prediction markets

Page 17: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

Prediction markets

Page 18: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

Sponsored search/keyword auctions

Page 19: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

Sponsored search/keyword auctions

Page 20: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

Sponsored search/keyword auctions

Page 21: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

Sponsored search/keyword auctions

Page 22: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

CAPTCHA: Automatically Telling Humans and Computers Apart

[von Ahn, Blum, Hopper, Langford]

Page 23: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

CAPTCHA: Automatically Telling Humans and Computers Apart

[von Ahn, Blum, Hopper, Langford]

Page 24: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

Trading agents• Idea: given appropriate (e.g. web-based)

interfaces, software can automatically make buying and selling decisions

• 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)

Page 25: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

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

Page 26: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

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

Page 27: CPS 296.3 Topics in Computational Economics Instructor: Vincent Conitzer Assistant Professor of Computer Science Assistant Professor of Economics conitzer@cs.duke.edu

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