Gross Substitutes Tutorial Part I: Combinatorial structure and - - PowerPoint PPT Presentation

gross substitutes tutorial
SMART_READER_LITE
LIVE PREVIEW

Gross Substitutes Tutorial Part I: Combinatorial structure and - - PowerPoint PPT Presentation

Gross Substitutes Tutorial Part I: Combinatorial structure and algorithms (Renato Paes Leme, Google) Part II: Economics and the boundaries of substitutability (Inbal Talgam-Cohen, Hebrew University) Three seemingly-independent problems Three


slide-1
SLIDE 1

Gross Substitutes Tutorial

Part I: Combinatorial structure and algorithms (Renato Paes Leme, Google) Part II: Economics and the boundaries of substitutability (Inbal Talgam-Cohen, Hebrew University)

slide-2
SLIDE 2

Three seemingly-independent problems

slide-3
SLIDE 3

Three seemingly-independent problems

[Kelso-Crawford ’82] necessary /“sufficient” condition for price adjustment to converge gross substitutes

slide-4
SLIDE 4

Three seemingly-independent problems

[Kelso-Crawford ’82] necessary /“sufficient” condition for price adjustment to converge gross substitutes [Dress-Wenzel ’91] generalize Grassmann-Plucker relations valuated matroids matroidal maps

slide-5
SLIDE 5

Three seemingly-independent problems

[Kelso-Crawford ’82] necessary /“sufficient” condition for price adjustment to converge gross substitutes [Dress-Wenzel ’91] generalize Grassmann-Plucker relations valuated matroids matroidal maps [Murota-Shioura ’99] generalize convexity to discrete domains M-discrete concave

slide-6
SLIDE 6

Three seemingly-independent problems

[Kelso-Crawford ’82] necessary /“sufficient” condition for price adjustment to converge gross substitutes [Dress-Wenzel ’91] generalize Grassmann-Plucker relations valuated matroids matroidal maps [Murota-Shioura ’99] generalize convexity to discrete domains M-discrete concave

Discrete Convex Analysis

slide-7
SLIDE 7

Some notation to start

  • Discrete sets of goods:
  • Valuation function
  • Given prices define
  • Demand correspondence
  • Demand oracle
  • Value oracle
  • Marginals

[n] = {1, . . . , n} v : 2[n] → R p ∈ Rn vp(S) = v(S) − p(S) D(v; p) = argmaxS vp(S) OD(v, p) ∈ D(v; p) v(S|T) = v(S ∪ T) − v(T) OV (v, S) = v(S)

slide-8
SLIDE 8

Walrasian equilibrium

n goods m buyers

slide-9
SLIDE 9
  • Valuations

Walrasian equilibrium

n goods m buyers vi : 2N → R v1 v2 v3 v4

slide-10
SLIDE 10
  • Valuations

Walrasian equilibrium

n goods m buyers vi : 2N → R p1 p2 p3 p4 p5 p6 v1 v2 v3 v4

slide-11
SLIDE 11
  • Valuations

Walrasian equilibrium

n goods m buyers vi : 2N → R p1 p2 p3 p4 p5 p6 v1 v2 v3 v4 D(vi, p) = argmaxS⊆N[vi(S) − P

i∈S pi]

  • Demands
slide-12
SLIDE 12
  • Valuations

Walrasian equilibrium

n goods m buyers vi : 2N → R p1 p2 p3 p4 p5 p6 v1 v2 v3 v4 D(vi, p) = argmaxS⊆N[vi(S) − P

i∈S pi]

  • Demands

S1 ∈ D(v1, p)

slide-13
SLIDE 13
  • Valuations

Walrasian equilibrium

n goods m buyers vi : 2N → R p1 p2 p3 p4 p5 p6 v1 v2 v3 v4 D(vi, p) = argmaxS⊆N[vi(S) − P

i∈S pi]

  • Demands

S1 ∈ D(v1, p) S2 ∈ D(v2, p)

slide-14
SLIDE 14
  • Valuations

Walrasian equilibrium

n goods m buyers vi : 2N → R p1 p2 p3 p4 p5 p6 v1 v2 v3 v4 D(vi, p) = argmaxS⊆N[vi(S) − P

i∈S pi]

  • Demands

S1 ∈ D(v1, p) S2 ∈ D(v2, p) ∅ ∈ D(v3, p)

slide-15
SLIDE 15
  • Valuations

Walrasian equilibrium

n goods m buyers vi : 2N → R p1 p2 p3 p4 p5 p6 v1 v2 v3 v4 D(vi, p) = argmaxS⊆N[vi(S) − P

i∈S pi]

  • Demands

S1 ∈ D(v1, p) S2 ∈ D(v2, p) S4 ∈ D(v4, p) ∅ ∈ D(v3, p)

slide-16
SLIDE 16
  • Market equilibrium: prices s.t. 


