Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Class 17: Algorithmic Mechanism Design

Class 17: Algorithmic Mechanism Design

Class 17: Algorithmic Mechanism Design
https://uvammm.github.io/class17

Markets, Mechanisms, and Machines
University of Virginia
cs4501/econ4559 Spring 2019
David Evans and Denis Nekipelov
https://uvammm.github.io/

Avatar for David Evans

David Evans

March 19, 2019
Tweet

More Decks by David Evans

Other Decks in Education

Transcript

  1. MARKETS, MECHANISMS, MACHINES University of Virginia, Spring 2019 Class 17:

    Algorithmic Mechanism Design 19 March 2019 cs4501/econ4559 Spring 2019 David Evans and Denis Nekipelov https://uvammm.github.io
  2. Reminder: Trial Auction Thursday! Your team should be prepared to

    participate in trial auction in-class Thursday: • Bring laptop (at least one for your team): on the network, with your client code ready to run • Client code ready to compete in trial auction limited number of rounds (will run throughout the class) • Winning team gets $1000 bonus for final auction • Teams that are not able to compete penalty $1000 1
  3. Algorithmic Mechanism Design 3 (Classical) Mechanism Design Algorithms (Computer Science)

    Algorithmic Mechanism Design Goal Design mechanism that achieves economic goal (e.g., maximize social welfare) Design solution to problem that is computationally- efficient Design computationally- efficient mechanism that achieves economic goal Participants Models of rational agents Models of abstract machines Models of rational agents History 1928: von Neumann, Theory of Games of Strategy 1961: Vickey 1673: Leibniz 1930s: Turing, Church 1999: Nissan and Ronen (STOC)
  4. Multi-Unit Auction ! identical items, " bidders Each bidder has

    private valuation function: #$ : 0, … , ! → ℝ+ #$ , = value to bidder 9 for receiving , units #$ 0 = 0, ∀, ∈ 0, … , ! − 1 : #$ , ≤ #$ (, + 1) Goal: maximize social welfare = ∑ $ #$ !$ where ∑ $ !$ ≤ ! 4 Noam Nisan, Algorithmic Mechanism Design, 2014.
  5. Multi-Unit Allocation Problem Input: Valuations for the players: !" ,

    … , !% . Output: Allocation, '" , … , '% where ∑ ) ') ≤ ' that maximizes ∑ ) !) ') . 6 Noam Nisan, Algorithmic Mechanism Design, 2014. What does it mean to have a computationally-efficient solution?
  6. Measuring Cost (Recap from Class 4) Computation: number of steps

    needed by a model computer Communication: total amount of data communicated number of rounds of messages 7 Actual cost usually dominated by communication cost: bandwidth is expensive But, computation cost determines if your program will actually finish
  7. Complexity Classes Complexity Class: a set of problems that can

    be solved with the defined resource constraint Typically: given machine model (e.g., deterministic Turing Machine) within a limited amount (usually function of input size) of time or space 8
  8. Is Multi-Unit Auction in P? 17 Input: Valuations for the

    players: !" , … , !% . Output: Allocation, '" , … , '% where ∑ ) ') ≤ ' that maximizes ∑ ) !) ') .
  9. Is Multi-Unit Auction in P? 18 Input: Valuations for the

    players: !" , … , !% . Output: Allocation, '" , … , '% where ∑ ) ') ≤ ' that maximizes ∑ ) !) ') . Polynomial in what? Length of input ' = log ' How is the input represented? Query model: !) is an arbitrary function with !) 0 = 0, ∀1 ∈ 0, … , ' − 1 : !) 1 ≤ !) (1 + 1) Cost = number of queries to !)
  10. Is Multi-Unit Auction in P? 19 Input: Valuations for the

    players: !" , … , !% . Output: Allocation, '" , … , '% where ∑ ) ') ≤ ' that maximizes ∑ ) !) ') . Is it possible to find optimal allocation with +(log0 ') queries to !) ?
  11. Is Multi-Unit Auction in P? 20 Input: Valuations for the

    two players: !" , !$ Output: Allocation, %" , %$ where ∑ ' %' ≤ % that maximizes ∑ ' !' %' . Is it possible to find optimal allocation with )(log. %) queries to !' ?
  12. Proof: Multi-Unit Auction ∉ " 21 Input: Valuations for the

    two players: #$ , #& Output: Allocation, '$ , '& where ∑ ) ') ≤ ' that maximizes ∑ ) #) ') . If the algorithm makes fewer than 2' – 2 queries, this means there is some value of either #$ or #& below ' that wasn’t queried. Without loss of generality lets assume it is #$. Suppose #$ - = - and #& - = - for all queried inputs. The output is ('$ , '& ). Value = #$ '$ + #& '& = '$ + '& = '. For the unqueried point, 3 ∉ '$ , '& : #$ 3 = 3 + 1. The allocation (3, ' − 3) has value: #$ 3 + #& ' − 3 = 3 + 1 + ' − 3 = ' + 1 > '.
  13. Multi-Unit Auction: Input Representation 22 Input: Valuations for the players:

    !" , … , !% . Output: Allocation, '" , … , '% where ∑ ) ') ≤ ' that maximizes ∑ ) !) ') . Polynomial in what? Length of input ' = log ' How is the input represented? Query model: !) is an arbitrary function with !) 0 = 0, ∀1 ∈ 0, … , ' − 1 : !) 1 ≤ !) (1 + 1) Representing input as arbitrary function requires '9 bits for each valuation function, so solution that requires querying each value once is polynomial in input size number of queries.
  14. Multi-Unit Auction: Input Representation 23 Input: Valuations for the players:

    !" , … , !% . Output: Allocation, '" , … , '% where ∑ ) ') ≤ ' that maximizes ∑ ) !) ') . Query model: !) 0 = 0, ∀. ∈ 0, … , ' − 1 : !) . ≤ !) (. + 1) Single-Minded Step Bids: !) . = 0 for . < .) ∗; !) . = <) ∗ for . ≥ .) ∗. Downward Sloping: ∀. ∈ 0, … , ' − 1 : !) . + 1 − !) . ≤ !) . − !) (. − 1)
  15. Downward Sloping Valuations 24 Input: Valuations for the players: !"

    , … , !% . Output: Allocation, '" , … , '% where ∑ ) ') ≤ ' that maximizes ∑ ) !) ') . Downward Sloping: ∀, ∈ 0, … , ' − 1 : !) , + 1 − !) , ≤ !) , − !) (, − 1) “convex economy” ' 0 !(')
  16. Downward Sloping Valuations 25 Input: Valuations for the players: !"

    , … , !% . Output: Allocation, '" , … , '% where ∑ ) ') ≤ ' that maximizes ∑ ) !) ') . Downward Sloping: ∀, ∈ 0, … , ' − 1 : !) , + 1 − !) , ≤ !) , − !) (, − 1) “convex economy” ' 0 !(') Some clearing price 5 such that: for all 6, !) ') − !) ') − 1 ≥ 5 > !) ') + 1 − !) ') and ∑ ) ') = ' Use binary search (: log ') to find 5 and allocation.
  17. Multi-Unit Auction: Input Representation 26 Input: Valuations for the players:

    !" , … , !% . Output: Allocation, '" , … , '% where ∑ ) ') ≤ ' that maximizes ∑ ) !) ') . Query model: !) 0 = 0, ∀. ∈ 0, … , ' − 1 : !) . ≤ !) (. + 1) Single-Minded Step Bids: !) . = 0 for . < .) ∗; !) . = <) ∗ for . ≥ .) ∗. Downward Sloping: ∀. ∈ 0, … , ' − 1 : !) . + 1 − !) . ≤ !) . − !) (. − 1) No polynomial (in log ') time solution Know polynomial (in log ') time solution ???
  18. Next class: Computational complexity of Multi-Unit Auctions with Step Bids

    P = NP? Charge Be ready for trial auction at beginning of Thursday’s class!