Andrew Gilpin and Tuomas Sandholm Carnegie Mellon University Computer Science Department
An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer...
-
date post
20-Dec-2015 -
Category
Documents
-
view
226 -
download
2
Transcript of An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer...
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!