i.e. each good is demanded by exactly one buyer.

Walrasian equilibrium

p ∈ Rn Si ∈ D(vi, p) First Welfare Theorem: in equilibrium the welfare
 is maximized. P

i vi(Si)

(proof: LP duality) When do equilibria exist ? How do markets converge to equilibrium prices ? How to compute a Walrasian equilibrium ?

slide-17
SLIDE 17
  • Initialize and prices
  • While there is assign 


to i and increase the prices in by .

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 S1 = [n], Si = ∅ pj = 0 Si / ∈ D(vi, pi)

pi

j = pj if j ∈ Si

pi

j = pj + ✏ if j /

∈ Si

Xi ∈ D(vi; pi

i)

Xi \ Si ✏

slide-18
SLIDE 18
  • Initialize and prices
  • While there is assign 


to i and increase the prices in by .

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 S1 = [n], Si = ∅ pj = 0 Si / ∈ D(vi, pi)

pi

j = pj if j ∈ Si

pi

j = pj + ✏ if j /

∈ Si

Xi ∈ D(vi; pi

i)

Xi \ Si ✏

slide-19
SLIDE 19
  • Initialize and prices
  • While there is assign 


to i and increase the prices in by .

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 S1 = [n], Si = ∅ pj = 0 Si / ∈ D(vi, pi)

pi

j = pj if j ∈ Si

pi

j = pj + ✏ if j /

∈ Si

Xi ∈ D(vi; pi

i)

Xi \ Si ✏

slide-20
SLIDE 20
  • Initialize and prices
  • While there is assign 


to i and increase the prices in by .

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 S1 = [n], Si = ∅ pj = 0 Si / ∈ D(vi, pi)

pi

j = pj if j ∈ Si

pi

j = pj + ✏ if j /

∈ Si

Xi ∈ D(vi; pi

i)

Xi \ Si ✏ ✏ ✏

slide-21
SLIDE 21
  • Initialize and prices
  • While there is assign 


to i and increase the prices in by .

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 S1 = [n], Si = ∅ pj = 0 Si / ∈ D(vi, pi)

pi

j = pj if j ∈ Si

pi

j = pj + ✏ if j /

∈ Si

Xi ∈ D(vi; pi

i)

Xi \ Si ✏ ✏ ✏

slide-22
SLIDE 22
  • Initialize and prices
  • While there is assign 


to i and increase the prices in by .

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 S1 = [n], Si = ∅ pj = 0 Si / ∈ D(vi, pi)

pi

j = pj if j ∈ Si

pi

j = pj + ✏ if j /

∈ Si

Xi ∈ D(vi; pi

i)

Xi \ Si ✏ ✏ ✏

slide-23
SLIDE 23
  • Initialize and prices
  • While there is assign 


to i and increase the prices in by .

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 S1 = [n], Si = ∅ pj = 0 Si / ∈ D(vi, pi)

pi

j = pj if j ∈ Si

pi

j = pj + ✏ if j /

∈ Si

Xi ∈ D(vi; pi

i)

Xi \ Si ✏ ✏ ✏ ✏ 2

slide-24
SLIDE 24
  • Initialize and prices
  • While there is assign 


to i and increase the prices in by .

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 S1 = [n], Si = ∅ pj = 0 Si / ∈ D(vi, pi)

pi

j = pj if j ∈ Si

pi

j = pj + ✏ if j /

∈ Si

Xi ∈ D(vi; pi

i)

Xi \ Si ✏ ✏ ✏ ✏ 2

slide-25
SLIDE 25
  • Initialize and prices
  • While there is assign 


to i and increase the prices in by .

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 S1 = [n], Si = ∅ pj = 0 Si / ∈ D(vi, pi)

pi

j = pj if j ∈ Si

pi

j = pj + ✏ if j /

∈ Si

Xi ∈ D(vi; pi

i)

Xi \ Si ✏ ✏ ✏ ✏ 2

slide-26
SLIDE 26
  • Initialize and prices
  • While there is assign 


to i and increase the prices in by .

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 S1 = [n], Si = ∅ pj = 0 Si / ∈ D(vi, pi)

pi

j = pj if j ∈ Si

pi

j = pj + ✏ if j /

∈ Si

Xi ∈ D(vi; pi

i)

Xi \ Si ✏ ✏ ✏ ✏ 2 2

slide-27
SLIDE 27
  • Initialize and prices
  • While there is assign 


to i and increase the prices in by .

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 S1 = [n], Si = ∅ pj = 0 Si / ∈ D(vi, pi)

pi

j = pj if j ∈ Si

pi

j = pj + ✏ if j /

∈ Si

Xi ∈ D(vi; pi

i)

Xi \ Si ✏ ✏ ✏ ✏ 2 2

slide-28
SLIDE 28

Walrasian tatonnement

  • This process always ends, otherwise prices go to infinity.
  • When it ends

Si ∈ D(vi; pi)

