540

# 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/

March 19, 2019

## 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

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

(and counting)

15

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!