Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

Plan for Today Algorithmic Mechanism Design Crash Course Computational Complexity Complexity of Multi-Unit Allocation 2

Slide 4

Slide 4 text

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)

Slide 5

Slide 5 text

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.

Slide 6

Slide 6 text

Multi-Unit Allocation Problem Input: Output: 5 Noam Nisan, Algorithmic Mechanism Design, 2014.

Slide 7

Slide 7 text

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?

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

How many complexity classes are there? 9

Slide 11

Slide 11 text

How many complexity classes are there? 10 535 “interesting” classes (and counting)

Slide 12

Slide 12 text

Most Important Complexity Class 11 P “Tractable”

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

Problems in Class P 13

Slide 15

Slide 15 text

How can we prove a problem is in P? 14

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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 !)

Slide 20

Slide 20 text

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 !) ?

Slide 21

Slide 21 text

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 !' ?

Slide 22

Slide 22 text

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 > '.

Slide 23

Slide 23 text

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.

Slide 24

Slide 24 text

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)

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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.

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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!