an algorithm for automatically designing deterministic mechanisms without payments vincent conitzer...

Post on 20-Dec-2015

226 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

An Algorithm for Automatically Designing Deterministic Mechanisms

without Payments

Vincent Conitzer and Tuomas SandholmComputer Science Department

Carnegie Mellon University

Mechanism design• One outcome must be selected

• Select based on agents’ reported preferences (types)

mechanism outcometypes

• Agents report types strategically• Mechanism designer designs mechanism to achieve good outcomes in spite of strategic behavior

– “Good” measured relative to true types– Designer only knows prior distribution over types

Mechanism design constraints

• Incentive compatibility: Agents should always be best off reporting truthfully– Revelation principle justifies restriction to truthful

mechanisms

• Participation: Agents should not be made worse off by participating in mechanism– Otherwise will not participate

Classical mechanism design

• Classical mechanism design has created a number of canonical mechanisms– Vickrey, Clarke, Groves mechanisms; Myerson auction; …

– These obtain a particular goal over a range of settings

• It has also created impossibility results– Gibbard-Satterthwaite; Myerson-Satterthwaite; …

– Show that no mechanism obtains a goal over a range of settings

Automated mechanism design

Solve mechanism design as an optimization problem automatically, only for setting at hand

• Advantages: Can be used when…– Canonical mechanisms are impossible for general class

that setting lies in– Canonical mechanisms are not known

• Unusual objective; payments not possible; …

– Canonical mechanism is known, but can do better• Higher objective, stronger nonmanipulability/participation…

Special case studied in this paper

General case This paper

k agents

payments may/may not be possible

randomization may/may not be possible

1 (type-reporting) agent

payments are not possible

deterministic mechanisms only

Computational problem• Input: instance is given by

– O: set of possible outcomes : set of possible types for the agent– p: [0, 1]: probability distribution over types– u: O : agent’s utility function – g: O : designer’s objective function

• Output: mechanism o: O which– is nonmanipulable: , ’ , u(, o()) u(, o(’))– satisfies participation constraint: , u(, o()) 0– under these constraints, maximize expected objective:

p()g(o())• NP-complete [C.& S. ICEC-03]

Application: one-on-one bartering

• Two agents each have initial endowment of goods• Each agent has value for every subset of all goods• Can trade goods, but payments are not possible• Agent 1 gets to design rules of the game

– “Mechanism designer”– Will maximize own expected utility with mechanism– Must honor agent 2’s participation constraint

• Agent 2 reports type– “Agent” participating in mechanism– Mechanism specifies outcome for each type

Naïve search vs. more sophisticated

• Naïve: Search over functions o: O• Naïve search space has size |O|||

• We will show how to search over subsets of outcomes instead

• This search space has size 2|O|

– Typically || >> |O|• If can independently have k different values for each outcome, || = k|O|

– Otherwise, can restrict search to subsets of outcomes of at most size || - still smaller

The mechanism oX for X O • With every subset X of outcomes, associate mechanism oX over these outcomes:

– Every type should get outcome that maximizes utility among outcomes in X– Given this, objective maximizing outcome in X should be chosen– Further ties broken arbitrarily

• Thrm. Any oX is truthful.• Thrm. For some X, oX is an optimal truthful mechanism.• Example: X={o1, o3} in following setting:

Type u(o1) u(o2) u(o3) g(o1) g(o2) g(o3) outcome

1 1 2 3 3 2 12 1 2 1 1 3 23 3 2 1 1 2 3

Expected objective value:

P(1)·1+P(2)·2+P(3)·1

o3

o3

o1

Searching over subsets of outcomes • Now we can search over subsets of outcomes

– Let X be those that are definitely in, Y those that are definitely out

X={}, Y={}

X={o1}, Y={} X={}, Y={o1}

X={o1}, Y={o2}

X={o1, o3}, Y={o2}

… …

Q: How do we evaluate nonleaf nodes?

