Markets and Algorithmic Game Theory the PrimalDual Paradigm

  • Slides: 158
Download presentation
Markets and Algorithmic Game Theory the Primal-Dual Paradigm and Internet Computing Vijay V. Vazirani

Markets and Algorithmic Game Theory the Primal-Dual Paradigm and Internet Computing Vijay V. Vazirani

The new face of computing

The new face of computing

A paradigm shift in the notion of a “market”!

A paradigm shift in the notion of a “market”!

Historically, the study of markets n has been of central importance, especially in the

Historically, the study of markets n has been of central importance, especially in the West

Historically, the study of markets n has been of central importance, especially in the

Historically, the study of markets n 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 n Also gave us some algorithmic results ¨ Convex programs, whose

General Equilibrium Theory n 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 n Also gave us some algorithmic results ¨ Convex programs, whose

General Equilibrium Theory n 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

Today’s reality n New markets defined by Internet companies, e. g. , ¨ Google

Today’s reality n New markets defined by Internet companies, e. g. , ¨ Google ¨ Yahoo! ¨ Amazon ¨ e. Bay n Massive computing power available for running markets in a distributed or centralized manner n A deep theory of algorithms with many powerful techniques

What is needed today? n An inherently-algorithmic theory of markets and market equilibria

What is needed today? n An inherently-algorithmic theory of markets and market equilibria

What is needed today? n An inherently-algorithmic theory of markets and market equilibria n

What is needed today? n An inherently-algorithmic theory of markets and market equilibria n Beginnings of such a theory, within Algorithmic Game Theory

What is needed today? n An inherently-algorithmic theory of markets and market equilibria n

What is needed today? n An inherently-algorithmic theory of markets and market equilibria n Beginnings of such a theory, within Algorithmic Game Theory n Natural starting point: algorithms for traditional market models

What is needed today? n An inherently-algorithmic theory of markets and market equilibria n

What is needed today? n An inherently-algorithmic theory of markets and market equilibria n Beginnings of such a theory, within Algorithmic Game Theory n Natural starting point: algorithms for traditional market models n New market models emerging!

Theory of algorithms n Interestingly enough, recent study of markets has contributed handsomely to

Theory of algorithms n Interestingly enough, recent study of markets has contributed handsomely to this theory!

A central tenet n Prices are such that demand equals supply, i. e. ,

A central tenet n Prices are such that demand equals supply, i. e. , equilibrium prices.

A central tenet n Prices are such that demand equals supply, i. e. ,

A central tenet n Prices are such that demand equals supply, i. e. , equilibrium prices. n Easy if only one good

Supply-demand curves

Supply-demand curves

Irving Fisher, 1891 n Defined a fundamental market model

Irving Fisher, 1891 n Defined a fundamental market model

Utility function utility amount of milk

Utility function utility amount of milk

Utility function utility amount of bread

Utility function utility amount of bread

Utility function utility amount of cheese

Utility function utility amount of cheese

Total utility of a bundle of goods = Sum of utilities of individual goods

Total utility of a bundle of goods = Sum of utilities of individual goods

For given prices,

For given prices,

For given prices, find optimal bundle of goods

For given prices, find optimal bundle of goods

Fisher market n Several goods, fixed amount of each good n Several buyers, with

Fisher market n Several goods, fixed amount of each good n Several buyers, with individual money and utilities n 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 n Devanur, Papadimitriou, Saberi & V.

Combinatorial Algorithm for Linear Case of Fisher’s Model n Devanur, Papadimitriou, Saberi & V. , 2002 Using the primal-dual schema

Primal-Dual Schema n Highly successful algorithm design technique from exact and approximation algorithms

Primal-Dual Schema n Highly successful algorithm design technique from exact and approximation algorithms

Exact Algorithms for Cornerstone Problems in P: n n n Matching (general graph) Network

Exact Algorithms for Cornerstone Problems in P: n n n 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

Approximation Algorithms set cover Steiner tree Steiner network k-MST scheduling. . . facility location k-median multicut feedback vertex set

n No LP’s known for capturing equilibrium allocations for Fisher’s model

n No LP’s known for capturing equilibrium allocations for Fisher’s model

n No LP’s known for capturing equilibrium allocations for Fisher’s model n Eisenberg-Gale convex

