computer aided mechanism design n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Computer-aided mechanism design PowerPoint Presentation
Download Presentation
Computer-aided mechanism design

Loading in 2 Seconds...

play fullscreen
1 / 40

Computer-aided mechanism design - PowerPoint PPT Presentation


  • 92 Views
  • Uploaded on

Computer-aided mechanism design. Ye Fang, Swarat Chaudhuri , Moshe Vardi. Winner = … Price = …. $200. $100. $150. $175. $130. C. B. D. A. E. $150. $140. Private info:. $210. $225. $150. Utility function = value -price. First-Price Auction . Rule :

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Computer-aided mechanism design' - temple


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
computer aided mechanism design

Computer-aided mechanism design

Ye Fang, SwaratChaudhuri,

Moshe Vardi

slide2

Winner = …

Price = …

$200

$100

$150

$175

$130

C

B

D

A

E

$150

$140

Private info:

$210

$225

$150

Utility function = value -price

first price auction
First-Price Auction

Rule:

  • Winner highest bidder
  • Payment highest bid

How much will you bid based on this rule?

  • Try to maximize my profit.
  • If I am the bidder, I will UNDERBID!
first price auction1
First-Price Auction

If everyone thinks like me:

  • Payment EQUALS highest bid
  • Highest bid LESS THAN true value
  • Profit LESS THAN highest true value
second price auction
Second-Price Auction

Rule:

  • Winner highest bidder
  • Payment second highest bid

How will you bid under this rule?

slide6

If the camera worth $200 to me, profit = ($200 – Price)or 0.

$200 >= brest , bid $200

$200 < brest , bid $200

winning region

bmy > brest

brest= highest bid of rest bidders

lose region

bmy < brest

second price auction1
Second-Price Auction

Bidding truthfully is the best strategy.

rules behaviors
Rules & Behaviors

First-Price

  • Bidders bid lower thanhow much they think the camera worth to them

Second-Price

  • Bidders’ bids equal to how much they think the camera worth to them
decision making mechanism
Decision making mechanism

Online Auction System

Reputation System

Voting System

……

what is common
What is common?

Multi-agents

  • privateinformation
  • conflicting preferences

The decision-making entity

  • aiming to achieve a desirable outcome
    • In auction, reveal bidders private information or try to maximize the seller’s profit
    • In public resource auction, achieve efficient allocation of resources.
how to achieve desirable outcome
How to achieve desirable outcome?

Decision maker has no control over their behaviors.

Agents are self-interested.

Answer:

  • Design mechanisms
  • Agents are better to behave “nicely”
  • Deter liars, cheaters
slide12

easy!

If given rules, we can choose one by finding the best strategyof each player.

Second-Price Auction:

1) truth-telling

2) efficient allocation

But, what if you are not given a rule, and you want the players to behave in certain way?

how to formalize this problem
How to formalize this problem?

System Setting

Outcome Property

Agent model

rule

Magic Box

procedure

Mechanism

our solution
Our Solution

System Setting

Outcome Property

Agent model

rule

Language

Our System

procedure

Synthesis Compiler

Mechanism

our solution1
Our Solution

Language

  • to encode the setting
  • to encode the property

Synthesis Program

  • reduce to the program to a first order logic formula
  • use SMT solver tosearch for missing implementations
slide16

Winner = …

Price = …

$200

$100

$150

$175

$130

C

B

D

A

E

$150

$140

Private info:

$210

$225

$150

Utility function = value -price

model
Model

Auction Setting

Truth-telling

rule

Agent model

  • bid
  • Private value
  • Utility function
  • Partial

Our System

procedure

rule

  • How the auction is conducted
  • Complete

Mechanism

agent model
Agent Model

