A better rule for aggregating societal tradeoffs Vincent Conitzer [email protected].
Combinatorial Auctions with Structured Item Graphs Vincent Conitzer, Jonathan Derryberry, and Tuomas...
-
Upload
magnus-green -
Category
Documents
-
view
215 -
download
1
Transcript of Combinatorial Auctions with Structured Item Graphs Vincent Conitzer, Jonathan Derryberry, and Tuomas...
Combinatorial Auctions with Structured Item Graphs
Vincent Conitzer, Jonathan Derryberry, and Tuomas SandholmComputer Science Department
Carnegie Mellon University
Introduction
Combinatorial auctions• A combinatorial auction is defined by:
– Set I consisting of m items– n bids of the form (B, v)
• B I are the items bid on• v is the amount the bidder is willing to pay
• Auctioneer is faced with clearing problem: accept bids to maximize sum of accepted bids’ values
: 4
: 5
: 6
: 2
: 4
: 5
: 6
: 2
Item graphs
• Item graph = graph with the items as vertices where every bid is on a connected set of items
• Example:
Nobody bids on laptop and desktop without
also bidding on monitor
Item graphs with cycles
• Item graph = graph with the items as vertices where every bid is on a connected set of items
• Richer example:
Ticket to Alcatraz,
San Francisco
Ticket to Children’s
Museum, San Jose
Caltrain ticket
Rental car
Bus ticket
Does not make sense to bid on items in SF and SJ without transportation
Does not make sense to bid on two forms of transportation
Two computational questions
• Clearing auction when (useful) item graph is given
• Constructing (useful) item graph from bids
: 4
: 5
: 6
: 2
: 4
: 5
: 6
: 2
: 4
: 5
: 6
: 2
Uses for graph structures that make these questions easy
• 1. Construct useful item graph, use it to clear
• 1’. During search-based clearing algorithm, attempt to construct useful item graph– if exists, use to clear, otherwise continue search
• 2. Fix useful item graph before collecting bids, only allow bids consistent with graph– Or allow only few inconsistencies
• In both cases, important that graphs can model bidders’ preferences well
Clearing when item graph is given
Prior research
• [Sandholm & Suri 2003]: can clear auction in polynomial time when item graph is tree or cycle– [De Vries & Vohra 2003] also give (slower) polytime
algorithm for trees using perfect constraint matrices
• [Akcoglu et al. 2002] give linear-time approximation algorithms for item graphs with small treewidth– Approximation ratio = treewidth + 1
• This paper: clear optimally in polynomial time with bounded treewidth
Tree decompositions• Tree decomposition of graph G = a tree T with
– subsets of G’s vertices as T’s vertices – for every G-vertex, set of T-vertices containing it
must be nonempty connected set in T– every neighboring pair of vertices in G occurs in
some single vertex of T
• Width = (max #G-vertices in single T-vertex) - 1
• For bounded w, can construct tree decomposition of width w in polynomial time (if it exists)
B CD
A {A, B, C} {B, C, D}G
T
Clearing using tree decomposition• Thrm. Given an item graph with tree decomposition T
(width w), can clear optimally in time O(|T|2 (n+1)w+1)• Sketch of algorithm: use dynamic programming on T
• For every node v, find optimal way to clear subtree underneath for all possible decisions higher up
• Tree decomposition property: connected sets in G correspond to connected sets in T
• Any set of constraints from above can be represented as function from Iv to B {0} (leave out {0} if no free disposal)
{B, C, D}
T…
…
Constructing item trees
Prior research
• [Korte and Mohring 1989]: can construct item line graph in polynomial time (if exists)
• [Eschen & Spinrad 1993]: can construct item cycle graph in polynomial time (if exists)
• This paper: can construct item tree in polynomial time (if exists)– Closes open question from [Sandholm & Suri 2003]
Algorithm for constructing item tree
• Build graph with items as vertices
• Weight on edge between items = # times items co-occur in a bid
: 4
: 5
: 6
: 2
0
1
1
• Construct maximum spanning tree (can be done in O(m2) time [Cormen, Leiserson, Rivest])
Tree returned will be a valid item tree! (if item tree exists – easy to check if tree returned is valid item tree)
Why does the algorithm work? Proof
• Tb = subgraph of MST consisting of items in bid b
1
1– Subgraph of tree = forest
• Weight of MST = b (#edges in Tb)• But: #edges in Tb = #items in Tb – #components of Tb
• So, the maximum possible weight of the MST is b (#items in Tb – 1)
• Achieved iff every Tb has exactly one component• Or, in other words… Iff the MST is valid item tree!
Using the algorithm when there is no item tree
• Suppose tree returned has a few (k) bids with multiple components
• Then: can just do brute-force search over these bids, then use tree for remaining bids– Runtime O(2kmn)
• Note that algorithm does not minimize k = # of bids with multiple components– Rather, minimizes total number of components– Prefers few bids with few components to one bid
with many components
Constructing more complex item graphs?
Open question:
• How hard is it to construct an item graph of treewidth 2 (or 3, or 4, …) if it exists?
Algorithm fails for treewidth 2• Straightforward extension of algorithm:
– Find max spanning graph of treewidth 2 in last step
• Counterexample: suppose only possibility is
B C
D
A
• Now suppose there are many bids on {A, B, D}
• Algorithm will draw edge (A, D)
Minimizing #edges
• Constructing the item graph with the fewest edges is NP-complete– even when each bid is on at most 5 items, and item
graph of treewidth at most 2 is known to exist– regardless of whether we require constructed tree to
have treewidth 2• Algorithm for constructing trees can be used for treewidth 1
Multiple components per bid
Multiple components
• What if a bid can contain up to k connected sets (rather than just 1)?
• Say k=2
Not a valid bid
Valid bid
Complexity
• Thrm. Clearing (given the graph) is NP-complete even when the graph is a line and k = 2
• Thrm. Deciding whether a line graph exists with k = 5 is NP-complete
Conclusions• Item graphs: Graphs such that every bid is on a connected
component• Algorithm for clearing exponential only in treewidth of
(given) item graph– Polytime for bounded treewidth
• Algorithm for constructing an item tree– Can be useful even if no tree exists
– Open question: construct item graph of treewidth 2?
• Minimizing #edges in an item graph is NP-complete• If allow for multiple components, both clearing and
constructing graph NP-complete
Thank you for your attention!