650 likes | 742 Views
Algorithmic Game Theory and Internet Computing. New Market Models Resource Allocation Markets. Vijay V. Vazirani. 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
E N D
Algorithmic Game Theoryand Internet Computing New Market Models Resource Allocation Markets Vijay V. Vazirani
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,
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
Via KKT Conditions can establish: • Optimal solution gives equilibrium allocations • Lagrange variables give prices of goods
Eisenberg-Gale program helps establish: • Equilibrium exists (under mild conditions) • Equilibrium utilities and prices are unique
Eisenberg-Gale program helps establish: • Equilibrium exists (under mild conditions) • Equilibrium utilities and prices are unique • Rational!!
Kelly’s resource allocation model, 1997 Mathematical framework for understanding TCP congestion control
Kelly’s model Given: network G = (V,E) (directed or undirected) capacities on edges source-sink pairs (agents) m(i): money/unit time agent i is willing to pay
Kelly’s model Network determines: f(i): flow rate of agent i Assume utility u(i) = m(i) log f(i) Total utility is additive
Kelly’s model Lagrange variables: p(e): price/unit flow
Kelly’s model Optimum flow and edge prices are in equilibrium: 1). p(e)>0 only if e is saturated 2) flows go on cheapest paths 3) money of each agent is fully used Let rate(i) = cost of cheapest path for i m(i) = f(i) rate(i)
Kelly’s model Optimum flow and edge prices are in equilibrium: 1). p(e)>0 only if e is saturated 2) flows go on cheapest paths 3) money of each agent is fully used Let rate(i) = cost of cheapest path for i f(i)’s andrate(i)’s are unique!
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) Kelly: Equilibrium flows are proportionally fair: only way of increasing an agent’s flow by 5% is to decrease other agents’ flow by at least 5% p(e):
TCP Congestion Control • f(i): source rate • prob. of packet loss (in TCP Reno) queueing delay (in TCP Vegas) • Low, Doyle, Paganini: continuous time algs. for computing equilibria (not poly time). p(e):
TCP Congestion Control • f(i): source rate • prob. of packet loss (in TCP Reno) queueing delay (in TCP Vegas) • Low, Doyle, Paganini: continuous time algs. for computing equilibria (not poly time). • AIMD + RED converges to equilibrium primal-dual (source-link) alg. p(e):
TCP Congestion Control • f(i): source rate • prob. of packet loss (in TCP Reno) queueing delay (in TCP Vegas) • Low, Doyle, Paganini: continuous time algs. for computing equilibria (not poly time). • FAST: for high speed networks with large bandwidth p(e):
Combinatorial Algorithms • Devanur, Papadimitriou, Saberi & V., 2002: for Fisher’s linear utilities case • Kelly & V., 2002: Kelly’s model is a generalization of Fisher’s model. Find comb. poly time algs!
Irrational for 2 sources & 3 sinks $1 $1 $1
Irrational for 2 sources & 3 sinks Equilibrium prices
1 source & multiple sinks • 2 source-sink pairs
$5 $5
$30 $10 $40
Jain & V., 2005: strongly poly alg • Primal-dual algorithm • Usual: linear programs & LP-duality • This: convex programs & KKT conditions • Ascending price auction • Buyers: sinks (fixed budgets, maximize flow) • Sellers: edges (maximize price)
Find s-t max flow • Flow and prices will: • Saturate all red cuts • Use up sinks’ money • Send flow on cheapest paths
$30 $10 $40
Other resource allocation markets • 2 source-sink pairs (directed/undirected) • Branchings rooted at sources (agents) • Spanning trees • Network coding