Markets and Algorithmic Game Theory the Primal-Dual Paradigm and Internet Computing Vijay V. Vazirani Markets Stock Markets Internet Revolution in definition of markets Revolution in definition of markets New markets defined by Google Amazon Yahoo! Ebay Revolution in definition of markets Massive computational power available for running these markets in a centralized or distributed manner Revolution in definition of markets Massive computational power available for running these markets in a centralized or distributed manner Important to find good models and algorithms for these markets Theory of Algorithms Powerful tools and techniques developed over last 4 decades. Theory of Algorithms Powerful tools and techniques developed over last 4 decades. Recent study of markets has contributed handsomely to this theory as well! AdWords Market Created by search engine companies Google Yahoo! MSN Multi-billion dollar market – and still growing! Totally revolutionized advertising, especially by small companies. Historically, the study of markets has been of central importance, especially in the West Historically, the study of markets has been of central importance, especially in the West General Equilibrium Theory Occupied center stage in Mathematical Economics for over a century Leon Walras, 1874 Pioneered general equilibrium theory Arrow-Debreu Theorem, 1954 Celebrated theorem in Mathematical Economics Established existence of market equilibrium under very general conditions using a deep theorem from topology - Kakutani fixed point theorem. Kenneth Arrow Nobel Prize, 1972 Gerard Debreu Nobel Prize, 1983 General Equilibrium Theory Also gave us some algorithmic results Convex programs, whose optimal solutions capture equilibrium allocations, e.g., Eisenberg & Gale, 1959 Nenakov & Primak, 1983 Cottle and Eaves, 1960’s: Linear complimentarity Scarf, 1973: Algorithms for approximately computing fixed points General Equilibrium Theory An almost entirely non-algorithmic theory! What is needed today? An inherently algorithmic theory of market equilibrium New models that capture new markets and are easier to use than traditional models Beginnings of such a theory, within Algorithmic Game Theory Started with combinatorial algorithms for traditional market models New market models emerging A central tenet Prices are such that demand equals supply, i.e., equilibrium prices. A central tenet Prices are such that demand equals supply, i.e., equilibrium prices. Easy if only one good Supply-demand curves Irving Fisher, 1891 Defined a fundamental market model Utility function utility amount of milk Utility function utility amount of bread Utility function utility amount of cheese Total utility of a bundle of goods = Sum of utilities of individual goods For given prices, p1 p2 p3 For given prices, find optimal bundle of goods p1 p2 p3 Fisher market Several goods, fixed amount of each good Several buyers, with individual money and utilities Find equilibrium prices of goods, i.e., prices s.t., Each buyer gets an optimal bundle No deficiency or surplus of any good Combinatorial Algorithm for Linear Case of Fisher’s Model Devanur, Papadimitriou, Saberi & V., 2002 Using the primal-dual schema 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 Steiner tree Steiner network k-MST scheduling . . . facility location k-median multicut feedback vertex set No LP’s known for capturing equilibrium allocations for Fisher’s model No LP’s known for capturing equilibrium allocations for Fisher’s model Eisenberg-Gale convex program, 1959 No LP’s known for capturing equilibrium allocations for Fisher’s model Eisenberg-Gale convex program, 1959 DPSV: Extended primal-dual schema to solving a nonlinear convex program Fisher’s Model n buyers, money m(i) for buyer i k goods (unit amount of each good) U u x uij : utility derived by i on obtaining one unit of j Total utility of i, ui j uij xij i x ij [0,1] j ij ij Fisher’s Model n buyers, money m(i) for buyer i k goods (unit amount of each good) uij : utility derived by i on obtaining one unit of j Total utility of i, ui j uij xij x ij [0,1] Find market clearing prices Ui j uijxij 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, S = arg max j pj Any goods from S worth m(i) constitute i’s optimal bundle For each buyer, most desirable goods, i.e. arg max j m(1) p(1) m(2) p(2) m(3) p(3) m(4) p(4) uij pj Max flow p(1) m(1) p(2) m(2) p(3) m(3) m(4) p(4) infinite capacities Max flow 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 Idea of algorithm Iterations: execute primal & dual improvements Allocations Prices Two important considerations The price of a good never exceeds its equilibrium price Invariant: s is a min-cut Max flow p(1) m(1) p(2) m(2) p(3) m(3) m(4) p(4) p: low prices Two important considerations The price of a good never exceeds its equilibrium price Invariant: Identify s is a min-cut tight sets of goods S A : p( S ) m(( S )) Two important considerations The price of a good never exceeds its equilibrium price Invariant: s is a min-cut Identify tight sets of goods Rapid progress is made Balanced flows Network N buyers p m bang-per-buck edges goods Balanced flow in N p m i W.r.t. flow f, surplus(i) = m(i) – f(i,t) Balanced flow surplus vector: vector of surpluses w.r.t. f. Balanced flow surplus vector: vector of surpluses w.r.t. f. A flow that minimizes l2 norm of surplus vector. 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. Pieces fit just right! Balanced flows Tight sets Invariant Bang-per-buck edges How primal-dual schema is adapted to nonlinear setting A convex program whose optimal solution is equilibrium allocations. A convex program whose optimal solution is equilibrium allocations. Constraints: packing constraints on the xij’s A convex program whose optimal solution is equilibrium allocations. Constraints: packing constraints on the xij’s Objective fn: max utilities derived. A convex program whose optimal solution is equilibrium allocations. Constraints: packing constraints on the xij’s Objective fn: max utilities derived. Must satisfy If utilities of a buyer are scaled by a constant, optimal allocations remain unchanged If money of buyer b is split among two new buyers, whose utility fns same as b, then union of optimal allocations to new buyers = optimal allocation for b Money-weighed geometric mean of utilities m(i ) i ) m ( i ) 1/ i i ( u Eisenberg-Gale Program, 1959 max m(i ) log ui i s.t. i : ui j u ij x ij j : i x ij 1 ij : x ij 0 Eisenberg-Gale Program, 1959 max m(i ) log ui i s.t. i : ui j u ij x ij j : i x ij 1 ij : x ij 0 prices pj KKT conditions 1.j : p j 0 2.j : p j 0 i xij 1 uij ui 3.i, j : p j m(i ) uij ui 4.i, j : xij 0 p j m(i ) Therefore, buyer i buys from only, i.e., gets an optimal bundle arg max j uij pj arg max j Therefore, buyer i buys from only, i.e., gets an optimal bundle Can prove that equilibrium prices are unique! uij pj Will relax KKT conditions e(i): money currently spent by i w.r.t. a special allocation i m(i) e(i) surplus money of i Will relax KKT conditions e(i): money currently spent by i w.r.t. a balanced flow in N i m(i) e(i) surplus money of i KKT conditions 1.j : p j 0 2.j : p j 0 i xij 1 uij ui e(i) 3.i, j : p j m(i ) uij ui e(i) 4.i, j : xij 0 p j m(i ) Potential function ... 2 1 2 2 2 n Will show that potential drops by an inverse polynomial factor in each phase (polynomial time). Potential function ... 2 1 2 2 2 n Will show that potential drops by an inverse polynomial factor in each phase (polynomial time). poly(i m(i)) Point of departure KKT conditions are satisfied via a continuous process Normally: in discrete steps Point of departure KKT conditions are satisfied via a continuous process Normally: in discrete steps Open question: strongly polynomial algorithm? Another point of departure 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 ui 3.i, j : p j m(i ) uij ui 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 ui 3.i, j : p j m(i ) uij ui 4.i, j : xij 0 p j m(i ) u x ij ij j m(i ) Primal-dual algorithms so far 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 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 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 Deficiencies of linear utility functions Typically, a buyer spends all her money on a single good Do not model the fact that buyers get satiated with goods Concave utility function utility amount of j Concave utility functions Do not satisfy weak gross substitutability Concave utility functions Do not satisfy weak gross substitutability w.g.s. = Raising the price of one good cannot lead to a decrease in demand of another good. Concave utility functions Do not satisfy weak gross substitutability w.g.s. = Raising the price of one good cannot lead to a decrease in demand of another good. Open problem: find polynomial time algorithm! Piecewise linear, concave utility amount of j PTAS for concave function utility amount of j Piecewise linear concave utility Does not satisfy weak gross substitutability Piecewise linear, concave utility amount of j Differentiate rate = utility/unit amount of j rate amount of j rate = utility/unit amount of j rate amount of j money spent on j Spending constraint utility function rate = utility/unit amount of j rate $20 $40 $60 money spent on j Spending constraint utility function Happiness derived is not a function of allocation only but also of amount of money spent. Extend model: assume buyers have utility for money rate $20 $40 $100 Theorem: Polynomial time algorithm for computing equilibrium prices and allocations for Fisher’s model with spending constraint utilities. Furthermore, equilibrium prices are unique. Satisfies weak gross substitutability! Old pieces become more complex + there are new pieces But they still fit just right! Don Patinkin, 1956 Money, Interest, and Prices. An Integration of Monetary and Value Theory Pascal Bridel, 2002: Euro. J. History of Economic Thought, Patinkin, Walras and the ‘money-in-the-utilityfunction’ tradition An unexpected fallout!! An unexpected fallout!! A new kind of utility function Happiness derived is not a function of allocation only but also of amount of money spent. An unexpected fallout!! A new kind of utility function Happiness derived is not a function of allocation only but also of amount of money spent. Has applications in Google’s AdWords Market! A digression The view 5 years ago: Relevant Search Results Business world’s view now : (as Advertisement companies) So how does this work? Bids for different keywords Daily Budgets An interesting algorithmic question! Monika Henzinger, 2004: Find an on-line algorithm that maximizes Google’s revenue. AdWords Allocation Problem LawyersRus.com asbestos Search Engine Sue.com Search results Ads Whose ad to put TaxHelper.com How to maximize revenue? AdWords Problem Mehta, Saberi, Vazirani & Vazirani, 2005: 1-1/e algorithm, assuming budgets>>bids AdWords Problem Mehta, Saberi, Vazirani & Vazirani, 2005: 1-1/e algorithm, assuming budgets>>bids Optimal! AdWords Problem Mehta, Saberi, Vazirani & Vazirani, 2005: 1-1/e algorithm, assuming budgets>>bids Optimal! Spending constraint utilities AdWords Market AdWords market Assume that Google will determine equilibrium price/click for keywords AdWords market Assume that Google will determine equilibrium price/click for keywords How should advertisers specify their utility functions? Choice of utility function Expressive enough that advertisers get close to their ‘‘optimal’’ allocations Choice of utility function Expressive enough that advertisers get close to their ‘‘optimal’’ allocations Efficiently computable Choice of utility function Expressive enough that advertisers get close to their ‘‘optimal’’ allocations Efficiently computable Easy to specify utilities linear utility function: a business will typically get only one type of query throughout the day! linear utility function: a business will typically get only one type of query throughout the day! concave utility function: no efficient algorithm known! linear utility function: a business will typically get only one type of query throughout the day! concave utility function: no efficient algorithm known! Difficult for advertisers to define concave functions Easier for a buyer To say how much money she should spend on each good, for a range of prices, rather than how happy she is with a given bundle. Online shoe business Interested in two keywords: men’s clog women’s clog Advertising budget: $100/day Expected profit: men’s clog: women’s clog: $2/click $4/click Considerations for long-term profit Try to sell both goods - not just the most profitable good Must have a presence in the market, even if it entails a small loss If both are profitable, better keyword is at least twice as profitable ($100, $0) otherwise ($60, $40) If neither is profitable If only one is profitable, very profitable (at least $2/$) otherwise ($20, $0) ($100, $0) ($60, $0) men’s clog rate = utility/click rate 2 1 $60 $100 women’s clog rate = utility/click 4 rate 2 $60 $100 money rate = utility/$ rate 1 0 $80 $100 AdWords market Suppose Google stays with auctions but allows advertisers to specify bids in the spending constraint model AdWords market Suppose Google stays with auctions but allows advertisers to specify bids in the spending constraint model expressivity! AdWords market Suppose Google stays with auctions but allows advertisers to specify bids in the spending constraint model expressivity! Good online algorithm for maximizing Google’s revenues? Goel & Mehta, 2006: A small modification to the MSVV algorithm achieves 1 – 1/e competitive ratio! Open Is there a convex program that captures equilibrium allocations for spending constraint utilities? Spending constraint utilities satisfy Equilibrium exists (under mild conditions) Equilibrium utilities and prices are unique Rational With small denominators Linear utilities also satisfy Equilibrium exists (under mild conditions) Equilibrium utilities and prices are unique Rational With small denominators Proof follows from Eisenberg-Gale Convex Program, 1959 max m(i ) log ui i s.t. i : ui j u ij x ij j : i x ij 1 ij : x ij 0 For spending constraint utilities, proof follows from algorithm, and not a convex program! Open Is there an LP whose optimal solutions capture equilibrium allocations for Fisher’s linear case? Open Use spending constraint algorithm to solve piecewise linear, concave utilities Algorithms & Game Theory common origins von Neumann, 1928: minimax theorem for 2-person zero sum games von Neumann & Morgenstern, 1944: Games and Economic Behavior von Neumann, 1946: Report on EDVAC Dantzig, Gale, Kuhn, Scarf, Tucker … Piece-wise linear, concave f ij utility amount of j Differentiate g ij rate = utility/unit amount of j rate amount of j Start with arbitrary prices, adding up to total money of buyers. x hij ( x) gij ( ) pj x hij ( x) gij ( ) pj rate = utility/unit amount of j rate money spent on j Start with arbitrary prices, adding up to total money of buyers. x hij ( x) gij ( ) pj Run algorithm on these utilities to get new prices. Start with arbitrary prices, adding up to total money of buyers. x hij ( x) gij ( ) pj Run algorithm on these utilities to get new prices. Start with arbitrary prices, adding up to total money of buyers. x hij ( x) gij ( ) pj Run algorithm on these utilities to get new prices. Fixed points of this procedure are equilibrium prices for piecewise linear, concave utilities!