slide-29
SLIDE 29

Walrasian tatonnement

  • This process always ends, otherwise prices go to infinity.
  • When it ends in the limit

✏ → 0 Si ∈ D(vi; p)

slide-30
SLIDE 30
  • What else ?

Walrasian tatonnement

  • This process always ends, otherwise prices go to infinity.
  • When it ends in the limit

✏ → 0 Si ∈ D(vi; p)

slide-31
SLIDE 31
  • What else ?

Walrasian tatonnement

  • This process always ends, otherwise prices go to infinity.
  • When it ends in the limit

✏ → 0 Si ∈ D(vi; p)

  • The only condition left is that
  • For that we need:

∪iSi = [n] Si ⊆ Xi ∈ D(vi; pi)

slide-32
SLIDE 32
  • What else ?

Walrasian tatonnement

  • This process always ends, otherwise prices go to infinity.
  • When it ends in the limit

✏ → 0 Si ∈ D(vi; p)

  • The only condition left is that
  • For that we need:

∪iSi = [n] Si ⊆ Xi ∈ D(vi; pi)

  • Definition: A valuation satisfied gross substitutes if for

all prices and there is 
 s.t. p ≤ p0 S ∈ D(v; p) X ∈ D(v; p0) S ∩ {i; pi = p0

i} ⊆ X

slide-33
SLIDE 33
  • What else ?

Walrasian tatonnement

  • This process always ends, otherwise prices go to infinity.
  • When it ends in the limit

✏ → 0 Si ∈ D(vi; p)

  • The only condition left is that
  • For that we need:

∪iSi = [n] Si ⊆ Xi ∈ D(vi; pi)

  • Definition: A valuation satisfied gross substitutes if for

all prices and there is 
 s.t. p ≤ p0 S ∈ D(v; p) X ∈ D(v; p0) S ∩ {i; pi = p0

i} ⊆ X

  • With the new definition, the algorithm always keeps a partition.
slide-34
SLIDE 34

Walrasian equilibrium

  • Theorem [Kelso-Crawford]: If all agents have GS

valuations, then Walrasian equilibrium always exists.

slide-35
SLIDE 35

Walrasian equilibrium

  • Theorem [Kelso-Crawford]: If all agents have GS

valuations, then Walrasian equilibrium always exists.

  • Some examples of GS:
  • additive functions
  • unit-demand
  • matching valuations max matching from S

v(S) = P

i∈S v(i)

v(S) = maxi∈S v(i) v(S) =

slide-36
SLIDE 36

Walrasian equilibrium

  • Theorem [Kelso-Crawford]: If all agents have GS

valuations, then Walrasian equilibrium always exists.

  • Some examples of GS:
  • additive functions
  • unit-demand
  • matching valuations max matching from S

v(S) = P

i∈S v(i)

v(S) = maxi∈S v(i) v(S) =

slide-37
SLIDE 37

Walrasian equilibrium

  • Theorem [Kelso-Crawford]: If all agents have GS

valuations, then Walrasian equilibrium always exists.

  • Some examples of GS:
  • additive functions
  • unit-demand
  • matching valuations max matching from S

v(S) = P

i∈S v(i)

v(S) = maxi∈S v(i) v(S) =

slide-38
SLIDE 38

Walrasian equilibrium

  • Theorem [Kelso-Crawford]: If all agents have GS

valuations, then Walrasian equilibrium always exists.

  • Some examples of GS:
  • additive functions
  • unit-demand
  • matching valuations max matching from S

v(S) = P

i∈S v(i)

v(S) = maxi∈S v(i) v(S) =

slide-39
SLIDE 39

Walrasian equilibrium

  • Theorem [Kelso-Crawford]: If all agents have GS

valuations, then Walrasian equilibrium always exists.

  • Some examples of GS:
  • additive functions
  • unit-demand
  • matching valuations max matching from S

v(S) = P

i∈S v(i)

v(S) = maxi∈S v(i) v(S) =

slide-40
SLIDE 40

Walrasian equilibrium

  • Theorem [Kelso-Crawford]: If all agents have GS

valuations, then Walrasian equilibrium always exists.

  • Some examples of GS:
  • additive functions
  • unit-demand
  • matching valuations max matching from S
  • matroid-matching

v(S) = P

i∈S v(i)

v(S) = maxi∈S v(i) v(S) =

slide-41
SLIDE 41

Walrasian equilibrium

  • Theorem [Kelso-Crawford]: If all agents have GS

valuations, then Walrasian equilibrium always exists.

  • Some examples of GS:
  • additive functions
  • unit-demand
  • matching valuations max matching from S
  • matroid-matching

v(S) = P

i∈S v(i)

v(S) = maxi∈S v(i) v(S) =

slide-42
SLIDE 42

Walrasian equilibrium

  • Theorem [Kelso-Crawford]: If all agents have GS

