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/

40e37c08199ed4d3866ce6e1ff0be06d?s=128

David Evans

March 19, 2019
Tweet

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. Plan for Today Algorithmic Mechanism Design Crash Course Computational Complexity

    Complexity of Multi-Unit Allocation 2
  4. 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)
  5. 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.
  6. Multi-Unit Allocation Problem Input: Output: 5 Noam Nisan, Algorithmic Mechanism

    Design, 2014.
  7. 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?
  8. 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
  9. 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
  10. How many complexity classes are there? 9

  11. How many complexity classes are there? 10 535 “interesting” classes

    (and counting)
  12. Most Important Complexity Class 11 P “Tractable”

  13. Polynomial Time 12 ! = # $ ∈ ℕ TIME(,$)

  14. Problems in Class P 13

  15. How can we prove a problem is in P? 14

  16. How can we prove a problem is not in P?

    15
  17. How can we prove a problem is not in P?

    16
  18. Is Multi-Unit Auction in P? 17 Input: Valuations for the

    players: !" , … , !% . Output: Allocation, '" , … , '% where ∑ ) ') ≤ ' that maximizes ∑ ) !) ') .
  19. 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 !)
  20. 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 !) ?
  21. 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 !' ?
  22. 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 > '.
  23. 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.
  24. 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)
  25. Downward Sloping Valuations 24 Input: Valuations for the players: !"

    , … , !% . Output: Allocation, '" , … , '% where ∑ ) ') ≤ ' that maximizes ∑ ) !) ') . Downward Sloping: ∀, ∈ 0, … , ' − 1 : !) , + 1 − !) , ≤ !) , − !) (, − 1) “convex economy” ' 0 !(')
  26. 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.
  27. 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 ???
  28. 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!