1 of 53

EconCS: Origins

Bo Waggoner

Harvard Summer Student Colloquium

2014.06.26

2 of 53

3 of 53

prediction markets

networks

multi-agent systems

data mining

mechanism design

optimization

algorithmic game theory

utility models

human computation

information aggregation

matching

coalitional games

revenue maximization

approximation in mechanism design

voting equilibria

bandit algorithms

incentives and markets

online task assignment

information elicitation

crowdsourcing

online experiments

social computing

statistical

machine learning

badge design

budget-feasible mechanisms

4 of 53

What is EconCS?

5 of 53

What is EconCS?

What is Computer Science?

6 of 53

What is EconCS?

What is Computer Science?

What is Science?

7 of 53

Bo’s Philosophy of (Computer) Science

maths

engineering

Fig. 1: Science

natural

sciences

8 of 53

Bo’s Philosophy of (Computer) Science

“proving facts”

“building stuff”

Fig. 1: Science

“studying

phenomena”

9 of 53

Bo’s Philosophy of (Computer) Science

Science + Algorithms = Computer Science

10 of 53

Bo’s Philosophy of (Computer) Science

Science + Algorithms = Computer Science

maths + algorithms

engineering

+ algorithms

Fig. 2: Computer Science

natural

sciences

+ algorithms

11 of 53

Bo’s Philosophy of (Computer) Science

Science + Algorithms = Computer Science

“proving facts about algorithms”

“using algorithms to prove facts”

“building algorithms”

“using algorithms to build stuff”

Fig. 2: Computer Science

“studying algorithmic phenomena”

“using algorithms to study phenomena”

12 of 53

Bo’s Philosophy of (Computer) Science

Scientific Study of Algorithms

“proving facts about algorithms”

“building algorithms”

“studying algorithmic phenomena”

Fig. 3: The dual relationship of science and CS

Algorithmic Study of Science

“using algorithms to prove facts”

“using algorithms to build stuff”

“using algorithms

to study phenomena”

13 of 53

What is EconCS?

(according to Bo)

14 of 53

What is EconCS?

(according to Bo)

Mostly,

the algorithmic study of systems of goal-directed agents

the study of algorithms arising in such systems.

and

15 of 53

“goal-directed agents”

16 of 53

“goal-directed agents”

A

B

C

17 of 53

“goal-directed agents”

A

B

C

18 of 53

“goal-directed agents”

“microeconomics”

A

B

C

19 of 53

Themes in EconCS

  • How do/should agents act in these systems?

  • How to design systems for these agents?

  • How does/should information flow?

20 of 53

Themes in EconCS

  • How do/should agents act in these systems?

  • How to design systems for these agents?

  • How does/should information flow?

1. how to play at games

Agenda:

3. how to get data

2. how google makes $$

21 of 53

Recall:

1. how to play at games

A

B

C

22 of 53

goal-directedutility for outcomes

Action

“Utility”

A

B

C

6

10

7

23 of 53

goal-directedutility for outcomes

Action

“Utility”

A

B

C

6

10

7

24 of 53

Game Theory: interacting goal-directed agents

A

B

C

6, 8

10, 7

7, 4

A

B

C

2, 8

7, 5

8, 7

7, 4

2, 9

4, 7

25 of 53

Game Theory: interacting goal-directed agents

A

B

C

6, 8

10, 7

7, 4

A

B

C

2, 8

7, 5

8, 7

7, 4

2, 9

4, 7

How do/should agents act?

Key idea: equilibrium.

Each player’s (randomized) strategy

is an optimal response

to all other players’ (randomized) strategies.

26 of 53

Algorithmic questions on equilibria

  • Complexity of finding an equilibrium?�→ PPAD-complete (2005)�(also PPAD-hard: finding function’s fixed point, finding a sink of an implicitly represented graph, fairly cutting a ham sandwich, ...)�
  • When can online learning algorithms converge to equilibria?

27 of 53

Another algorithmic question

  • “Price of Anarchy”: What is the approximation ratio� total utility in equilibrium ?� max achievable total utility

28 of 53

Themes in EconCS

  • How do/should agents act in these systems?

  • How to design systems for these agents?

  • How does/should information flow?

