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

18
An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie Mellon University

Post on 20-Dec-2015

230 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie

An Algorithm for Automatically Designing Deterministic Mechanisms

without Payments

Vincent Conitzer and Tuomas SandholmComputer Science Department

Carnegie Mellon University

Page 2: An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie

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

Page 3: An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie

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

Page 4: An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie

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

Page 5: An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie

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…

Page 6: An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie

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

Page 7: An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie

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]

Page 8: An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie

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

Page 9: An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie

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

Page 10: An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie

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

Page 11: An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie

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

Page 12: An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie

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

Page 13: An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie

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

Page 14: An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie

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

Page 15: An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie

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

Page 16: An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie

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

Page 17: An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie

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?

Page 18: An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie

Thank you for your attention!