valuations, then Walrasian equilibrium always exists.

  • Some examples of GS:
  • additive functions
  • unit-demand
  • matching valuations max matching from S
  • matroid-matching

v(S) = P

i∈S v(i)

v(S) = maxi∈S v(i) v(S) = Open: GS ?= matroid-matching

slide-43
SLIDE 43

Walrasian equilibrium

  • Theorem [Kelso-Crawford]: If all agents have GS

valuations, then Walrasian equilibrium always exists.

  • Theorem [Gul-Stachetti]: If a class of valuations

contains all unit-demand valuations and Walrasian equilibrium always exists then C ⊆ GS C

slide-44
SLIDE 44

Valuated Matroids

  • Given vectors define



 for prime .

  • Question in algebra:
  • Solution is a greedy algorithm: start with any non-

degenerate set and go over each items and replace it by the one that minimizes .

  • [DW]: Grassmann-Plucker relations look like matroid cond

v1, . . . , vm ∈ Qn ψp(v1, . . . , vn) = n if det(v1, . . . , vn) = p−n · a/b p a, b, p ∈ Z min

vi∈V ψp(v1, . . . , vn) s.t. det(v1, . . . , vn) 6= 0

ψp(v1, . . . , vn)

slide-45
SLIDE 45

Valuated Matroids

  • Definition: a function is a valuated

matroid if the “Greedy is optimal”. v : [n]

k

  • → R
slide-46
SLIDE 46

Matroidal maps

  • Definition: a function is a matroidal map if

for every a set in can be obtained by the greedy algorithm : and v : 2[n] → R p ∈ Rn D(v; p) S0 = ∅ St = St−1 ∪ {it} for it ∈ argmaxi vp(i|St)

slide-47
SLIDE 47

Matroidal maps

  • Definition: a function is a matroidal map if

for every a set in can be obtained by the greedy algorithm : and v : 2[n] → R p ∈ Rn D(v; p) S0 = ∅ St = St−1 ∪ {it} for it ∈ argmaxi vp(i|St)

  • Definition: a subset system is a matroid if

for every the problem can be solved by the greedy algorithm. M ⊆ 2[n] p ∈ Rn max

S∈M p(S)

slide-48
SLIDE 48

Discrete Concavity

  • A function is convex if for all , a

local minimum of is a global minimum.

  • Also, gradient descent converges for convex functions.
  • We want to extend this notion to function in the

hypercube: (or lattice


  • r other discrete sets such as the basis of a matroid)

f : Rn → R p ∈ Rn fp(x) = f(x) hp, xi v : 2[n] → R v : Z[n] → R

slide-49
SLIDE 49

Discrete Concavity

  • A function is convex if for all , a

local minimum of is a global minimum.

  • Also, gradient descent converges for convex functions.
  • We want to extend this notion to function in the

hypercube: (or lattice


  • r other discrete sets such as the basis of a matroid)

f : Rn → R p ∈ Rn fp(x) = f(x) hp, xi v : 2[n] → R v : Z[n] → R

slide-50
SLIDE 50

Discrete Concavity

  • A function is convex if for all , a

local minimum of is a global minimum.

  • Also, gradient descent converges for convex functions.
  • We want to extend this notion to function in the

hypercube: (or lattice


  • r other discrete sets such as the basis of a matroid)

f : Rn → R p ∈ Rn fp(x) = f(x) hp, xi v : 2[n] → R v : Z[n] → R

slide-51
SLIDE 51

Discrete Concavity

  • A function is discrete concave if for all


all local minima of are global minima. I.e.
 
 
 
 
 then . In particular local search always converges.


  • [Murota ’96] M-concave (generalize valuated matroids)


[Murota-Shioura ’99] -concave functions v : 2[n] → R p ∈ Rn vp vp(S) ≥ vp(S ∪ i), ∀i / ∈ S vp(S) ≥ vp(S \ j), ∀j ∈ S vp(S) ≥ vp(S ∪ i \ j), ∀i / ∈ S, j ∈ S vp(S) ≥ vp(T), ∀T ⊆ [n] M \

slide-52
SLIDE 52

Equivalence

  • [Fujishige-Yang] A function is gross

substitutes iff it is a matroidal map iff it is discrete concave. v : 2[n] → R

[Kelso-Crawford ’82] necessary /“sufficient” condition for price adjustment to converge gross substitutes [Dress-Wenzel ’91] generalize Grassmann-Plucker relations valuated matroids matroidal maps [Murota-Shioura ’99] generalize convexity to discrete domains M-discrete concave

slide-53
SLIDE 53

Equivalence

  • [Fujishige-Yang] A function is gross

substitutes iff it is a matroidal map iff it is discrete concave. v : 2[n] → R

[Kelso-Crawford ’82] necessary /“sufficient” condition for price adjustment to converge gross substitutes [Dress-Wenzel ’91] generalize Grassmann-Plucker relations valuated matroids matroidal maps [Murota-Shioura ’99] generalize convexity to discrete domains M-discrete concave

  • In particular in poly-time.