A: Would like admissible heuristic

O1 in

O2 out

O3 in

O1 out

O2 outO2 inO2 in

O3 out

3211233

2311212

1233211

outcomeg(o3)g(o2)g(o1)u(o3)u(o2)u(o1)Type

3211233

2311212

1233211

outcomeg(o3)g(o2)g(o1)u(o3)u(o2)u(o1)Type

Expected objective value:

P(1)·1+P(2)·2+P(3)·1

o3

o3

o1

Mechanism oX,Y for X,Y O • Suppose we have decided for only some outcomes whether they are in or out

– X are definitely in, Y are definitely out.

• What is an optimistic estimate of the best mechanism from here?– Every type should get at least as much utility as the utility-maximizing outcome among those that are

definitely in. (X)– Given this, every type should get an objective-maximizing outcome among those that may still be in. (O-

Y)

• Thrm. The expected value of the objective for oX,Y is at least that of any truthful (leaf) mechanism down the tree.

– oX,Y not necessarily truthful; objective computed as if it were

• Example: X={o1}, Y={o2}

Expected objective value:

P(1)·3+P(2)·2+P(3)·1

Type u(o1) u(o2) u(o3) g(o1) g(o2) g(o3) outcome

1 1 2 3 3 2 12 1 2 1 1 3 23 3 2 1 1 2 3

o1

o3

o1

Using oX,Y as the heuristic• Can use the expected value of the objective for oX,Y as the heuristic

– Admissible because it always has at least the value of any descendant

X={}, Y={}

X={o1}, Y={} X={}, Y={o1}

X={o1}, Y={o2}

X={o1, o3}, Y={o2}

… …

O1 in

O2 out

O3 in

O1 out

O2 outO2 inO2 in

O3 out

3211233

2311212

1233211

outcomeg(o3)g(o2)g(o1)u(o3)u(o2)u(o1)Type

3211233

2311212

1233211

outcomeg(o3)g(o2)g(o1)u(o3)u(o2)u(o1)Type

Expected objective value:

P(1)·1+P(2)·2+P(3)·1

o3

o3

o1

Expected objective value:

P(1)·3+P(2)·2+P(3)·1

3211233

2311212

1233211

outcomeg(o3)g(o2)g(o1)u(o3)u(o2)u(o1)Type

3211233

2311212

1233211

outcomeg(o3)g(o2)g(o1)u(o3)u(o2)u(o1)Type

o1

o3

o1

Participation constraint

• Thrm. oX satisfies participation constraint iff for every type , there is some o X such that u(, o) 0

• So, during search, simply do not expand nodes where this is no longer true

Different search methods• A* runs out of memory too quickly; not used• Branch-and-Bound DFS

– DFS except only go to child node if its heuristic exceeds current best mechanism found

• IDA*– Same, but have an initial cutoff objective value– If no mechanism reaching that objective value is found, start again with cutoff

reduced by a fixed percentage• Or cutoff set to highest heuristic value not explored – whichever is lower

• In both cases, we also use some special tricks and data structures for computing node’s heuristic– Use information computed at parent node

Special-purpose algorithms vs. CPLEX

log(seconds)

Uniform utility

functions,no

participation

log(seconds)

log(seconds)

Uniform utility

functions,with

participation

Bartering a number of items

0

0

0

0

0 0

3

2

0.5

90

90

50

0.5

1.5

2.5

30

30

35

#types

#types

#types

#outcomes

#outcomes

#outcomes

CPLEXCPLEX

IDA*

CPLEX CPLEX

CPLEX CPLEX

B&BB&B

IDA*

B&B

IDA*

B&B

IDA*

B&BIDA*

IDA*B&B

Future research

• Extend algorithm to more general cases…

• …or at least find algorithms for other special cases

• Can extra structure on the instances be used?– E.g. CPLEX seems able to exploit bartering structure– Optimal combinatorial auctions?

Thank you for your attention!

top related