Algorithmic Game Theory and Internet Computing Vijay V. Vazirani Markets and the Primal-Dual Paradigm
The new face of computing
A paradigm shift in the notion of a market!
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
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
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 Scarf, 1973: Algorithms for approximately computing fixed points
New markets defined by Internet companies, e.g., Google Yahoo! Amazon eBay Massive computing power available for running markets in a distributed or centralized manner A deep theory of algorithms with many powerful techniques Todays reality
What is needed today? An inherently-algorithmic theory of markets and market equilibria
What is needed today? An inherently-algorithmic theory of markets and market equilibria Beginnings of such a theory, within Algorithmic Game Theory
What is needed today? An inherently-algorithmic theory of markets and market equilibria Beginnings of such a theory, within Algorithmic Game Theory Natural starting point: algorithms for traditional market models
What is needed today? An inherently-algorithmic theory of markets and market equilibria Beginnings of such a theory, within Algorithmic Game Theory Natural starting point: algorithms for traditional market models New market models emerging!
Theory of algorithms Interestingly enough, recent study of markets has contributed handsomely to this theory!
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 Utility function amount of milk
utility Utility function amount of bread
utility Utility function amount of cheese
Total utility of a bundle of goods = Sum of utilities of individual goods
For given prices,
For given prices, find optimal bundle of goods
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 Fishers 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 facility location Steiner tree k-median Steiner network multicut k-MST feedback vertex set scheduling...
No LPs known for capturing equilibrium allocations for Fishers model
No LPs known for capturing equilibrium allocations for Fishers model Eisenberg-Gale convex program, 1959
No LPs known for capturing equilibrium allocations for Fishers model Eisenberg-Gale convex program, 1959 DPSV: Extended primal-dual schema to solving a nonlinear convex program
Fishers Model n buyers, money m(i) for buyer i k goods (unit amount of each good) : utility derived by i on obtaining one unit of j Total utility of i,
Fishers Model n buyers, money m(i) for buyer i k goods (unit amount of each good) : utility derived by i on obtaining one unit of j Total utility of i, Find market clearing prices
At prices p, buyer is most desirable goods, S = Any goods from S worth m(i) constitute is optimal bundle Bang-per-buck
A convex program whose optimal solution is equilibrium allocations.
A convex program whose optimal solution is equilibrium allocations. Constraints: packing constraints on the xijs
A convex program whose optimal solution is equilibrium allocations. x Constraints: packing constraints on the xijs Objective fn: max utilities derived.
A convex program whose optimal solution is equilibrium allocations. x Constraints: packing constraints on the xijs 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
Eisenberg-Gale Program, 1959
KKT conditions
Therefore, buyer i buys from only, i.e., gets an optimal bundle
Therefore, buyer i buys from only, i.e., gets an optimal bundle Can prove that equilibrium prices are unique!
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
Will relax KKT conditions e(i): money currently spent by i w.r.t. a special allocation surplus money of i
KKT conditions e(i)
Potential function Will show that potential drops by an inverse polynomial factor in each phase (polynomial time).
Potential function Will show that potential drops by an inverse polynomial factor in each phase (polynomial time).
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??
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!
m(1) m(2) m(3) m(4) p(1) p(2) p(3) p(4) For each buyer, most desirable goods, i.e.
Max flow m(1) m(2) m(3) m(4) p(1) p(2) p(3) p(4) infinite capacities
Max flow m(1) m(2) m(3) m(4) p(1) p(2) p(3) p(4) p: equilibrium prices iff both cuts saturated
Two important considerations The price of a good never exceeds its equilibrium price Invariant: s is a min-cut
Max flow m(1) m(2) m(3) m(4) p(1) p(2) p(3) p(4) p: low prices
Two important considerations The price of a good never exceeds its equilibrium price Invariant: s is a min-cut Identify tight sets of goods
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 m p buyers goods bang-per-buck edges
Balanced flow in N m p W.r.t. flow f, surplus(i) = m(i) – f(i,t) i
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 l 2 norm of surplus vector.
Balanced flow surplus vector: vector of surpluses w.r.t. f. A flow that minimizes l 2 norm of surplus vector. Must be a max-flow.
Balanced flow surplus vector: vector of surpluses w.r.t. f. A flow that minimizes l 2 norm of surplus vector. Must be a max-flow. All balanced flows have same surplus vector.
Balanced flow surplus vector: vector of surpluses w.r.t. f. A flow that minimizes l 2 norm of surplus vector. Makes surpluses as equal as possible.
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 i surplus(i) < surplus(j) j R:
Property 1 i surplus(i) < surplus(j) j R:
Property 1 i Circulation gives a more balanced flow. j R:
Property 1 Theorem: A max-flow is balanced iff it satisfies Property 1.
Will relax KKT conditions e(i): money currently spent by i w.r.t. a special allocation surplus money of i
Will relax KKT conditions e(i): money currently spent by i w.r.t. a balanced flow in N surplus money of i
Pieces fit just right! Balanced flows Invariant Bang-per-buck edges Tight sets
Another point of departure Complementary slackness conditions: involve primal or dual variables, not both. KKT conditions: involve primal and dual variables simultaneously.
KKT conditions
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
utility Concave utility function 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!
utility Piecewise linear, concave amount of j
utility PTAS for concave function amount of j
Piecewise linear concave utility Does not satisfy weak gross substitutability
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
Spending constraint utility function Happiness derived is not a function of allocation only but also of amount of money spent.
$20$40$100 Extend model: assume buyers have utility for money rate
Theorem: Polynomial time algorithm for computing equilibrium prices and allocations for Fishers 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, Considered utility functions that are a function of allocations and prices.
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 Googles AdWords Market!
A digression
AdWords Market Created by search engine companies Google Yahoo! MSN Multi-billion dollar market – and still growing! Totally revolutionized advertising, especially by small companies.
The view 5 years ago: Relevant Search Results
Business worlds view now : (as Advertisement companies)
Bids for different keywords Daily Budgets So how does this work?
AdWords Allocation Problem Search EngineSearch Engine Whose ad to put How to maximize revenue? LawyersRus.com Sue.com TaxHelper.com asbestos Search results Ads
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 what are good allocations, for a range of prices, rather than how happy she is with a given bundle.
Online shoe business Interested in two keywords: mens clog womens clog Advertising budget: $100/day Expected profit: mens clog: $2/click womens clog: $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 ($20, $0) If only one is profitable, very profitable (at least $2/$) ($100, $0) otherwise ($60, $0)
$60$100 mens clog rate 2 1 rate = utility/click
$60$100 womens clog rate 2 4 rate = utility/click
$80$100 money rate 0 1 rate = utility/$
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 Googles 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?
Equilibrium exists (under mild conditions) Equilibrium utilities and prices are unique Rational With small denominators Spending constraint utilities satisfy
Equilibrium exists (under mild conditions) Equilibrium utilities and prices are unique Rational With small denominators Linear utilities also satisfy
Proof follows from Eisenberg-Gale Convex Program, 1959
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 Fishers linear case?
Use spending constraint algorithm to solve piecewise linear, concave utilities Open
utility Piece-wise linear, concave amount of j
rate rate = utility/unit amount of j amount of j Differentiate
Start with arbitrary prices, adding up to total money of buyers.
rate money spent on j rate = utility/unit amount of j
Start with arbitrary prices, adding up to total money of buyers. Run algorithm on these utilities to get new prices.
Start with arbitrary prices, adding up to total money of buyers. Run algorithm on these utilities to get new prices.
Start with arbitrary prices, adding up to total money of buyers. Run algorithm on these utilities to get new prices. Fixed points of this procedure are equilibrium prices for 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 …