S ∈ D(v; p)

slide-54
SLIDE 54

Equivalence

  • [Fujishige-Yang] A function is gross

substitutes iff it is a matroidal map iff it is discrete concave. v : 2[n] → R

  • Proof through discrete differential equations

[Kelso-Crawford ’82] necessary /“sufficient” condition for price adjustment to converge gross substitutes [Dress-Wenzel ’91] generalize Grassmann-Plucker relations valuated matroids matroidal maps [Murota-Shioura ’99] generalize convexity to discrete domains M-discrete concave

  • In particular in poly-time.

S ∈ D(v; p)

slide-55
SLIDE 55

Discrete Differential Equations

  • Given a function we define the discrete

derivative with respect to as the function 
 which is given by:



 


(another name for the marginal) v : 2[n] → R i ∈ [n] ∂iv : 2[n]\i → R ∂iv(S) = v(S ∪ i) − v(S)

slide-56
SLIDE 56

Discrete Differential Equations

  • Given a function we define the discrete

derivative with respect to as the function 
 which is given by:



 


(another name for the marginal) v : 2[n] → R i ∈ [n] ∂iv : 2[n]\i → R ∂iv(S) = v(S ∪ i) − v(S)

  • If we apply it twice we get:


  • Submodularity:

∂ijv(S) := ∂j∂iv(S) = v(S ∪ ij) − v(S ∪ i) − v(S ∪ j) + v(S)

∂ijv(S) ≤ 0

slide-57
SLIDE 57

Discrete Differential Equations

  • [Reijnierse, Gellekom, Potters] A function 


is in gross substitutes iff it satisfies:
 


condition on the discrete Hessian. v : 2[n] → R ∂ijv(S) ≤ max(∂ikv(S), ∂kjv(S)) ≤ 0

  • Idea: A function is in GS iff there is not price such that:

  • r


If v is not submodular, we can construct a price of the first type. If then we can find a certificate of the second type. D(v; p) = {S, S ∪ ij} D(v; p) = {S ∪ k, S ∪ ij} ∂ijv(S) > max(∂ikv(S), ∂kjv(S))

slide-58
SLIDE 58

Algorithmic Problems

  • Welfare problem: given m agents with 


find a partition of maximizing

  • Verification problem: given a partition


find whether it is optimal.


  • Walrasian prices: given the optimal partition 


find a price such that v1, . . . , vm : 2[n] → R S1, . . . , Sm [n] P

i vi(Si)

(S∗

1, . . . , S∗ m)

S∗

i ∈ argmaxS vi(S) − p(S)

S1, . . . , Sm

slide-59
SLIDE 59

Algorithmic Problems

  • Techniques:
  • Tatonnement
  • Linear Programming
  • Gradient Descent
  • Cutting Plane Methods
  • Combinatorial Algorithms
slide-60
SLIDE 60

Linear Programming

  • [Nisan-Segal] Formulate this problem as an LP:

max P

i vi(S)xiS

P

S xiS = 1, ∀i ∈ [m]

P

i

P

S3j xiS = 1, ∀j ∈ [n]

xiS ∈ [0, 1] {0, 1}

slide-61
SLIDE 61

Linear Programming

  • [Nisan-Segal] Formulate this problem as an LP:

max P

i vi(S)xiS

P

S xiS = 1, ∀i ∈ [m]

P

i

P

S3j xiS = 1, ∀j ∈ [n]

xiS ∈ [0, 1]

slide-62
SLIDE 62

Linear Programming

  • [Nisan-Segal] Formulate this problem as an LP:

max P

i vi(S)xiS

P

S xiS = 1, ∀i ∈ [m]

P

i

P

S3j xiS = 1, ∀j ∈ [n]

xiS ∈ [0, 1] min P

i ui + P j pj

ui ≥ vi(S) − P

j∈S pj∀i, S

pj ≥ 0, ui ≥ 0 primal dual

slide-63
SLIDE 63

Linear Programming

  • [Nisan-Segal] Formulate this problem as an LP:

max P

i vi(S)xiS

P

S xiS = 1, ∀i ∈ [m]

P

i

P

S3j xiS = 1, ∀j ∈ [n]

xiS ∈ [0, 1] min P

i ui + P j pj

ui ≥ vi(S) − P

j∈S pj∀i, S

pj ≥ 0, ui ≥ 0 primal dual

  • For GS, the IP is integral:
  • Consider a Walrasian equilibrium and p the Walrasian

prices and u the agent utilities. Then it is a solution to the dual, so: WIP ≤ WLP = WD-LP WD-LP ≤ Weq = WIP

slide-64
SLIDE 64

Linear Programming

  • [Nisan-Segal] Formulate this problem as an LP:

max P