n No LP’s known for capturing equilibrium allocations for Fisher’s model n Eisenberg-Gale convex program, 1959

n No LP’s known for capturing equilibrium allocations for Fisher’s model n Eisenberg-Gale convex

n No LP’s known for capturing equilibrium allocations for Fisher’s model n Eisenberg-Gale convex program, 1959 n DPSV: Extended primal-dual schema to solving a nonlinear convex program

Fisher’s Model n n n buyers, money m(i) for buyer i k goods (unit

Fisher’s Model n n 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,

n Fisher’s Model n buyers, money m(i) for buyer i k goods (unit amount

n Fisher’s 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, n Find market clearing prices n n n

Bang-per-buck n At prices p, buyer i’s most desirable goods, S= n Any goods

Bang-per-buck n At prices p, buyer i’s most desirable goods, S= n Any goods from S worth m(i) constitute i’s optimal bundle

A convex program n whose optimal solution is equilibrium allocations.

A convex program n whose optimal solution is equilibrium allocations.

A convex program n whose optimal solution is equilibrium allocations. n Constraints: packing constraints

A convex program n whose optimal solution is equilibrium allocations. n Constraints: packing constraints on the xij’s

A convex program n whose optimal solution is equilibrium allocations. n Constraints: packing constraints

A convex program n whose optimal solution is equilibrium allocations. n Constraints: packing constraints on the xij’s n Objective fn: max utilities derived.

A convex program n whose optimal solution is equilibrium allocations. n Constraints: packing constraints

A convex program n whose optimal solution is equilibrium allocations. n Constraints: packing constraints on the xij’s n 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

Money-weighed geometric mean of utilities

Eisenberg-Gale Program, 1959

Eisenberg-Gale Program, 1959

KKT conditions

KKT conditions

n Therefore, buyer i buys from only, i. e. , gets an optimal bundle

n Therefore, buyer i buys from only, i. e. , gets an optimal bundle

n Therefore, buyer i buys from only, i. e. , gets an optimal bundle

n Therefore, buyer i buys from only, i. e. , gets an optimal bundle n Can prove that equilibrium prices are unique!

Idea of algorithm n “primal” variables: allocations n “dual” variables: prices of goods n

Idea of algorithm n “primal” variables: allocations n “dual” variables: prices of goods n Approach equilibrium prices from below: ¨ start with very low prices; buyers have surplus money ¨ iteratively keep raising prices and decreasing surplus

Idea of algorithm n Iterations: execute primal & dual improvements Allocations Prices

Idea of algorithm n Iterations: execute primal & dual improvements Allocations Prices

Will relax KKT conditions n n e(i): money currently spent by i w. r.

Will relax KKT conditions n n e(i): money currently spent by i w. r. t. a special allocation surplus money of i

KKT conditions e(i)

KKT conditions e(i)

Potential function Will show that potential drops by an inverse polynomial factor in each

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

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 n Normally: in

Point of departure KKT conditions are satisfied via a continuous process n Normally: in discrete steps n

Point of departure KKT conditions are satisfied via a continuous process n Normally: in

Point of departure KKT conditions are satisfied via a continuous process n Normally: in discrete steps n n Open question: strongly polynomial algorithm? ?

An easier question n Given prices p, are they equilibrium prices? n If so,

An easier question n Given prices p, are they equilibrium prices? n If so, find equilibrium allocations.

An easier question n Given prices p, are they equilibrium prices? n If so,

An easier question n Given prices p, are they equilibrium prices? n If so, find equilibrium allocations. n Equilibrium prices are unique!

For each buyer, most desirable goods, i. e. m(1) p(1) m(2) p(2) m(3) p(3)

For each buyer, most desirable goods, i. e. m(1) p(1) m(2) p(2) m(3) p(3) m(4) p(4)

Max flow p(1) m(1) p(2) m(2) p(3) m(4) p(4) infinite capacities

Max flow p(1) m(1) p(2) m(2) p(3) m(4) 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

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 n The price of a good never exceeds its equilibrium price

Two important considerations n 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(4) p: low prices

Max flow p(1) m(1) p(2) m(2) p(3) m(4) p: low prices

Two important considerations n The price of a good never exceeds its equilibrium price

Two important considerations n The price of a good never exceeds its equilibrium price ¨ Invariant: ¨ Identify s is a min-cut tight sets of goods

Two important considerations n The price of a good never exceeds its equilibrium price

Two important considerations n The price of a good never exceeds its equilibrium price ¨ Invariant: s is a min-cut ¨ Identify tight sets of goods n Rapid progress is made ¨ Balanced flows

Network N buyers p m bang-per-buck edges goods

Network N buyers p m bang-per-buck edges goods

Balanced flow in N p m i W. r. t. flow f, surplus(i) =

Balanced flow in N p m i W. r. t. flow f, surplus(i) = m(i) – f(i, t)

Balanced flow n surplus vector: vector of surpluses w. r. t. f.

Balanced flow n surplus vector: vector of surpluses w. r. t. f.

Balanced flow n surplus vector: vector of surpluses w. r. t. f. n A

Balanced flow n surplus vector: vector of surpluses w. r. t. f. n A flow that minimizes l 2 norm of surplus vector.

Balanced flow n surplus vector: vector of surpluses w. r. t. f. n A

Balanced flow n surplus vector: vector of surpluses w. r. t. f. n A flow that minimizes l 2 norm of surplus vector. n Must be a max-flow.

Balanced flow n surplus vector: vector of surpluses w. r. t. f. n A

Balanced flow n surplus vector: vector of surpluses w. r. t. f. n A flow that minimizes l 2 norm of surplus vector. n Must be a max-flow. n All balanced flows have same surplus vector.

Balanced flow n surplus vector: vector of surpluses w. r. t. f. n A

Balanced flow n surplus vector: vector of surpluses w. r. t. f. n A flow that minimizes l 2 norm of surplus vector. n Makes surpluses as equal as possible.

Property 1 n f: max flow in N. n R: residual graph w. r.

Property 1 n f: max flow in N. n R: residual graph w. r. t. f. n 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 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 R: i j Circulation gives a more balanced flow.

Property 1 n Theorem: A max-flow is balanced iff it satisfies Property 1.

Property 1 n Theorem: A max-flow is balanced iff it satisfies Property 1.

Will relax KKT conditions n n e(i): money currently spent by i w. r.

Will relax KKT conditions n n e(i): money currently spent by i w. r. t. a special allocation surplus money of i

Will relax KKT conditions n n e(i): money currently spent by i w. r.

Will relax KKT conditions n n 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 Tight sets Invariant Bang-per-buck edges

Pieces fit just right! Balanced flows Tight sets Invariant Bang-per-buck edges

Another point of departure n Complementary slackness conditions: involve primal or dual variables, not

Another point of departure n Complementary slackness conditions: involve primal or dual variables, not both. n KKT conditions: involve primal and dual variables simultaneously.

KKT conditions

KKT conditions

KKT conditions

KKT conditions

Primal-dual algorithms so far n Raise dual variables greedily. (Lot of effort spent on

Primal-dual algorithms so far n Raise dual variables greedily. (Lot of effort spent on designing more sophisticated dual processes. )

Primal-dual algorithms so far n Raise dual variables greedily. (Lot of effort spent on

Primal-dual algorithms so far n 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 n Raise dual variables greedily. (Lot of effort spent on

Primal-dual algorithms so far n Raise dual variables greedily. (Lot of effort spent on designing more sophisticated dual processes. ) ¨ Only n 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 n Dual variables (prices) are raised greedily n Yet, primal objects go

Our algorithm n Dual variables (prices) are raised greedily n Yet, primal objects go tight and loose ¨ Because of enhanced KKT conditions

Deficiencies of linear utility functions n Typically, a buyer spends all her money on

Deficiencies of linear utility functions n Typically, a buyer spends all her money on a single good n Do not model the fact that buyers get satiated with goods

Concave utility function utility amount of j

Concave utility function utility amount of j

Concave utility functions n Do not satisfy weak gross substitutability

Concave utility functions n Do not satisfy weak gross substitutability

Concave utility functions n Do not satisfy weak gross substitutability ¨ w. g. s.

Concave utility functions n 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 n Do not satisfy weak gross substitutability ¨ w. g. s.

Concave utility functions n Do not satisfy weak gross substitutability ¨ w. g. s. n = 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

Piecewise linear, concave utility amount of j

PTAS for concave function utility amount of j

PTAS for concave function utility amount of j

Piecewise linear concave utility n Does not satisfy weak gross substitutability

Piecewise linear concave utility n Does not satisfy weak gross substitutability

Piecewise linear, concave utility amount of j

Piecewise linear, concave utility amount of j

Differentiate rate = utility/unit amount of j rate 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

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

Spending constraint utility function rate = utility/unit amount of j rate $20 $40 $60 money spent on j

Spending constraint utility function n Happiness derived is not a function of allocation only

Spending constraint utility function n 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

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

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!

Satisfies weak gross substitutability!

Old pieces become more complex + there are new pieces

Old pieces become more complex + there are new pieces

But they still fit just right!

But they still fit just right!

Don Patinkin, 1922 -1995 n Considered utility functions that are a function of allocations

Don Patinkin, 1922 -1995 n Considered utility functions that are a function of allocations and prices.

An unexpected fallout!!

An unexpected fallout!!

An unexpected fallout!! n A new kind of utility function ¨ Happiness derived is

An unexpected fallout!! n 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!! n A new kind of utility function ¨ Happiness derived is

An unexpected fallout!! n A new kind of utility function ¨ Happiness derived is not a function of allocation only but also of amount of money spent. n Has applications in Google’s Ad. Words Market!

A digression

A digression

Ad. Words Market n Created by search engine companies ¨ Google ¨ Yahoo! ¨

Ad. Words Market n Created by search engine companies ¨ Google ¨ Yahoo! ¨ MSN n Multi-billion dollar market – and still growing! n Totally revolutionized advertising, especially by small companies.

The view 5 years ago: Relevant Search Results

The view 5 years ago: Relevant Search Results

Business world’s view now : (as Advertisement companies)

Business world’s view now : (as Advertisement companies)

So how does this work? Bids for different keywords Daily Budgets

So how does this work? Bids for different keywords Daily Budgets

Ad. Words Allocation Problem Lawyers. Rus. com asbestos Search Engine Sue. com Search results

Ad. Words Allocation Problem Lawyers. Rus. com asbestos Search Engine Sue. com Search results Ads Tax. Helper. com Whose ad to put How to maximize revenue?

Ad. Words Problem n Mehta, Saberi, Vazirani & Vazirani, 2005: 1 -1/e algorithm, assuming

Ad. Words Problem n Mehta, Saberi, Vazirani & Vazirani, 2005: 1 -1/e algorithm, assuming budgets>>bids

Ad. Words Problem n Mehta, Saberi, Vazirani & Vazirani, 2005: 1 -1/e algorithm, assuming

Ad. Words Problem n Mehta, Saberi, Vazirani & Vazirani, 2005: 1 -1/e algorithm, assuming budgets>>bids Optimal!

Ad. Words Problem n Mehta, Saberi, Vazirani & Vazirani, 2005: 1 -1/e algorithm, assuming

Ad. Words Problem n Mehta, Saberi, Vazirani & Vazirani, 2005: 1 -1/e algorithm, assuming budgets>>bids Optimal!

Spending constraint utilities Ad. Words Market

Spending constraint utilities Ad. Words Market

Ad. Words market n Assume that Google will determine equilibrium price/click for keywords

Ad. Words market n Assume that Google will determine equilibrium price/click for keywords

Ad. Words market n Assume that Google will determine equilibrium price/click for keywords n

Ad. Words market n Assume that Google will determine equilibrium price/click for keywords n How should advertisers specify their utility functions?

Choice of utility function n Expressive enough that advertisers get close to their ‘‘optimal’’

Choice of utility function n Expressive enough that advertisers get close to their ‘‘optimal’’ allocations

Choice of utility function n Expressive enough that advertisers get close to their ‘‘optimal’’

Choice of utility function n Expressive enough that advertisers get close to their ‘‘optimal’’ allocations n Efficiently computable

Choice of utility function n Expressive enough that advertisers get close to their ‘‘optimal’’

Choice of utility function n Expressive enough that advertisers get close to their ‘‘optimal’’ allocations n Efficiently computable n Easy to specify utilities

n linear utility function: a business will typically get only one type of query

n linear utility function: a business will typically get only one type of query throughout the day!

n linear utility function: a business will typically get only one type of query

n linear utility function: a business will typically get only one type of query throughout the day! n concave utility function: no efficient algorithm known!

n linear utility function: a business will typically get only one type of query

n linear utility function: a business will typically get only one type of query throughout the day! n concave utility function: no efficient algorithm known! ¨ Difficult for advertisers to define concave functions

Easier for a buyer n To say what are “good” allocations, for a range

Easier for a buyer n To say what are “good” allocations, for a range of prices, rather than how happy she is with a given bundle.

Online shoe business n Interested in two keywords: men’s clog ¨ women’s clog ¨

Online shoe business n Interested in two keywords: men’s clog ¨ women’s clog ¨ n Advertising budget: $100/day n Expected profit: ¨ men’s clog: ¨ women’s clog: $2/click $4/click

Considerations for long-term profit n Try to sell both goods - not just the

Considerations for long-term profit n Try to sell both goods - not just the most profitable good n Must have a presence in the market, even if it entails a small loss

n If both are profitable, ¨ better keyword is at least twice as profitable

n If both are profitable, ¨ better keyword is at least twice as profitable ($100, $0) ¨ otherwise ($60, $40) n If neither is profitable n 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

men’s clog rate = utility/click rate 2 1 $60 $100

women’s clog rate = utility/click 4 rate 2 $60 $100

women’s clog rate = utility/click 4 rate 2 $60 $100

money rate = utility/$ rate 1 0 $80 $100

money rate = utility/$ rate 1 0 $80 $100

Ad. Words market n Suppose Google stays with auctions but allows advertisers to specify

Ad. Words market n Suppose Google stays with auctions but allows advertisers to specify bids in the spending constraint model

Ad. Words market n Suppose Google stays with auctions but allows advertisers to specify

Ad. Words market n Suppose Google stays with auctions but allows advertisers to specify bids in the spending constraint model ¨ expressivity!

Ad. Words market n Suppose Google stays with auctions but allows advertisers to specify

Ad. Words market n Suppose Google stays with auctions but allows advertisers to specify bids in the spending constraint model ¨ expressivity! n Good online algorithm for maximizing Google’s revenues?

n Goel & Mehta, 2006: A small modification to the MSVV algorithm achieves 1

n 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?

Open Is there a convex program that captures equilibrium allocations for spending constraint utilities?

Spending constraint utilities satisfy n Equilibrium exists (under mild conditions) n Equilibrium utilities and

Spending constraint utilities satisfy n Equilibrium exists (under mild conditions) n Equilibrium utilities and prices are unique n Rational n With small denominators

Linear utilities also satisfy n Equilibrium exists (under mild conditions) n Equilibrium utilities and

Linear utilities also satisfy n Equilibrium exists (under mild conditions) n Equilibrium utilities and prices are unique n Rational n With small denominators

Proof follows from Eisenberg-Gale Convex Program, 1959

Proof follows from Eisenberg-Gale Convex Program, 1959

For spending constraint utilities, proof follows from algorithm, and not a convex program!

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

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

Open Use spending constraint algorithm to solve piecewise linear, concave utilities

Piece-wise linear, concave utility amount of j

Piece-wise linear, concave utility amount of j

Differentiate rate = utility/unit amount of j rate amount of j

Differentiate rate = utility/unit amount of j rate amount of j

n n Start with arbitrary prices, adding up to total money of buyers.

n n Start with arbitrary prices, adding up to total money of buyers.

rate = utility/unit amount of j rate money spent on j

rate = utility/unit amount of j rate money spent on j

n Start with arbitrary prices, adding up to total money of buyers. n n

n Start with arbitrary prices, adding up to total money of buyers. n n Run algorithm on these utilities to get new prices.

n Start with arbitrary prices, adding up to total money of buyers. n n

n Start with arbitrary prices, adding up to total money of buyers. n n Run algorithm on these utilities to get new prices.

n Start with arbitrary prices, adding up to total money of buyers. n n

n Start with arbitrary prices, adding up to total money of buyers. n n Run algorithm on these utilities to get new prices. n 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

Algorithms & Game Theory common origins von Neumann, 1928: minimax theorem for 2 -person zero sum games n von Neumann & Morgenstern, 1944: Games and Economic Behavior n von Neumann, 1946: Report on EDVAC n n Dantzig, Gale, Kuhn, Scarf, Tucker …