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/

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

    View Slide

  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

    View Slide

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

    View Slide

  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)

    View Slide

  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.

    View Slide

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

    View Slide

  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?

    View Slide

  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

    View Slide

  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

    View Slide

  10. How many complexity classes are there?
    9

    View Slide

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

    View Slide

  12. Most Important Complexity Class
    11
    P
    “Tractable”

    View Slide

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

    View Slide

  14. Problems in Class P
    13

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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.

    View Slide

  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)

    View Slide

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

    View Slide

  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.

    View Slide

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

    View Slide

  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!

    View Slide