Docstoc

Stanford

Document Sample
Stanford Powered By Docstoc
					        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          facility location
  Steiner tree       k-median
  Steiner network    multicut
  k-MST              feedback vertex set
  scheduling . . .
   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
                                         i   
                                             j
                                                 ij ij


    uij : utility derived by i
                  on obtaining one unit of j
   Total utility of i,
                           ui   j uij xij
                         xij
                                [0,1]
                 Fisher‟s Model
   n buyers, money m(i) for buyer i
   k goods (unit amount of each good)          Ui   j uijxij

     uij : utility derived by i
                   on obtaining one unit of j
   Total utility of i,
                             ui   j uij xij
                            xij
                                   [0,1]

   Find market clearing prices
             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.
                                          uij
                              arg max j
                                          pj
 m(1)                         p(1)


 m(2)                         p(2)


  m(3)                         p(3)


  m(4)                         p(4)
             Max flow

                              p(1)
m(1)

 m(2)                         p(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)

 m(2)                   p(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:   s is a min-cut

     Identify   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

m                    p
     bang-per-buck
         edges

             goods
       Balanced flow in N



      m                        p

           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              Invariant



                            Bang-per-buck
       Tight sets              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




  ( u          i m(i )
        m ( i ) 1/
              )
      i i
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         prices pj
       ij : x ij  0
           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 )
                                               uij
   Therefore, buyer i buys from   arg max j
                                               pj
    only,
    i.e., gets an optimal bundle
                                                uij
   Therefore, buyer i buys from    arg max j
                                                pj
    only,
    i.e., gets an optimal bundle



   Can prove that equilibrium prices
     are unique!
      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
3.i, j :          e(i)
          p j m(i )
                   uij   ui
4.i, j : xij  0           e(i)
                    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 )

4.i, j : xij  0 
                    uij
                       
                         ui
                              
                                     j
                                          uij xij
                    p j m(i )     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-utility-
      function‟ 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 results
                       Search Engine
Sue.com
                                        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!
     Difficultfor 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‟sclog:        $2/click
     women‟s 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,
     betterkeyword 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)
       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 )  g ij ( )
                            pj
                         x
       hij ( x )  g ij ( )
                         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 )  g ij ( )
                                           pj


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

                                          x
                         hij ( x )  g ij ( )
                                           pj


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

                                          x
                         hij ( x )  g ij ( )
                                           pj


   Run algorithm on these utilities to get new prices.

   Fixed points of this procedure are equilibrium
     prices for piecewise linear, concave utilities!