2) combinatorial algorithms for traditional market models vijay v. vazirani

Post on 17-Jan-2016

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

2) Combinatorial Algorithms for Traditional Market Models

Vijay V. Vazirani

Arrow-Debreu Theorem: Equilibria exist.

Arrow-Debreu Theorem: Equilibria exist.

Do markets operate at equilibria?

Arrow-Debreu Theorem: Equilibria exist.

Do markets operate at equilibria?

Can equilibria be computed efficiently?

Arrow-Debreu is highly non-constructive

Arrow-Debreu is highly non-constructive

“Invisible hand” of the market: Adam Smith

Arrow-Debreu is highly non-constructive

“Invisible hand” of the market: Adam Smith

Scarf, 1973: approximate fixed point algs.

Convex programs: Fisher: Eisenberg & Gale, 1957Arrow-Debreu: Newman and Primak, 1992

Used for deciding tax policies, price of new

products etc.

New markets on the Internet

Algorithmic Game Theory

Use powerful techniques from modern algorithmic theory and notions from game theory to address issues raised by Internet.

Combinatorial algorithms for finding market equilibria.

Two Fundamental Models

Fisher’s model

Arrow-Debreu model,

also known as exchange model

Combinatorial Algorithms

Primal-dual schema based algorithms Devanur, Papadimitriou, Saberi & V., 2002

Combinatorial algorithm for Fisher’s model

Auction-based algorithmsGarg & Kapoor, 2004

Approximation algorithms.

Approximation

Find prices s.t. all goods clear

Each buyer get goods providing

at least optimal utility.(1 )

Primal-Dual Schema

Highly successful algorithm design

technique from exact and

approximation algorithms

Exact Algorithms for Cornerstone Problems in P:

Matching (general graph) Network flow Shortest paths Minimum spanning tree Minimum branching

Approximation Algorithms

set cover facility location

Steiner tree k-median

Steiner network multicut

k-MST feedback vertex set

scheduling . . .

Main new idea

Previous: problems captured via

linear programs

DPSV: nonlinear convex program

Eisenberg-Gale Convex Program, 1959

Fisher’s Model n buyers, with specified money, m(i) for buyer i k goods (unit amount of each good) Linear utilities: is utility derived by i

on obtaining one unit of j Total utility of i,

i ij ijj

