an algorithm for automatically designing deterministic mechanisms without payments vincent conitzer...
Post on 20-Dec-2015
230 views
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!