i vi(S)xiS

P

S xiS = 1, ∀i ∈ [m]

P

i

P

S3j xiS = 1, ∀j ∈ [n]

xiS ∈ [0, 1] min P

i ui + P j pj

ui ≥ vi(S) − P

j∈S pj∀i, S

pj ≥ 0, ui ≥ 0 primal dual

slide-65
SLIDE 65

Linear Programming

  • [Nisan-Segal] Formulate this problem as an LP:

max P

i vi(S)xiS

P

S xiS = 1, ∀i ∈ [m]

P

i

P

S3j xiS = 1, ∀j ∈ [n]

xiS ∈ [0, 1] min P

i ui + P j pj

ui ≥ vi(S) − P

j∈S pj∀i, S

pj ≥ 0, ui ≥ 0 primal dual

  • In general, Walrasian equilibrium exists iff LP is integral.
slide-66
SLIDE 66

Linear Programming

  • [Nisan-Segal] Formulate this problem as an LP:

max P

i vi(S)xiS

P

S xiS = 1, ∀i ∈ [m]

P

i

P

S3j xiS = 1, ∀j ∈ [n]

xiS ∈ [0, 1] min P

i ui + P j pj

ui ≥ vi(S) − P

j∈S pj∀i, S

pj ≥ 0, ui ≥ 0 primal dual

  • Separation oracle for the dual:


is the demand oracle problem. ui ≥ max

S

vi(S) − p(S)

  • In general, Walrasian equilibrium exists iff LP is integral.
slide-67
SLIDE 67

Linear Programming

  • [Nisan-Segal] Formulate this problem as an LP:

max P

i vi(S)xiS

P

S xiS = 1, ∀i ∈ [m]

P

i

P

S3j xiS = 1, ∀j ∈ [n]

xiS ∈ [0, 1] min P

i ui + P j pj

ui ≥ vi(S) − P

j∈S pj∀i, S

pj ≥ 0, ui ≥ 0 primal dual

slide-68
SLIDE 68

Linear Programming

  • [Nisan-Segal] Formulate this problem as an LP:

max P

i vi(S)xiS

P

S xiS = 1, ∀i ∈ [m]

P

i

P

S3j xiS = 1, ∀j ∈ [n]

xiS ∈ [0, 1] min P

i ui + P j pj

ui ≥ vi(S) − P

j∈S pj∀i, S

pj ≥ 0, ui ≥ 0 primal dual

  • Walrasian equilibrium exists + demand oracle in poly-time

= Welfare problem in poly-time

  • [Roughgarden, Talgam-Cohen] Use complexity theory to

show non-existence of equilibrium, e.g. budget additive.

slide-69
SLIDE 69

Gradient Descent

  • We can Lagrangify the dual constraints and obtain the

following convex potential function: φ(p) = P

i maxS[vi(S) − p(S)] + P j pj

  • Theorem: the set of Walrasian prices (when they exist)

are the set of minimizers of . φ ∂jφ(p) = 1 − P

i 1[j ∈ Si]; Si ∈ D(vi; p)

  • Gradient descent: increase price of over-demanded items

and decrease price of over-demanded items.

  • Tatonnement: pj ← pj − ✏ · sgn @j(p)
slide-70
SLIDE 70

Comparing Methods

method

  • racle

running-time

slide-71
SLIDE 71

How to access the input

slide-72
SLIDE 72

How to access the input

Value oracle: given i and S:
 query . vi(S)

slide-73
SLIDE 73

How to access the input

Value oracle: given i and S:
 query . vi(S) Demand oracle: given i and p:
 query .

S ∈ D(vi, p)

slide-74
SLIDE 74

How to access the input

Value oracle: given i and S:
 query . vi(S) Demand oracle: given i and p:
 query .

S ∈ D(vi, p)

Aggregate Demand: given p, query.

P

i Si; Si ∈ D(vi, p)

slide-75
SLIDE 75

Comparing Methods

method

  • racle

running-time

tatonnement/GD

aggreg demand pseudo-poly

slide-76
SLIDE 76

Comparing Methods

method

  • racle

running-time

tatonnement/GD

aggreg demand pseudo-poly linear program demand/value weakly-poly

slide-77
SLIDE 77

Comparing Methods

  • [PL-Wong]: We can compute an exact equilibrium


with calls to an aggregate demand oracle. ˜ O(n) method

  • racle

running-time

tatonnement/GD

aggreg demand pseudo-poly linear program demand/value weakly-poly cutting plane aggreg demand weakly-poly

slide-78
SLIDE 78

Comparing Methods

method

  • racle

running-time

tatonnement/GD

aggreg demand pseudo-poly linear program demand/value weakly-poly cutting plane aggreg demand weakly-poly

slide-79
SLIDE 79

Comparing Methods

method

  • racle

running-time

tatonnement/GD

