Algorithmic Game Theory and Internet Computing Vijay V. Vazirani Georgia Tech New Market Models and Algorithms
How do we salvage the situation?? Algorithmic ratification of the “invisible hand of the market”
What is the “right” model??
Linear Fisher Market DPSV, 2002: First polynomial time algorithm Extend to separable, plc utilities??
What makes linear utilities easy? Weak gross substitutability: Increasing price of one good cannot decrease demand of another. Piecewise-linear, concave utilities do not satisfy this.
utility Piecewise linear, concave amount of j
rate rate = utility/unit amount of j amount of j Differentiate
rate amount of j rate = utility/unit amount of j money spent on j
rate rate = utility/unit amount of j money spent on j Spending constraint utility function $20$40 $60
Theorem (V., 2002): Spending constraint utilities: 1). Satisfy weak gross substitutability 2). Polynomial time algorithm for computing equilibrium 3). Equilibrium is rational.
An unexpected fallout!! Has applications to Google’s AdWords Market!
rate rate = utility/click money spent on keyword j Application to Adwords market $20$40 $60
Is there a convex program for this model? “We believe the answer to this question should be ‘yes’. In our experience, non-trivial polynomial time algorithms for problems are rare and happen for a good reason – a deep mathematical structure intimately connected to the problem.”
Devanur’s program for linear Fisher
C. P. for spending constraint!
EG convex program = Devanur’s program Fisher market with plc utilities Spending constraint market
Price discrimination markets Business charges different prices from different customers for essentially same goods or services. Goel & V., 2009: Perfect price discrimination market. Business charges each consumer what they are willing and able to pay.
plc utilities
Middleman buys all goods and sells to buyers, charging according to utility accrued. Given p, each buyer picks rate for accruing utility.
Middleman buys all goods and sells to buyers, charging according to utility accrued. Given p, each buyer picks rate for accruing utility. Equilibrium is captured by a rational convex program!
Generalization of EG program works!
V., 2010: Generalize to Continuously differentiable, quasiconcave (non-separable) utilities, satisfying non-satiation.
V., 2010: Generalize to Continuously differentiable, quasiconcave (non-separable) utilities, satisfying non-satiation. Compare with Arrow-Debreu utilities!! continuous, quasiconcave, satisfying non-satiation.
EG convex program = Devanur’s program Price discrimination market (plc utilities) Spending constraint market
EG convex program = Devanur’s program Price disc. market Spending constraint market Nash Bargaining V., 2008 Eisenberg-Gale Markets Jain & V., 2007 (Proportional Fairness) (Kelly, 1997)
A combinatorial market
Given: Network G = (V,E) (directed or undirected) Capacities on edges c(e) Agents: source-sink pairs with money m(1), … m(k) Find: equilibrium flows and edge prices
Flows and edge prices f(i): flow of agent i p(e): price/unit flow of edge e Satisfying: p(e)>0 only if e is saturated flows go on cheapest paths money of each agent is fully spent Equilibrium
Kelly’s resource allocation model, 1997 Mathematical framework for understanding TCP congestion control
Van Jacobson, 1988: AIMD protocol (Additive Increase Multiplicative Decrease)
Van Jacobson, 1988: AIMD protocol (Additive Increase Multiplicative Decrease) Why does it work so well?
Van Jacobson, 1988: AIMD protocol (Additive Increase Multiplicative Decrease) Why does it work so well? Kelly, 1977: Highly successful theory
TCP Congestion Control f(i): source rate prob. of packet loss (in TCP Reno) queueing delay (in TCP Vegas) p(e):
TCP Congestion Control f(i): source rate prob. of packet loss (in TCP Reno) queueing delay (in TCP Vegas) Low & Lapsley, 1999: AIMD + RED converges to equilibrium in limit p(e) :
TCP Congestion Control f(i): source rate prob. of packet loss (in TCP Reno) queueing delay (in TCP Vegas) Kelly: Equilibrium flows are proportionally fair: only way of adding 5% flow to someone is to decrease total of 5% flow from rest. p(e):
Kelly & V., 2002: Kelly’s model is a generalization of Fisher’s model.
Kelly & V., 2002: Kelly’s model is a generalization of Fisher’s model. Find combinatorial poly time algorithms!
Kelly & V., 2002: Kelly’s model is a generalization of Fisher’s model. Find combinatorial poly time algorithms! (May lead to new insights for TCP congestion control protocol)
Jain & V., 2005: Strongly polynomial combinatorial algorithm for single-source multiple-sink market
Single-source multiple-sink market Given: Network G = (V,E), s: source Capacities on edges c(e) Agents: sinks with money Find: equilibrium flows and edge prices
Flows and edge prices f(i): flow of agent i p(e): price/unit flow of edge e Satisfying: p(e)>0 only if e is saturated flows go on cheapest paths money of each agent is fully spent Equilibrium
$5
$10 $40 $30
Jain & V., 2005: Strongly polynomial combinatorial algorithm for single-source multiple-sink market Ascending price auction Buyers: sinks (fixed budgets, maximize flow) Sellers: edges (maximize price)
Auction of k identical goods p = 0; while there are >k buyers: raise p; end; sell to remaining k buyers at price p;
Find equilibrium prices and flows
cap(e)
min-cut separating from all the sinks 6060
6060
6060
Throughout the algorithm: c(i): cost of cheapest path from to sink demands flow
6060
Auction of edges in cut p = 0; while the cut is over-saturated: raise p; end; assign price p to all edges in the cut;
nested cuts
Flow and prices will: Saturate all red cuts Use up sinks’ money Send flow on cheapest paths
Exercise: Find the red cuts efficiently!
Convex Program for Kelly’s Model
JV Algorithm primal-dual alg. for nonlinear convex program “primal” variables: flows “dual” variables: prices of edges algorithm: primal & dual improvements Allocations Prices
Rational!!
Other resource allocation markets k source-sink pairs (directed/undirected)
Other resource allocation markets k source-sink pairs (directed/undirected) Branchings rooted at sources (agents) Spanning trees Network coding
Branching market (for broadcasting)
Given: Network G = (V, E), directed edge capacities sources, money of each source Find: edge prices and a packing of branchings rooted at sources s.t. p(e) > 0 => e is saturated each branching is cheapest possible money of each source fully used.
Eisenberg-Gale-type program for branching market s.t. packing of branchings
Eisenberg-Gale-Type Convex Program s.t. packing constraints
Eisenberg-Gale Market A market whose equilibrium is captured as an optimal solution to an Eisenberg-Gale-type program
Other resource allocation markets k source-sink pairs (directed/undirected) Branchings rooted at sources (agents) Spanning trees Network coding
Irrational for 2 sources & 3 sinks $1
Irrational for 2 sources & 3 sinks Equilibrium prices
Max-flow min-cut theorem!
Theorem: Strongly polynomial algs for following markets : 2 source-sink pairs, undirected (Hu, 1963) spanning tree (Nash-William & Tutte, 1961) 2 sources branching (Edmonds, JV, 2005) 3 sources branching: irrational
Theorem: Strongly polynomial algs for following markets : 2 source-sink pairs, undirected (Hu, 1963) spanning tree (Nash-William & Tutte, 1961) 2 sources branching (Edmonds, JV, 2005) 3 sources branching: irrational Open: (no max-min theorems): 2 source-sink pairs, directed 2 sources, network coding
EG[2]: Eisenberg-Gale markets with 2 agents Theorem: EG[2] markets are rational. Chakrabarty, Devanur & V., 2006:
EG[2]: Eisenberg-Gale markets with 2 agents Theorem: EG[2] markets are rational. Combinatorial EG[2] markets: polytope of feasible utilities can be described via combinatorial LP. Theorem: Strongly poly alg for Comb EG[2]. Chakrabarty, Devanur & V., 2006:
2 source-sink market in directed graphs
2 1
Polytope of feasible flows
LP’s corresponding to facets
$30 $60
Polytope of feasible flows 2 (1, 2) (0, 1) 1 0
Find the two (one) facets Exponentially many facets! Binary search on
$10 $5
Find relative ‘‘prices’’ of two facets, say Compute duals
Find relative ‘‘prices’’ of two facets, say Compute duals Compute
$5, each
10/2 = $5, each $10, each
$30 $60 $5 $10 $15
$30 $60 $5 $10 $15
$30=$15x2 $60=$20x3 $5 $10 $15
EG Rational Comb EG[2] SUA EG[2] 3-source branching Fisher 2 s-s undir 2 s-s dir Single-source