1. how to play at games

Agenda:

3. how to get data

2. how google makes $$

29 of 53

2. how google makes $$

30 of 53

2. how google makes $$

$10

$9

$8

$10

$9

$8

$10

$9

$8

31 of 53

2. how google makes $$

$9

$8

$10

32 of 53

2. how google makes $$

utility: 0

utility: 0

utility: 1

$9

33 of 53

Mechanism Design: building games

A

B

C

6, 8

10, 7

7, 4

A

B

C

2, 8

7, 5

8, 7

7, 4

2, 9

4, 7

34 of 53

Mechanism Design: building games

A

B

C

6, 8

10, 7

7, 4

A

B

C

2, 8

7, 5

8, 7

7, 4

2, 9

4, 7

How to construct algorithms involving strategic agents?

Key idea: Build games with “good” equilibria.

Players locally optimize → good global outcome.

35 of 53

Algorithmic questions in MD: Auctions!

How to optimize and analyze auctions:

  • that approximate the “optimal”?
  • in an online setting?
  • with expressive bidding languages?
  • with unknown consequences?
  • where privacy is a concern?

36 of 53

Mechanism design without money

  • Matching and assignment problems with incentives
  • Information spread on social networks
  • Contribution systems (reddit, StackExchange, …)
  • Making social choices:
    • where to locate an ice cream shop?
    • how to fairly divide a cake?
    • voting and truthtelling
    • voting and statistical models

37 of 53

Themes in EconCS

  • How do/should agents act in these systems?

  • How to design systems for these agents?

  • How does/should information flow?

1. how to play at games

Agenda:

3. how to get data

2. how google makes $$

38 of 53

3. how to get data

OTHER

Who will win?

39 of 53

3. how to get data

OTHER

prediction

prediction

prediction

40 of 53

3. how to get data

OTHER

Prediction market:

  • create “shares” for each team
  • if England wins, a “share” of England can be redeemed for $100
  • agents buy and sell shares
  • share prices → consensus probabilities

41 of 53

42 of 53

Hot at Harvard: “crowdsourcing”

cf “human computation”, “social computing”, “information elicitation”, …

  • Incentives and behavior for microtasks�
  • Games that elicit information�
  • Purchasing data from the crowd, online

43 of 53

“Buying Data Access for Learning”

“We buy data”

44 of 53

“Buying Data Access for Learning”

45 of 53

“Buying Data Access for Learning”

$6

1) agent arrives, i.i.d.

46 of 53

“Buying Data Access for Learning”

$6

1) agent arrives, i.i.d.

X,Y LABEL PRICE

3,4 $8

3,4 $2

1,1 $4

1,1 $6

...

2) we offer menu of prices

47 of 53

“Buying Data Access for Learning”

X,Y LABEL PRICE

3,4 $8

3,4 $2

1,1 $4

1,1 $6

...

$6

1) agent arrives, i.i.d.

2) we offer menu of prices

3) agent decides whether

to accept offer for her data

48 of 53

“Buying Data Access for Learning”

$6

1) agent arrives, i.i.d.

2) we offer menu of prices

3) agent decides whether

to accept offer for her data

$8

3,4:

4) If so, we get the data and pay

the price we posted for it

49 of 53

“Buying Data Access for Learning”

$6

1) agent arrives, i.i.d.

2) we offer menu of prices

3) agent decides whether

to accept offer for her data

$8

3,4:

4) If so, we get the data and pay

the price we posted for it

How to price data?

Key idea: Use machine learning to assess value of potential data points.

Objective: Learn a good hypothesis with a small budget.

50 of 53

Recap

51 of 53

the algorithmic study of systems of goal-directed agents

the study of algorithms arising in such systems.

52 of 53

the algorithmic study of systems of goal-directed agents

the study of algorithms arising in such systems.

  • How do/should agents act in these systems?

game theory, equilibrium

  • How to design systems for these agents?

mechanism design, auctions, MD without money

  • How does/should information flow?

prediction markets, crowdsourcing, …

53 of 53

End

Open questions:

  • how to win at poker?
  • what is money and where does it come from?
  • how to crowdsource quantum big data? on the cloud?
  • who will win the world cup?
  • ...