Class Agent {

realbid

realvalue

functionutility(result){If(bid = winningbid) { ut = value – price }

else{ ut = 0 }

returnut

}

mechanism
Mechanism

function Rule(real[] B){

realwinningbid= ??

realprice = ??

return (winningbid, price)

}

when auction starts
When auction starts

main(){

Agent a_1 = new Agent(“1”)

Agent a_2 = new Agent(“2”)

Agent a_3 = new Agent(“3”)

real[] B = [a_1.b, a_2.b, a_3.b]

return result = Rule(B);}

specify the desired behavior
Specify the Desired Behavior

main(){

real[] B = [a_1.b, a_2.b, a_3.b]

return result = Rule(B);

@assert:foralla_i,

Let B’ = swap(B, i, v[i])

a_i.ut(result) <= a_i.ut(Rule(B’))

}

Bidding truthfully always yields more profit!

how to replace the question mark
How to replace the question mark?

functionRule(real[] B){

realwinningbid= ??

real price = ??

return(winningbid, price)

}

sort inputs first
Sort inputs first

@assume: sorted(B)

functionRule(real[] B){

realwinningbid= ??

real price = ??

return(winningbid, price)

}

linear function
Linear Function

@assume: sorted(B)

functionRule(real[] B){

realwinningbid= ? * B[0] + … + ? * B[B.size-1]

real price = ? * B[0] + … + ? * B[B.size-1]

return(winningbid, price)

}

put together
Put together

main(){

returnresult = Rule(B);

@assert:foralla_i,

LetB’ = …

a_i.ut(result) <= a_i.ut(Rule(B’))

}

@assume: sorted(B)

functionRule(real[] B)

{ realwinningbid = …

real price = …

return(winningbid, price)

}

an easier problem
An Easier Problem

Find an implementation of Foo:

@assume: x < y

Foo(int x, int y){ x = ? * x

y = ? * y

}

@assert: x > y

replace w ith identifiers
Replace ?with identifiers

@assume: x < y

Foo(int x, int y){ x = c0 * x

y = c1 * y

}

@assert: x > y

weakest precondition
Weakest Precondition

@assume: x < y

Foo(int x, int y){x/c0 > y/c1

s0: x = c0* x

x>y/c1

s1: y = c1* y

x>y

}

@assert: x > y

x<y

x/c0<y/c1

generated fornula
Generated Fornula

@assume: x < y

Foo(int x, int y){x/c0 > y/c1

s0: x = c0* x

x>y/c1

s1: y = c1* y

x>y

}

@assert: x > y

Exists (c0, c1), ForAll(x, y),

(x < y) implies (x/c0 > y/c1)

solve g enerated f ormula
Solve Generated Formula

Exsits(c0, c1), ForAll(x, y), (x < y) implies (x/c0 > y/c1)

SMT Solver

(Satisfiability Modulo Theories)

values for c0, c1

original problem
Original Problem

main(){

returnresult = Rule(B);

@assert:foralla_i,

LetB’ = …

a_i.ut(result) >= a_i.ut(Rule(B’))

}

@assume: sorted(B)

functionRule(real[] B)

{ realwinningbid = …

real price = …

return(winningbid, price)

}

replace w ith identifiers1
Replace ?with Identifiers

@assume: sorted(B)

function Rule(real[] B){

realwinningbid = c[0] * B[0] + … + c[B.size-1] * B[B.size-1]

real price = d[0] * B[0] + … + d[B.size-1] * B[B.size-1]

return (winningbid, price)

}

original problem1
Original Problem

@assume: sorted(B)

function Rule(real[] B){

realwinningbid = c[0] * B[0] + … + c[B.size-1] * B[B.size-1]

real price = d[0] * B[0] + … + d[B.size-1] * B[B.size-1]

return (winningbid, price)}

@assert:foralla_i,

LetB’ = swap(B, I, v[i])

a_i.ut(result) >= a_i.ut(Rule(B’))

generated formula
Generated Formula

Compute weakest preconditiongiven assertion

  • f(c[0], …, c[B.size-1], d[0], …, d[B.size-1])

Formula to solve:

  • Exists(C, D), ForAll(B), sorted(B) implies f(C, D)
solve g enerated f ormula1
Solve Generated Formula
  • Exists(C, D), ForAll(B), sorted(B) implies f(C, D)

SMT Solver

(Satisfiability Modulo Theories)

valuesfor c[0], …, c[B.size-1], d[0], …, d[B.size-1]

our contribution
Our Contribution

System Setting

Outcome Property

Agent model

rule

Language

Our System

procedure

Synthesis Compiler

Mechanism

what we have achieved
What we have achieved?

We reconstructed a set of classical mechanisms

  • single-item auction
  • Google online ads auction

New mechanisms

  • multistage auction
  • result in new properties

Voting System

  • no absolute fair mechanism
future work
Future Work

Extend to model with arbitrarily large number of agents.

Enrich the kind of mechanism functions that can be handled.

Explore more complicated real-life preference aggregation systems.