aggreg demand pseudo-poly linear program demand/value weakly-poly cutting plane aggreg demand weakly-poly combinatorial value strongly-poly

slide-80
SLIDE 80

Comparing Methods

method

  • racle

running-time

tatonnement/GD

aggreg demand pseudo-poly linear program demand/value weakly-poly cutting plane aggreg demand weakly-poly combinatorial value strongly-poly

  • [Murota]: We can compute an exact equilibrium


for gross susbtitutes in time. ˜ O((mn + n3)TV )

slide-81
SLIDE 81

Algorithmic Problems

  • Welfare problem: given m agents with 


find a partition of maximizing

  • Verification problem: given a partition


find whether it is optimal.


  • Walrasian prices: given the optimal partition 


find a price such that v1, . . . , vm : 2[n] → R S1, . . . , Sm [n] P

i vi(Si)

(S∗

1, . . . , S∗ m)

S∗

i ∈ argmaxS vi(S) − p(S)

S1, . . . , Sm

slide-82
SLIDE 82

Computing Walrasian prices

  • Given a partition we want to find prices

such that S1, . . . , Sm Si ∈ argmaxS vi(S) − p(S)

  • For GS, we only need to check that no buyer want to

add, remove or swap items.

slide-83
SLIDE 83

Computing Walrasian prices

  • Given a partition we want to find prices

such that S1, . . . , Sm Si ∈ argmaxS vi(S) − p(S)

  • For GS, we only need to check that no buyer want to

add, remove or swap items.

slide-84
SLIDE 84

Computing Walrasian prices

  • Given a partition we want to find prices

such that S1, . . . , Sm Si ∈ argmaxS vi(S) − p(S)

  • For GS, we only need to check that no buyer want to

add, remove or swap items. wjk = vi(Si) − vi(Si ∪ k \ j)

slide-85
SLIDE 85

Computing Walrasian prices

  • Given a partition we want to find prices

such that S1, . . . , Sm Si ∈ argmaxS vi(S) − p(S)

  • For GS, we only need to check that no buyer want to

add, remove or swap items. wφik = vi(Si) − vi(Si ∪ k)

slide-86
SLIDE 86

Computing Walrasian prices

  • Given a partition we want to find prices

such that S1, . . . , Sm Si ∈ argmaxS vi(S) − p(S)

  • For GS, we only need to check that no buyer want to

add, remove or swap items. wjφi0 = vi(Si) − vi(Si \ j)

slide-87
SLIDE 87

Computing Walrasian prices

  • Given a partition we want to find prices

such that S1, . . . , Sm Si ∈ argmaxS vi(S) − p(S)

  • For GS, we only need to check that no buyer want to

add, remove or swap items. wφiφi0 = 0

slide-88
SLIDE 88

Computing Walrasian prices

  • Given a partition we want to find prices

such that S1, . . . , Sm Si ∈ argmaxS vi(S) − p(S)

  • For GS, we only need to check that no buyer want to

add, remove or swap items.

slide-89
SLIDE 89

Computing Walrasian prices

  • Given a partition we want to find prices

such that S1, . . . , Sm Si ∈ argmaxS vi(S) − p(S)

  • For GS, we only need to check that no buyer want to

add, remove or swap items.

slide-90
SLIDE 90

Computing Walrasian prices

  • Given a partition we want to find prices

such that S1, . . . , Sm Si ∈ argmaxS vi(S) − p(S)

  • For GS, we only need to check that no buyer want to

add, remove or swap items.

slide-91
SLIDE 91

Computing Walrasian prices

  • Theorem: the allocation is optimal if the exchange

graph has no negative cycle.

  • Proof: if no negative cycles the distance is well defined.

So let then: 
 
 
 
 And since is locally-opt then it is globally opt.
 Conversely: Walrasian prices are a dual certificate showing that no negative cycles exist. pj = − dist(φ, j) vi(Si) ≥ vi(Si ∪ k \ j) − pk + pj dist(φ, k) ≤ dist(φ, j) + wjk Si

slide-92
SLIDE 92

Computing Walrasian prices

  • Theorem: the allocation is optimal if the exchange

graph has no negative cycle.

  • Proof: if no negative cycles the distance is well defined.

So let then: 
 
 
 
 And since is locally-opt then it is globally opt.
 Conversely: Walrasian prices are a dual certificate showing that no negative cycles exist. pj = − dist(φ, j) vi(Si) ≥ vi(Si ∪ k \ j) − pk + pj dist(φ, k) ≤ dist(φ, j) + wjk Si

  • Nice consequence: Walrasian prices form a lattice.
slide-93
SLIDE 93

Algorithmic Problems

  • Welfare problem: given m agents with 


find a partition of maximizing

  • Verification problem: given a partition


find whether it is optimal.


  • Walrasian prices: given the optimal partition 


find a price such that v1, . . . , vm : 2[n] → R S1, . . . , Sm [n] P

i vi(Si)

