Algorithms for the Linear Case, Algorithmic Game Theory and Beyond … and Internet Computing Vijay V. Vazirani Georgia Tech Irving Fisher, 1891 Defined a fundamental market model Special case of Walras’ model Several buyers with different utility functions and moneys. Find equilibrium prices!! p1 p2 p3 Linear Fisher Market Assume: Buyer i’s total utility, vi uij xij jG mi : money of buyer i. One unit of each good j. Find market clearing prices! Eisenberg-Gale Program, 1959 max mi log vi i s.t. i : vi j u ij x ij x 1 ij : x 0 j : ij i ij Eisenberg-Gale Program, 1959 max mi log vi i s.t. i : vi j u ij x ij x 1 ij : x 0 j : ij i ij prices pj Convex programs that capture market equilibria Underly all “efficient” markets (so far). Rational convex programs for many markets! Algorithms: combinatorial, for rational (primal-dual) continuous (ellipsoid/interior point) Combinatorial algorithms for rational convex programs Natural extension of field of combinatorial optimization! Combinatorial algorithms for rational convex programs Natural extension of field of combinatorial optimization! Central aspect of C.O. – efficient algorithms for solving integral LP’s, e.g. matching, flow. Combinatorial Algorithm for Linear Case of Fisher’s Model Devanur, Papadimitriou, Saberi & V., 2002 By extending the primal-dual paradigm to the setting of convex programs & KKT conditions Combinatorial algorithms Yield deep structural insights. Preferable for applications. Auction for Google’s TV ads N. Nisan et. al, 2009: Used market equilibrium based approach. Combinatorial algorithms for linear case provided “inspiration”. Primal-Dual Paradigm 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 Steiner tree Steiner network k-MST scheduling . . . facility location k-median multicut feedback vertex set Yin & Yang An easier question Given prices p, are they equilibrium prices? If so, find equilibrium allocations. An easier question Given prices p, are they equilibrium prices? If so, find equilibrium allocations. Equilibrium prices are unique! Bang-per-buck At prices p, buyer i’s most uij desirable goods, Si = arg max j pj Any goods from Si worth m(i) constitute i’s optimal bundle For each buyer, most desirable goods, i.e. uij Si arg max j pj m(1) p(1) m(2) p(2) m(3) p(3) m(4) p(4) Network N(p) p(1) m(1) t p(2) m(2) p(3) m(3) m(4) p(4) infinite capacities s Max flow in N(p) p(1) m(1) m(2) p(2) p(3) m(3) m(4) p(4) p: equilibrium prices iff both cuts saturated Idea of algorithm “primal” variables: allocations “dual” variables: prices of goods Approach equilibrium prices from below: start with very low prices; buyers have surplus money iteratively keep raising prices and decreasing surplus An important consideration The price of a good never exceeds its equilibrium price Invariant: s is a min-cut Invariant: s is a min-cut in N(p) p(1) m(1) p(2) m(2) p(3) m(3) m(4) p(4) p: low prices s Idea of algorithm Iterations: execute primal & dual improvements Allocations Prices How is primal-dual paradigm adapted to nonlinear setting? Fundamental difference between LP’s and convex programs Complementary slackness conditions: involve primal or dual variables, not both. KKT conditions: involve primal and dual variables simultaneously. KKT conditions 1.j : p j 0 2.j : p j 0 i xij 1 uij vi 3.i, j : p j m(i ) uij vi 4.i, j : xij 0 p j m(i ) KKT conditions 1.j : p j 0 2.j : p j 0 i xij 1 uij vi 3.i, j : p j m(i ) u x ij ij vi j 4.i, j : xij 0 p j m(i) m(i) uij Primal-dual algorithms so far (i.e., LP-based) Raise dual variables greedily. (Lot of effort spent on designing more sophisticated dual processes.) Primal-dual algorithms so far Raise dual variables greedily. (Lot of effort spent on designing more sophisticated dual processes.) Only exception: Edmonds, 1965: algorithm for max weight matching. Primal-dual algorithms so far Raise dual variables greedily. (Lot of effort spent on designing more sophisticated dual processes.) Only exception: Edmonds, 1965: algorithm for max weight matching. Otherwise primal objects go tight and loose. Difficult to account for these reversals -in the running time. Our algorithm Dual variables (prices) are raised greedily Yet, primal objects go tight and loose Because of enhanced KKT conditions Our algorithm Dual variables (prices) are raised greedily Yet, primal objects go tight and loose Because of enhanced KKT conditions New algorithmic ideas needed! Key Algorithmic Idea Dual variables (prices) are raised greedily Yet, primal objects go tight and loose Because of enhanced KKT conditions Balanced Flows: For limiting no. of such events Max-flow in N t p m i W.r.t. a max-flow f, surplus(i) = m(i) – f(i,t) s Max-flow in N p m i surplus vector = vector of surpluses w.r.t. f Obvious potential function Total surplus money = l1 norm of surplus vector Reduce l1 norm of surplus vector by inverse polynomial fraction in each iteration Balanced flow A max-flow that minimizes l2 norm of surplus vector. Makes surpluses as equal as possible. Balanced flow A max-flow that minimizes l2 norm of surplus vector. Makes surpluses as equal as possible. All balanced flows have same surplus vector. Our algorithm Reduces l2 norm of surplus vector by inverse polynomial fraction in each iteration. s2 (0, 1) (1, 0) s1 Property 1 f: max-flow in N. R: residual graph w.r.t. f. If surplus (i) < surplus(j) then there is no path from i to j in R. Property 1 R: i j surplus(i) < surplus(j) Property 1 R: i j surplus(i) < surplus(j) Property 1 R: i j Circulation gives a more balanced flow. Property 1 Theorem: A max-flow is balanced iff it satisfies Property 1. Algorithm for an iteration Construct N’(I, J) Raise prices in J New edge enters N Stop when Invariant is threatened Network N(p) p m bang-per-buck edges buyers goods Construct N’(I, J) Find a balanced flow in N(p) Let d = max surplus w.r.t. balanced flow I = buyers with surplus d J = goods desired by I Raise prices in J New edge enters N Stop when Invariant is threatened Network N(p) N - N’ I N’(I, J) J Network N(p) N - N’ I N’(I, J) J Construct N’(I, J) Raise prices in J N’ is decoupled from N - N’ New edge enters N Stop when Invariant is threatened Network N(p) N - N’ I N’(I, J) J Network N(p) N - N’ I N’(I, J) J Hence Invariant is not its removal. By Property 1, this edgeviolated did notby carry any flow. Raise prices in J proportionately, so that edges in N’ don’t change. p . x, for each p in J initialize x = 1 raise x Construct N’(I, J) Raise prices in J New edge enters N Stop when Invariant is threatened Network N(p) N - N’ I N’(I, J) J Construct N’(I, J) Raise prices in J New edge enters N Recompute balanced flow Buyers in N - N’ having residual paths to N’ Move to N’ Stop when Invariant is threatened Network N(p) N - N’ I N’(I, J) J Network N(p) N - N’ I N’(I, J) J Network N(p) N - N’ I N’(I, J) J Construct N’(I, J) Raise prices in J New edge enters N Recompute balanced flow Buyers moved to N’ will have sufficiently large surplus Stop when Invariant is threatened Algorithm for an iteration Construct N’(I, J) Raise prices in J New edge enters N Stop when Invariant is threatened Tight set: p(S) = m(T) N - N’ S T N’(I, J) Surplus of buyers in T drops to 0 Surplus of buyers in T drops to 0 l1 norm of surplus vector drops by 1/n fraction after the iteration. Assume k sub-iterations. Let d0 = d. At the end of lth sub-iteration, dl = min {surplus(i) | i is in I}. So, dk = 0. Network N(p) N - N’ I N’(I, J) J Some i in old I will achieve minimum. Its surplus must drop by at least (dl-1 – dl). Therefore, decrease in l1 norm in sub-iteration l is at least (dl-1 – dl) Therefore, decrease in iteration is at least d Network N(p) N - N’ I N’(I, J) J Assume k sub-iterations. Let d0 = d. At the end of lth sub-iteration, dl = min {surplus(i) | i is in I}. So, dk = 0. Decrease in l1 norm in sub-iteration l is at least (dl-1 – dl) Decrease in l22 norm in sub-iteration l is at least (dl-1 – dl)2 Our algorithm Reduces l2 norm of surplus vector by 1/n2 fraction in each iteration Open question Can define balanced flow without l2 norm Balanced flow = lexicographically smallest flow Q: Can we dispense with l2 norm in proof? Open question Can define balanced flow without l2 norm Balanced flow = lexicographically smallest flow Q: Can we dispense with l2 norm in proof? V, 2008: Family of examples s.t. l1 norm of surplus vector decreases by inverse exponential fraction in an iteration! s2 (0, 1) (1, 0) s1 KKT conditions were relaxed e(i): money currently spent by i w.r.t. a balanced flow in N i mi e(i) surplus money of i Relaxed KKT conditions 1.j : p j 0 2.j : p j 0 i xij 1 uij vi 3.i, j : e(i) p j m(i ) uij vi e(i) 4.i, j : xij 0 p j m(i ) Potential function ... 2 1 2 2 2 n Algorithm drops potential by an inverse polynomial factor in each iteration (strongly polynomial time). Potential function ... 2 1 2 2 2 n Algorithm drops potential by an inverse polynomial factor in each iteration (strongly polynomial time). poly m i i Second point of departure KKT conditions are satisfied via a continuous process Normally: in discrete steps Piecewise linear, concave utility Additively separable over goods amount of j Long-standing open problem Complexity of finding an equilibrium for Fisher and Arrow-Debreu models under separable, plc utilities? How do we build on solution to the linear case? Generalize EG program to piecewise-linear, concave utilities? utility/unit of j utility u ijk l ijk amount of j Generalization of EG program max mi log vi i s.t. i : j : ijk : ijk : vi j ,k u ijk x ijk x 1 x l x 0 i ,k ijk ijk ij ijk Generalization of EG program max mi log vi i s.t. i : j : ijk : ijk : vi j ,k u ijk x ijk x 1 x l x 0 i ,k ijk ijk ij ijk Build on combinatorial insights V. & Yannakakis, 2007: Equilibrium is rational for Fisher and Arrow-Debreu models under separable, plc utilities. Given prices p, are they equilibrium prices? Case 1 partially allocated utility fully allocated xij amount of j Case 2: no p.a. segment utility fully allocated xij amount of j p full & partial segments Network N(p) Theorem: p equilibrium prices iff max-flow in N(p) = unspent money. Network N(p) m '1 q1 m '2 q2 t s q3 m '3 q4 m '4 partially allocated segments LP for max-flow in N(p); variables = fe’s Next, let p be variables! “Guess” full & partial segments – gives N(p) Write max-flow LP -- it is still linear! variables = fe’s & pj’s Rationality proof If “guess” is correct, at optimality, pj’s are equilibrium prices. Hence rational! Rationality proof If “guess” is correct, at optimality, pj’s are equilibrium prices. Hence rational! In P?? NP-hardness does not apply Megiddo, 1988: Equilibrium NP-hard => NP = co-NP Papadimitriou, 1991: PPAD 2-player Nash equilibrium is PPAD-complete Rational Etessami & Yannakakis, 2007: FIXP 3-player Nash equilibrium is FIXP-complete Irrational Markets with piecewise-linear, concave utilities Chen, Dai, Du, Teng, 2009: PPAD-hardness for Arrow-Debreu model Markets with piecewise-linear, concave utilities Chen, Dai, Du, Teng, 2009: PPAD-hardness Chen & Teng, 2009: PPAD-hardness for Arrow-Debreu model for Fisher’s model V. & Yannakakis, 2009: PPAD-hardness for Fisher’s model Markets with piecewise-linear, concave utilities V, & Yannakakis, 2009: Membership in PPAD for both models, Algorithmic ratification of the “invisible hand of the market” How do we salvage the situation?? Is PPAD really hard?? What is the “right” model?? Open Can Fisher’s linear case be captured via an LP?