U u xiju

]1,0[

x

xuuij

ijj iji

Fisher’s Model n buyers, with specified money, m(i) k goods (each unit amount, w.l.o.g.) Linear utilities: is utility derived by i

on obtaining one unit of j Total utility of i,

Find prices s.t. market clears

i ij ijj

U u xiju

xuu ijj iji

Can equilibrium allocations be captured via an LP?

Set of feasible allocations:

1

, 0

iji

ij

j x

i j x

Does equilibrium optimize a global objective function?

Guess 1: Maximize sum of utilities, i.e.,

Problem: and

are equivalent utility functions.

max ( ) maxi ij iji i j

u x u x

2 ( )iu x( )iu x

However,

1i 1

1i 1

Maximize ( ) ( ) does not necessarily

maximize 2 ( ) ( )

1

, 0

i

i

iji

ij

u x u x

u x u x

j x

i j x

Guess 2: Product of utilities.

11

11

Maximize ( ) ( )

maximizes 2 ( ) ( )

1

, 0

ii

ii

iji

ij

u x u x

u x u x

j x

i j x

However, suppose a buyer with $200 is

split into two buyers with $100 each

And same utility function.

Clearly, equilibrium should not change.

However,

11

21

1

Maximize ( ) ( ) does not necessarily

maximize ( ) ( )

1

, 0

ii

ii

iji

ij

u x u x

u x u x

j x

i j x

Money of buyers is relevant.

Assume a utility function is written on

each dollar in market

Guess 3: Product of utilities over all dollars

( )Max ( )

1

, 0

m ii

i

iji

ij

u x

j x

i j x

Eisenberg-Gale Program, 1959

max ( ) log

. .

:

: 1

: 0

ii

i ij ijj

iji

ij

m i u

s t

i u

j

ij

u xx

x

Via KKT Conditions can establish:

Optimal solution gives equilibrium

allocations

Lagrange variables give prices of goods

DPSV Algorithm

“primal” variables: allocations of goods

“dual” variables: prices

algorithm: primal & dual improvements

Allocations Prices

Buyer i’s optimization program:

Global Constraint:

Market Equilibrium

People Goods

$100

$60

$20

$140

Prices and utilities

$100

$60

$20

$140

$20

$40

$10

$60

10

20

4

2

utilities

Bang per buck

$100

$60

$20

$140

$20

$40

$10

$60

10

20

4

2

10/20

20/40

4/10

2/60

Bang per buck

Utility of $1 worth of goods

Buyers will only buy goods providing

maximum bang per buck

Equality subgraph

$100

$60

$20

$140

$20

$40

$10

$60

10

20

4

2

10/20

20/40

4/10

2/60

Equality subgraph

$100

$60

$20

$140

$20

$40

$10

$60

Most desirable goods for each buyer

Any goods sold in equality subgraph make agents happiest

How do we maximize sales in equality subgraph?

Any goods sold in equality subgraph make agents happiest

How do we maximize sales in equality subgraph?

Use max-flow!

Max flow

100

60

20

140

20

40

10

60

infinite capacities

Idea of Algorithm

Invariant: source edges form min-cut

(agents have surplus)

Iterations: gradually raise prices,

decrease surplus

Terminate: when surplus = 0, i.e.,

sink edges also form a min-cut

Ensuring Invariant initially

Set each price to 1/n

Assume buyers’ money integral

How to raise prices? Ensure equality edges retained

i

j

l

ij il

j l

u u

p p

How to raise prices? Ensure equality edges retained

i

j

l

ij il

j l

u u

p p

• Raise prices proportionatelyj ij

l il

p u

p u

ij il

j l

u u

p p

100

60

20

140

20x

40x

10x

60x

initialize: x = 1

x

100

60

20

140

20x

40x

10x

60x

x = 2: another min-cut

x>2: Invariant violated

100

60

20

140

40x

80x

20

120

active

frozenreinitialize: x = 1

100

60

20

140

50

100

20

120

active

frozen x = 1.25

100

60

20

140

50

100

20

120

100

60

20

140

50

100

20

120

unfreeze

100

60

20

140

50x

100x

20x

120x

x = 1, x

m

buyers goods

m p

buyers goods

ensure Invariant

m p

buyers goodsequality

subgraph ensure Invariant

m px

x = 1, x

}{ S( )S

( ) ( ( ))x p S m S

}{ S( )S

( ) ( ( ))x p S m S freeze S

tight set

}{ S( )S

prices in S are market clearing

x = 1, x

S( )S

active

frozen

px

x = 1, x

S( )S

active

frozen

px

x = 1, x

S( )S

active

frozen

px

new edge enters equality subgraph

S( )S

active

frozen

unfreeze component

active

frozen

• All goods frozen => terminate

(market clears)

• All goods frozen => terminate

(market clears)

• When does a new set go tight?

•Solve as parametric cut problem

Termination Prices in S* have denominators

Terminates in max-flows.

,nnU

max { }ij ijU u

2 2Mn

Polynomial time? Problem: very little price increase

between freezings

Polynomial time? Problem: very little price increase

between freezings

Solution: work with buyers having

large surplus

Max flow

100

60

20

140

20

40

10

60

100

60

20

140

20

40

10

60

20

0

10

60

40

0

Max flow

surplus(i) = m(i) – f(i)

100

60

20

140

20

40

10

60

20

0

10

60

40

0

40

60

20

70

surplus(i) = m(i) – f(i)

100

60

20

140

20

40

10

60

20

0

10

60

40

0

40

60

20

70

Surplus vector = (40, 60, 20, 70)

Balanced flow

A max-flow that minimizes l2 norm of

surplus vector

tries to make surpluses as equal as possible

Algorithm

Compute balanced flow

active

frozen

Active subgraph: Buyers with maximum surplus

active

frozen

x = 1, x

px

active

frozen

new edge enters equality subgraph

active

frozen

Unfreeze buyers having residual path to

active subgraph

active

frozen

Unfreeze buyers having residual path to

active subgraph

Do they have large surplus?

f: balanced flow

R(f): residual graph

Theorem: If R(f) has a path from i to j then

surplus(i) > surplus(j)

active

frozen

New set tight

active

frozen

New set tight: freeze

Theorem: After each freezing, l2 norm of

surplus vector drops by (1 - 1/n2 ) factor.

Two reasons: total surplus decreasesflow becomes more balanced

Idea of Algorithm

algorithm: primal & dual improvements

measure of progress: l2-norm of surplus vector

Allocations Prices

Weak gross substitutability

Increasing price of one good cannot decrease

demand for another good.

Weak gross substitutability

Increasing price of one good cannot decrease

demand for another good.

=> never need to decrease

prices (dual variables).

Weak gross substitutability

Increasing price of one good cannot decrease

demand for another good.

=> never need to decrease

prices (dual variables).

Almost all primal-dual algs work this way.

Polynomial time

2 2( ( log log ))O n n U MnTheorem:

max-flow computations suffice.

Arrow-Debreu Model

Approximate equilibrium algorithms:

Jain, Mahdian & Saberi, 2003:

Use DPSV as black box.

Devanur & V., 2003: More efficient, by

opening DPSV.

Garg & Kapoor, 2004Auction-based algorithm

Start with very low prices

Keep increasing price of good that is in demand

B has excess money. Favorite good: g Currently at price p and owned by B’

B outbids B’

(1 )p

p

B 'B

p(1 )p

Outbid

Auction-based algorithm Go in rounds:

In each round, total surplus decreases by factor

Hence iterations suffice, M= total moneytotal money

1 2, ,... nB B B

(1 )

(1 )log M

Arrow-Debreu Model

Start with all prices 1 Allocate money to agents (initial endowment) Perform outbid and update agents’ money

Arrow-Debreu Model

Start with all prices 1 Allocate money to agents (initial endowment) Perform outbid and update agents’ money

Any good with price >1 is fully sold

Arrow-Debreu Model

Start with all prices 1 Allocate money to agents (initial endowment) Perform outbid and update agents’ money

Any good with price >1 is fully sold

Eventually every good will have price >1

maxmax

min minij

ij

uprice

price u

Garg, Kapoor & V., 2004:

Auction-based algorithms for

additively separable concave utilities

satisfying weak gross substitutability

Kapoor, Mehta & V., 2005:

Auction-based algorithm for

a (restricted) production model

Q: Distributed algorithm for equilibria?

Appropriate model?

Primal-dual schema operates via

local improvements

top related