(S∗

1, . . . , S∗ m)

S∗

i ∈ argmaxS vi(S) − p(S)

S1, . . . , Sm

slide-94
SLIDE 94

Algorithmic Problems

  • Welfare problem: given m agents with 


find a partition of maximizing

  • Verification problem: given a partition


find whether it is optimal.


  • Walrasian prices: given the optimal partition 


find a price such that v1, . . . , vm : 2[n] → R S1, . . . , Sm [n] P

i vi(Si)

(S∗

1, . . . , S∗ m)

S∗

i ∈ argmaxS vi(S) − p(S)

S1, . . . , Sm

slide-95
SLIDE 95

Algorithmic Problems

  • Welfare problem: given m agents with 


find a partition of maximizing

  • Verification problem: given a partition


find whether it is optimal.


  • Walrasian prices: given the optimal partition 


find a price such that v1, . . . , vm : 2[n] → R S1, . . . , Sm [n] P

i vi(Si)

(S∗

1, . . . , S∗ m)

S∗

i ∈ argmaxS vi(S) − p(S)

S1, . . . , Sm

slide-96
SLIDE 96

Incremental Algorithm

  • For each we will solve problem to find the
  • ptimal allocation of items to buyers.
  • Problem is easy.
  • Assume now we solved getting allocation 


and a certificate = maximal Walrasian prices.

m W1 p

S1, . . . , Sm

wφik = vi(Si) − vi(Si ∪ k)+pk

wjφi0 = vi(Si) − vi(Si \ j)−pj

wjk = vi(Si) − vi(Si ∪ k \ j)+pk − pj

t = 1..n

Wt

[t] = {1..t}

Wt

slide-97
SLIDE 97

Incremental Algorithm

  • For each we will solve problem to find the
  • ptimal allocation of items to buyers.
  • Problem is easy.
  • Assume now we solved getting allocation 


and a certificate = maximal Walrasian prices.

m W1 p

S1, . . . , Sm t = 1..n

Wt

[t] = {1..t}

Wt

slide-98
SLIDE 98

Incremental Algorithm

  • For each we will solve problem to find the
  • ptimal allocation of items to buyers.
  • Problem is easy.
  • Assume now we solved getting allocation 


and a certificate = maximal Walrasian prices.

m W1 p

S1, . . . , Sm t = 1..n

Wt

[t] = {1..t}

Wt

slide-99
SLIDE 99

Incremental Algorithm

  • Algorithm: compute shortest path from to
  • Update allocation by implementing path swaps

φ t + 1

slide-100
SLIDE 100

Incremental Algorithm

  • Algorithm: compute shortest path from to
  • Update allocation by implementing path swaps

φ t + 1

slide-101
SLIDE 101

Incremental Algorithm

  • Algorithm: compute shortest path from to
  • Update allocation by implementing path swaps

φ t + 1

slide-102
SLIDE 102

Incremental Algorithm

  • Algorithm: compute shortest path from to
  • Update allocation by implementing path swaps

φ t + 1

  • Graph has non-negative edges
  • After n iterations of Dijkstra we get

O(t2 + mt) ˜ O(n3 + n2m)

slide-103
SLIDE 103

Incremental Algorithm

  • Proof that new allocation is optimal
  • Define the new prices
  • (1) New prices are also a certificate for
  • (2)
  • Hence, and are Walrasian prices.

˜ pj = − dist(φ, j) ˜ S1 . . . ˜ Sm S1 . . . Sm vi(Si) − ˜ p(Si) = vi( ˜ Si) − ˜ p( ˜ Si) ˜ S1 . . . ˜ Sm ˜ p

slide-104
SLIDE 104

Closure properties

  • If we might not have

v1, v2 ∈ GS v1 + v2 ∈ GS

slide-105
SLIDE 105

Closure properties

  • If we might not have

v1, v2 ∈ GS v1 + v2 ∈ GS

  • Some preserving operations:
  • affine transformation
  • endowment
  • convolution
  • strong-quotient-sum
  • tree-concordant-sum

˜ v(S) = v(S) + p0 − P

i∈S pi

v1 ∗ v2(S) = maxT ⊆S v1(T) + v2(S \ T) ˜ v(S) = v(S|X)

slide-106
SLIDE 106

Closure properties

  • If we might not have

v1, v2 ∈ GS v1 + v2 ∈ GS

  • Some preserving operations:
  • affine transformation
  • endowment
  • convolution
  • strong-quotient-sum
  • tree-concordant-sum

˜ v(S) = v(S) + p0 − P

i∈S pi

v1 ∗ v2(S) = maxT ⊆S v1(T) + v2(S \ T) ˜ v(S) = v(S|X)

  • Open question: can we construct all gross substitutes

from matroid rank functions and those operations ?

  • Some progress: See talk by Eric Balkanski on Thu
slide-107
SLIDE 107

End of Part I