1: % $Id: opcost.tex,v 1.108 2000/08/12 15:47:34 aspnes Exp $
2:
3: \documentclass[11pt]{article}
4: \usepackage{cite}
5: \usepackage{amsmath}
6: \usepackage{amssymb}
7:
8: \newcommand{\versionsize}{100}
9: \newcommand{\maybe}[3]{\ifnum \versionsize < #1 #2\else #3\fi}
10:
11: \maybe{100}{
12: %%% usual length hacking
13:
14: \setlength{\textheight}{8.5in}
15: \setlength{\textwidth}{6.5in}
16: \setlength{\topmargin}{0pt}
17: \setlength{\evensidemargin}{-0.0 in}
18: \setlength{\oddsidemargin}{-0.0 in}
19: \setlength{\headsep}{10pt}
20: \setlength{\parskip}{\medskipamount}
21: \setlength{\itemsep}{-.6ex}
22: }{
23: %%% size adjustments for full version
24: \addtolength{\textheight}{1.4in}
25: \addtolength{\textwidth}{1.6in}
26: \addtolength{\topmargin}{-0.7in}
27: \addtolength{\evensidemargin}{-0.8in}
28: \addtolength{\oddsidemargin}{-0.8in}
29: }
30:
31: \newcommand{\alert}[1]{\typeout{ALERT: #1}\textbf{[[[ #1 ]]]}}
32:
33:
34: \newtheorem{theorem}{Theorem}
35: \newtheorem{lemma}[theorem]{Lemma}
36: \newtheorem{corollary}[theorem]{Corollary}
37: \newenvironment{proof}{\noindent\par{\bf Proof: }}{\nopagebreak\rule{1 ex}{0.8 em}\medskip}
38:
39: \newcommand{\newloglike}[2]{\newcommand{#1}{\mathop{\rm #2}\nolimits}}
40: \newloglike{\E}{E}
41:
42: \newloglike{\wt}{weight}
43: \newloglike{\val}{value}
44: \newloglike{\select}{select}
45:
46: \newcommand{\pred}{\rightarrow}
47:
48: % got used to avoiding these in HTML
49: \newcommand{\lt}{<}
50: \newcommand{\gt}{>}
51:
52: \newloglike{\treeroot}{root}
53: \newloglike{\opcostvalue}{opcost}
54:
55: \newcommand{\opcost}[1]{{\sc Op\-cost}#1}
56: \newcommand{\lropcost}[1]{{\sc LR-}\opcost{#1}}
57: \newcommand{\unweighted}[1]{{\sc Un\-weighted-}#1}
58: \newcommand{\overlapping}[1]{{\sc Over\-lapping-}#1}
59: \newcommand{\weighted}[1]{{\sc Weighted-}#1}
60: \newcommand{\light}[1]{{\sc Light-}#1}
61: \newcommand{\heavy}[1]{{\sc Heavy-}#1}
62: \newcommand{\oc}{OC}
63: \newcommand{\lr}{LR}
64:
65: \newcommand{\etal}[1]{{\it et al.\/}}
66: \newcommand{\buzz}[1]{\emph{#1}}
67: \newloglike{\tw}{tw}
68:
69: \newcommand{\objs}{{\cal O}}
70: \newcommand{\bids}{{\cal B}}
71: \newcommand{\allbids}{{\cal A}}
72:
73: \newcommand{\suppress}[1]{}
74:
75: % Karhan's macros
76: \newcommand{\R}{\mathbb{R}}
77:
78: \title{Opportunity Cost Algorithms for Combinatorial Auctions}
79: \author{
80: Karhan Akcoglu\thanks{
81: Department of Computer Science, Yale University,
82: New Haven, CT 06520-8285, USA.
83: Email: {\tt karhan.akcoglu@yale.edu}.
84: Supported in part by NSF Grant CCR-9896165.}
85: \and
86: James Aspnes\thanks{
87: Department of Computer Science, Yale University,
88: New Haven, CT 06520-8285, USA.
89: Email: {\tt aspnes-james@cs.yale.edu}.
90: Supported in part by NSF grant CCR-9820888.}
91: \and
92: Bhaskar DasGupta\thanks{
93: Department of Computer Science,
94: Rutgers University,
95: Camden, NJ 08102, USA.
96: Email: {\tt bhaskar@crab.rutgers.edu}.
97: Supported in part by NSF Grant CCR-9800086.
98: }
99: \and
100: Ming-Yang Kao\thanks{Department of Computer Science, Yale University,
101: New Haven, CT 06520-8285, USA. Email: {\tt kao-ming-yang@cs.yale.edu}.
102: Supported in part by NSF Grant CCR-9531028.}
103: }
104:
105: \begin{document}
106:
107:
108: \maketitle
109:
110: \begin{abstract}
111: Two general algorithms based on opportunity costs are given for approximating
112: a revenue-maximizing set of bids an auctioneer should accept, in a
113: \buzz{combinatorial auction} in which each bidder offers a price for
114: some subset of the available goods and the auctioneer can only
115: accept non-intersecting bids. Since this problem is difficult
116: even to approximate in general,
117: the algorithms are most useful when the bids
118: are restricted
119: to be connected node subsets of an underlying \buzz{object graph} that
120: represents which objects are relevant to each other. The approximation
121: ratios of the algorithms depend on structural properties of this graph
122: and are small constants for many interesting families of object graphs.
123: The running times of the algorithms are linear in the size of the
124: \buzz{bid graph}, which describes the conflicts between bids. Extensions
125: of the algorithms allow for efficient processing of additional constraints,
126: such as budget constraints that associate bids with particular bidders
127: and limit how many bids from a particular bidder can be accepted.
128: \end{abstract}
129:
130: \section{Introduction}
131: \label{section-intro}
132:
133: Auctions are arguably the simplest and most popular means of price
134: determination for multilateral trading without intermediary market
135: makers \cite{HP93,McA87,Wil92,clearwater}. This paper considers the
136: setting where there are (1) a group of competing {\it bidders} who bid
137: to possess the auction {\it objects} and (2) an {\it auctioneer} who
138: determines which bidders win which objects.
139:
140: For the case of allocating a single object to one of many bidders,
141: there is a wealth of literature on the following four widely used forms
142: of auction \cite{HP93,McA87,MW82}. In an \emph{English auction} or
143: \emph{ascending bid auction}, the price of an object is successively
144: raised until only one bidder remains and wins the object. In a
145: \emph{Dutch auction}, which is the converse of an English auction, an
146: initial high price is subsequently lowered until a bidder accepts the
147: current price. In a \emph{first-price sealed-bid auction}, potential
148: buyers submit sealed bids for an object. The highest bidder is awarded
149: the object and pays the amount of her bid. In a \emph{second-price
150: sealed-bid auction}, the highest bidder wins the object but pays a
151: price equal to the second-highest bid. In all these forms of auction,
152: the auctioneer can determine the winning bid in time linear in the
153: number of bids in a straightforward manner.
154:
155: For the case of allocating multiple objects to multiple bidders\cite{KR96,Hausch86,Palfrey80,Gale90,kaoqt.auction.sjp,ckao.bidding.scp},
156: {\it
157: combinatorial auctions} are perhaps the most important form of
158: auctions
159: in the Internet Age, where bidders are increasingly software agents.
160: Oftentimes a bid by an agent is a subset of the auction objects, and
161: the agent needs the entire subset to complete a task. Different bids
162: may share the same object, but the winning bids must not share any
163: object \cite{MM1996}. Combinatorial auctions were first proposed by
164: Rassenti \etal{Smith, and Bulfin} \cite{RSB1982} as one-round mechanisms
165: for airport time slot allocation. Banks \etal{Ledyard, and Porter}
166: \cite{BLP1989}, DeMartini \etal{Kwasnica, Ledyard, and Porter}
167: \cite{DKLP1999}, and Parkes and Ungar \cite{PU2000} formulated
168: multiple-round mechanisms. It is in general $NP$-hard for the
169: auctioneer to determine a set of winning bids of a combinatorial
170: auction which maximizes the revenue of the auction. To address this
171: computational difficulty, Rothkopf \etal{Peke\v{c}, and Harstad}
172: \cite{RPH1998} placed constraints on permissible bids.
173: Lehmann \etal{O'Callaghan, and Shoham}
174: \cite{LOS1999} and Fujishima \etal{Leyton-Brown, and Shoham} \cite{FLS99}
175: considered approximation algorithms. Sandholm and Suri \cite{SS2000}
176: designed \buzz{anytime} algorithms, which return a sequence of
177: monotonically improving solutions that eventually converges to optimal.
178:
179: In this paper, we propose a general framework to exploit topological
180: structures of the bids to determine the winning bids with a provably
181: good approximation ratio in linear time. The following discussion
182: uses the sale of a car
183: as a light-hearted example to explain our computational
184: problems and key concepts.
185:
186: Imagine that we are in the business of auctioning used cars. If we
187: insist on selling each car as a unit, we can sell each car to the
188: highest bidder. If we are willing to sell parts of the car, we can
189: still sell each part to the highest bidder. But suppose that some
190: bidders are only interested in buying several parts at once: Alice may
191: not want to buy a tire unless she can get the wheel that goes with it,
192: while Bob might only be interested in both rear wheels and the axle
193: between them. How do we decide which of a set of conflicting bids to
194: accept?
195:
196: We will assume that our only goal is to maximize our total
197: revenue. Then we can express this problem as a simple combinatorial
198: optimization problem. We have some universe $\objs$ of objects, and
199: our buyers supply us with a set $\allbids$ of bids. The $i$-th bid
200: consists of a subset $A_i$ of $\objs$ and a price $p_i$ that the buyer
201: is willing to pay for all of the objects in $S_i$. We would like to
202: choose a collection of bids $\bids \subseteq \allbids$ that
203: yields the best possible total price while being
204: \buzz{consistent}, in the sense that no two sets $A_i$ and $A_j$ in
205: $\bids$ overlap.
206:
207: As the auctioneer, we can construct a \buzz{bid graph} $G$ whose nodes are
208: the
209: bids and which has an edge between any two bids that share an object.
210: Then, a set of consistent bids is simply an independent set in $G$,
211: i.e., a set of nodes no two of which are connected by an
212: edge. Each node is given a weight equal to the value of the bid it
213: represents.
214:
215: Sadly, this means that
216: the problem of finding the most valuable consistent set of bids
217: is a thinly-disguised version of the
218: maximum weight independent set problem, which is not only $NP$-hard, but
219: cannot be approximated to within a ratio
220: $O(n^{1-\epsilon})$
221: for an $n$-node graph
222: unless $P = NP$ \cite{hastad1999.clique}.\footnote{
223: The fact that the bid graph is defined by the
224: intersections of a collection of sets does not by itself help; any graph can be
225: defined in this way.}
226: Even for the simplest case when all node weights are one,
227: the maximum weight independent set problem is $NP$-hard even when
228: every vertex
229: has degree at most $d$ for any $d\geq 3$, and in fact cannot be
230: approximated within a ratio of $d^{\varepsilon}$ for some
231: $\varepsilon>0$ unless $P=NP$~\cite{AlonFWZ1995}. The best known algorithm
232: (for arbitrary $d$) achieves an approximation within a factor of
233: $O(d/\log\log d)$~\cite{HalldorssonR1994}.
234: As a result, it seems hopeless if we
235: model our combinatorial auction problem as an independent set
236: problem unless we exploit the topological structure of the
237: underlying bid graph.
238:
239: Using ideas from the interval selection algorithm of
240: Berman and DasGupta
241: \cite{BermanDasGupta}, we describe in Section \ref{section-noBudgetConstraints}
242: a linear-time improvement of the greedy algorithm, called the
243: \emph{opportunity cost algorithm}, for approximating
244: maximum weight independent sets in ordered graphs.\footnote{These are
245: graphs in which the nodes have been assigned an order; as we will
246: see in Section \ref{section-ordering}, the choice of order for a given
247: bid graph can have a large effect on how good an approximation we can
248: get.}
249: We then describe a similar algorithm called the
250: \buzz{local ratio opportunity cost algorithm}, based on ideas
251: from the resource allocation algorithms of
252: Bar-Noy \etal~\cite{BarNoyetal2000}.
253: Both algorithms produce the same output, but the first has a more
254: iterative structure and is easier to implement while the second has a
255: more recursive structure and is easier to analyze.
256:
257: These opportunity cost algorithms distinguish themselves from the
258: straightforward greedy algorithm by taking into account the cost of excluding
259: previously considered neighbors of a chosen node. Since this
260: accounting requires propagating information only between neighbors, it
261: increases the running time by at most a small constant factor, and yet
262: in many cases produces a great improvement in the approximation ratio.
263: The quality of the approximation depends on the local structure of the
264: ordered input graph $G$. For each node $v$ in $G$, we examine
265: all of its successors (adjacent nodes that appear later in the
266: ordering). The maximum size of any independent set among $v$ and its
267: successors is called the \buzz{directed local independence number at
268: $v$}; we will write it as $\beta(v)$. The maximum value of
269: $\beta(v)$ over all nodes in the graph will be written as
270: $\beta(G)$,\footnote{Or simply $\beta$ when $G$ is clear from the
271: context.}
272: and is the {\it directed local independence number} of $G$. Our algorithms
273: approximate a maximum weight independent set to within a factor of
274: $\beta$. By comparison, the greedy algorithm approximates a
275: maximum weight independent set within a ratio of the maximum size of
276: any independent subset of both the predecessors and the successors of
277: any node, which in general can be much larger than $\beta$ (see
278: Section
279: \ref{section-noBudgetConstraints}).
280:
281: These new approximation results are useful only if we can exhibit interesting
282: classes of graphs for which $\beta$ is small. Graphs with $\beta=1$
283: have been extensively studied in the graph theory literature; these
284: are known as \buzz{chordal graphs}, and are precisely those graphs
285: that can be represented as intersection graphs of subtrees of a forest, a class
286: that includes both trees and interval graphs
287: (more details are given in Section \ref{section-chordal}).
288: We give additional
289: results showing how to compute upper bounds on $\beta$ for more
290: general classes of graphs in Sections \ref{section-bigger-beta}
291: and \ref{section-examples}.
292:
293: Among these tools for bounding $\beta$,
294: one of particular interest to our hypothetical combinatorial
295: auctioneer is the following generalization of the fact that
296: intersection graphs of subtrees have $\beta$ equal to one. Suppose
297: that we have an \buzz{object graph} whose nodes are objects and in
298: which an edge exists between any two objects that are relevant to each
299: other in some way. (In the car example, there might be an edge
300: between a wheel and its axle but not between a wheel and the hood
301: ornament.) We demand that the objects in each bid be \buzz{germane}
302: in the sense that they must form a connected node subset of the object
303: graph.
304: For many sparse object graphs, the intersection graph of all
305: connected sets of vertices
306: can be ordered so that a later set intersects an earlier set
307: only if it intersects a ``frontier set'' that may be much smaller than
308: the earlier set. It is immediate that $\beta$ for the intersection
309: graph is bounded by the size of the largest frontier set
310: (more details are given in
311: Lemma~\ref{lemma-intersection-graph}).
312: Examples of such graphs are those of low treewidth
313: (Theorem~\ref{theorem-treewidth}) and planar graphs
314: (Corollary~\ref{corollary-planar}).
315:
316: In Section \ref{section-budget} we show how to handle
317: more complex constraints on acceptable sets of bids.
318: We investigate scenarios where
319: bids are grouped by bidder, and that each bidder is
320: limited to some maximum number of winning bids (an \buzz{unweighted
321: budget constraint}), or some maximum total cost of winning bids (a
322: \buzz{weighted budget constraint}). By charging later bids an
323: approximate opportunity cost for earlier bids in the same budget
324: groups, we can solve these problems approximately with ratio $\beta+1$
325: with unweighted constraints and $2\beta+3$ for weighted constraints.
326: The results for unweighted budget constraints can be further
327: generalized for more complicated constraints.
328:
329: Finally, in Section~\ref{section-open} we discuss some open problems
330: suggested by the current work.
331:
332: \section{Simple combinatorial auctions}
333: \label{section-noBudgetConstraints}
334:
335: In this section, we describe our algorithms for approximating the
336: maximum weight independent set problem,
337: the opportunity cost algorithm
338: and
339: the local ratio opportunity cost algorithm .
340: Both algorithms return the same
341: approximation.
342:
343: \subsection{The opportunity cost algorithm}
344: \label{subsection-opportunityCost}
345:
346: We will write $u \pred v$ if $uv \in E$ and
347: call $u$ a \buzz{predecessor} of $v$ and $v$ a \buzz{successor} of $u$.
348: The set of all predecessors of $u$ will be written as $\delta^-(u)$
349: and the set of all successors as $\delta^+(u)$.
350:
351: Given a directed acyclic graph $G_0 = (V_0,E_0)$ with weights $\wt(v)$ for
352: each $v$ in $V$, the opportunity cost algorithm, \opcost{,} proceeds in two stages:
353:
354: \begin{enumerate}
355: \item[\oc1]
356: Traversing the nodes according to the topological order of $G_0$,
357: compute a \emph{value} $\val(u)$ for each node $u$.
358: This value represents an estimate of the
359: gain we expect by including $u$ in the independent set; it is computed
360: by taking the weight of $u$ and subtracting off an \emph{opportunity
361: cost} consisting of the values of earlier positive-value nodes
362: that conflict with $u$. Formally, let
363: \begin{equation}
364: \val(u) = \wt(u) - \sum_{v \pred u} \max(0, \val(v)).
365: \label{eqn-value}
366: \end{equation}
367:
368: \item[\oc2]
369: Processing the nodes in reverse topological order, add any node
370: with non-negative value to the desired
371: independent set $\bids$ and discard its predecessors.
372: Formally, let
373: \begin{equation}
374: \select(u) = [\val(u) \ge 0] \wedge \forall v \in \delta^{+}(u):
375: \neg \select(v).
376: \label{eqn-select}
377: \end{equation}
378: \end{enumerate}
379:
380: The output of the algorithm is the set $\bids$ defined as
381: all $u$ for which
382: $\select(u)$ is true.
383: This set $\bids$ is clearly independent.
384: In Section \ref{subsection-approxRatioNoConstraints},
385: we examine how close $\bids$ is to optimal.
386:
387: \subsection{The local ratio opportunity cost algorithm}
388: \label{subsection-localRatio}
389:
390: The \emph{local ratio technique} can be used to recursively
391: find approximate solutions
392: to
393: optimization problems over vectors in $\R^n$, subject to a set of
394: feasibility constraints. It was originally developed by Bar-Yehuda and
395: Even~\cite{BE:localratiotheorem}, and later extended by Bafna \etal{}
396: \cite{BBF:localratio}, Bar-Yehuda~\cite{BarYehuda:localratio}, and
397: Bar-Noy \etal{}~\cite{BarNoyetal2000}.
398:
399: Let $w\in\R^n$ be a \buzz{weight} vector. Let $F$ be a set of feasibility
400: constraints. A vector $x\in\R^n$ is a \buzz{feasible solution} to a
401: given problem $(F,w)$ if it satisfies all the constraints in $F$. The
402: \buzz{$w$-weight} of a feasible solution $x$ is defined to be the dot-product
403: $w\cdot x$; for $r \ge 1$, $x$ is an \buzz{$r$-approximation} with
404: respect to $(F, w)$ if $r \cdot w\cdot x \ge w\cdot x^*$, where $x^*$
405: is a feasible solution maximizing the $w$-weight. An algorithm is said
406: to have an \buzz{approximation ratio} of $r$ if it always returns an
407: $r$-approximate solution.
408:
409: %The following observation was made by Bar-Yehuda and
410: %Even~\cite{BE:localratiotheorem}:
411:
412: \begin{lemma}[Local Ratio Lemma \cite{BE:localratiotheorem}]
413: \label{lemma-local-ratio}
414: Let $F$ be a set of feasibility
415: constraints. Let $w$, $w_1$ and $w_2$ be weight vectors such that
416: $w = w_1 + w_2$. If $x$ is an $r$-approximation with respect to
417: $(F, w_1)$ and $(F, w_2)$, then $x$ is an $r$-approximation with
418: respect to $(F, w)$.
419: \end{lemma}
420:
421: We now describe the local ratio opportunity cost algorithm, \lropcost{.}
422: Given a directed acyclic graph $G_0 = (V_0, E_0)$ with
423: weights $\wt(v)$ for each $v\in V_0$, we pass $(G_0, \wt(\cdot))$ to the following recursive procedure. This procedure takes as input a graph $G$ and a weight function $w$ and proceeds as follows:
424: \begin{enumerate}
425: \item[\lr1] Delete all nodes in $G$ with non-positive weight. Let this new graph be $G_2$.
426: \item[\lr2] If $G_2$ has no nodes, return the empty set.
427: \item[\lr3] Otherwise, select a node $u$ with no predecessors
428: in $G_2$,
429: and decompose the weight function $w$ as
430: $w = w_1 + w_2$, where
431: $$
432: w_1(v) =
433: \begin{cases}
434: w(u) & \text{if $v \in \{u\}\cup \delta^+(u)$,} \\
435: 0 & \text{otherwise,}
436: \end{cases}
437: $$
438: and $w_2 = w - w_1$.
439: \item[\lr4] Solve the problem recursively using $(G_2, w_2)$ as input. Let $\bids_2$ be the approximation to a maximum weight independent set returned by this recursive call.
440: \item[\lr5] If $\bids_2 \cup \{u\}$ is an independent set, return $\bids = \bids_2
441: \cup \{u\}$. Otherwise, return $\bids = \bids_2$.
442: \end{enumerate}
443:
444: \begin{theorem}
445: \label{theorem-same}
446: \opcost{} and \lropcost{} return the same approximation to a maximum weight independent set.
447: \end{theorem}
448: \begin{proof}
449: Consider a recursive call $C$ of \lropcost{.} Let $u$ be the node that is selected to be processed in step \lr3. All of $u$'s predecessors in the original graph $G_0$ have either been processed in a previous step \lr3 or deleted in some step \lr1.
450: Therefore,
451: the current weight of $u$, $w(u)$, as seen by the recursive call $C$, is just $\val(u)$, as defined in step
452: \oc1 of \opcost{.} Furthermore, we add node $u$ to our independent set in step \oc2 if and only if we add $u$ to our independent set in step \lr5.
453: \end{proof}
454:
455:
456:
457: \subsection{Approximation ratios}
458: \label{subsection-approxRatioNoConstraints}
459:
460: \begin{theorem}
461: \label{theorem-approxRatioNoConstraints}
462: \opcost{} and \lropcost{} return a $\beta(G)$-approximation to a maximum weight independent set. Furthermore, there exist weights for which this bound is tight.
463: \end{theorem}
464: \maybe{20}{The proof is given in the full paper. The essential idea
465: is to show by induction that $\bids_2$ is
466: $\beta$-approximation with respect to $w_2$,
467: from which it follows that $\bids_2 \cup \{u\}$ is also a
468: $\beta$-approximation since $w_2(u) = 0$.
469: Showing that whichever we choose is a $\beta$-approximation with
470: respect to $w_1$ requires analyzing only the behavior of each in the
471: immediate directed neighborhood of $u$. The full result is obtained
472: by applying Lemma \ref{lemma-local-ratio}.
473: }{
474: \begin{proof} We will prove the result for \lropcost{.} The full result follows from Theorem~\ref{theorem-same}. Clearly, the returned set of nodes $\bids$
475: is an independent set. By Lemma~\ref{lemma-local-ratio}, we need only show
476: that $\bids$ is a $\beta$-approximation with respect to $w_1$ and
477: $w_2$. We will prove this by induction on the recursion. The base case
478: of the recursion is trivial, since there are no positive weight nodes.
479:
480: For the inductive step, assume that $\bids_2$ is a
481: $\beta$-approximation with respect to $w_2$. Then $\bids$ is also a
482: $\beta$-approximation with respect to $w_2$ since $w_2(u) = 0$ and
483: $\bids \subset \bids_2 \cup \{u\}$.
484:
485: To show that $\bids$ is a $\beta$-approximation with respect to $w_1$,
486: we will derive an upper bound $\beta w(u)$ on the maximum $w_1$-weight
487: independent set and a lower bound $w(u)$ on the $w_1$-weight of any
488: \emph{$u$-maximal} independent set of nodes.
489: A $u$-maximal independent
490: set of nodes either contains $u$ or adding $u$ to it violates the
491: property that it is an independent set. Our $w_1$ performance bound
492: is $\beta w(u) / w(u) = \beta$.
493: Note that only $u$ and its successor nodes will have a
494: nonzero contribution to $w_1$-weight.
495:
496: The total weight of a maximum $w_1$-weight independent set
497: is at most
498: $\beta(u)w(u) \le \beta(G) w(u) = \beta w(u)$.
499: The total weight of any
500: $u$-maximal independent set
501: is at least $w(u)$,
502: since any such set
503: contains at least one element of $u \cup \delta^+(u)$, and all such
504: nodes are assigned weight $w(u)$.
505: Since the algorithm always chooses a $u$-maximal set, its
506: $w_1$ performance bound is $\beta$.
507:
508: To show the bound is tight, pick some $v$ that maximizes
509: $\beta(v)$, and assign it weight $1$ and all of its successors
510: weight $1-\epsilon$, where $\epsilon > 0$.
511: Let every other node in $G$ have weight $0$.
512: When we run \opcost{}, the value of $v$ will be $1$, the
513: value of each of its successors will be
514: $-\epsilon$, and the value of any other node is irrelevant because it
515: has zero weight. Thus \opcost{} returns a set of total
516: weight $1$ but the maximum weight independent set has total weight at least
517: $\beta(u) \cdot (1-\epsilon)$.
518: \end{proof}
519: }% maybe
520:
521: \maybe{20}{}{
522: \subsection{Running time}
523: \label{subsection-runningTimeNoConstraints}
524:
525: \begin{theorem}
526: \label{theorem-running-time}
527: The running times of both \opcost{} and \lropcost{} are linear in the
528: size of the input graph $G_0$.
529: \end{theorem}
530: \begin{proof}
531: \opcost{} computes $\val(v)$ for each node $v$
532: in time proportional to its indegree,
533: and computes $\select(v)$ for each node
534: in time proportional to its outdegree,
535: for a total time of $O(|V_0|+|E_0|)$.
536: In the case of \lropcost{,} a recursive call is made at most once for
537: each node in the graph, and defining $w_1$ and $w_2$ in each call
538: takes time proportional to the node's outdegree, for a total running
539: time of $O(|V_0| + |E_0|)$.
540: \end{proof}
541: }
542:
543: \section{Properties of $\beta$}
544:
545: For any $v$, $\beta(v)$ is at most
546: the larger of $1$ or the outdegree of $v$.
547: Thus,
548: $\beta(G)$ is at most the larger of $1$ or the maximum
549: degree of $G$.
550: In many cases we can use the structure of $G$ to get a
551: much better bound.
552:
553: \subsection{Graphs with $\beta = 1$}
554: \label{section-chordal}
555:
556: Graphs with orientations for which
557: $\beta = 1$ can be characterized completely.
558: These are the \buzz{chordal} graphs, also known as \buzz{triangulated} graphs or
559: \buzz{rigid circuit} graphs.
560: The defining property of a chordal graph is that no cycle of
561: length $4$ or more appears as an induced subgraph.
562: A succinct discussion of these graphs, including a variety of
563: characterizations as well as several examples of interesting families
564: of chordal graphs,
565: can be found in \cite[pp.~280--281]{GLS}.
566: For our purposes the most useful of these characterizations are
567: stated in the following lemma:
568: \begin{lemma}
569: \label{lemma-chordal}
570: Let $G$ be an undirected graph. Then the following properties of $G$ are
571: equivalent:
572: \begin{enumerate}
573: \item $G$ is chordal.
574: \item $G$ is the intersection graph of subtrees of a forest.
575: \item $G$ has an ordering $G'$ for which the successors of any node form a
576: clique. Such an ordering is called a \buzz{perfect elimination
577: ordering}. Restated in terms of $\beta$, $G$ has an ordering $G'$
578: for which $\beta(G') = 1$.
579: \end{enumerate}
580: \end{lemma}
581: \begin{proof}
582: See \cite[pp.~280-281]{GLS}.
583: \end{proof}
584:
585: Chordal graphs can be recognized and ordered using a
586: specialized version of breadth-first search in
587: $O(|V|+|E|)$ time as shown by Rose \etal{} \cite{RoseTL76}, and their maximum
588: cardinality independent sets can be computed in $O(|V|+|E|)$ time
589: as shown by Gavril
590: \cite{Gavril72}. Gavril's algorithm is essentially the same as
591: step \oc1
592: of the opportunity cost algorithm; it chooses all
593: nodes with positive value and works because the sets $\{v : u \pred
594: v\}$ for each $u$ in the independent set form a clique covering.
595: However, this algorithm does not deal with weights.
596:
597: Special cases of graphs with $\beta=1$
598: include trees, interval graphs, and disjoint unions of
599: cliques. The last are particularly nice:
600:
601: \begin{lemma}
602: \label{lemma-cliques}
603: Let $G$ be a disjoint union of cliques. Then \emph{every} orientation
604: $G'$ of $G$ has $\beta(G') = 1$.
605: \end{lemma}
606: \begin{proof}
607: For each $u$ in $G'$, $\delta^+(u)$ is a clique.
608: \end{proof}
609:
610: \subsection{Graphs with larger $\beta$ values}
611: \label{section-bigger-beta}
612:
613: For general graphs, we cannot compute $\beta$ even approximately.
614: However, we can bound the $\beta$ values of many graphs using the
615: tools in this section.
616:
617: \begin{lemma}
618: \label{lemma-unions-and-subgraphs}
619: Let $G$ be a directed graph.
620: \begin{enumerate}
621: \item
622: If $G = G_1 \cup G_2$,
623: then $\beta(G) \le \beta(G_1) + \beta(G_2)$.
624: \item
625: If $G$ is a node-induced subgraph of $H$, then $\beta(G) \le \beta(H)$.
626: \end{enumerate}
627: \end{lemma}
628: \begin{proof}
629: Let $u$ be a node of $G$. Let $\delta^+(u)$, $\delta^+_1(u)$,
630: $\delta^+_2(u)$, and $\delta^+_H(u)$
631: be the set of all successors of $u$ in $G$,
632: $G_1$, and $G_2$, respectively. Let $A$ be any independent
633: subset of $\delta^+(u)$. Then
634: \begin{enumerate}
635: \item
636: $|A|
637: \le
638: |A \cap \delta^+_1(u)|
639: +
640: |A \cap \delta^+_2(u)|
641: \le
642: \beta(G_1)
643: + \beta(G_2)$, and
644: \item
645: $A$ is an independent subset of $\delta^+_H(u)$, implying $|A| \le
646: \beta(H)$.
647: \end{enumerate}
648: \end{proof}
649:
650: \suppress{
651: % old separate versions
652: \begin{lemma}
653: \label{lemma-union}
654: Let $G = G_1 \cup G_2$.
655: Then $\beta(G) \le \beta(G_1) + \beta(G_2)$.
656: \end{lemma}
657: \maybe{90}{}{
658: \begin{proof}
659: Consider some node $u \in G$. Let $\delta^+(u)$, $\delta^+_1(u)$, and
660: $\delta^+_2(u)$ be the set of all successors of $u$ in $G$,
661: $G_1$, and $G_2$, respectively. Let $A$ be a maximum independent
662: set in $\delta^+(u)$. Then
663: $|A|
664: \le
665: |A \cap \delta^+_1(u)|
666: +
667: |A \cap \delta^+_2(u)|
668: \le
669: \beta(G_1)
670: + \beta(G_2).$
671: \end{proof}
672: }
673:
674: \begin{lemma}
675: \label{lemma-subgraph}
676: If $G$ is a node-induced subgraph of $H$, then $\beta(G) \le \beta(H)$.
677: \end{lemma}
678: \maybe{90}{}{
679: \begin{proof}
680: Consider some node $u \in G$. Let $A$ be a maximal independent
681: subset of the set $\delta^+_G(u)$ of successors of $u$ in $G$. Then
682: $A$ is also an independent subset of the set $\delta^+_H(u)$ of
683: successors of $u$ in $H$.
684: \end{proof}
685: }
686: }
687:
688: \maybe{110}{}{
689: The following technical lemma will be useful for bounding $\beta$ for
690: intersection graphs.
691: }
692:
693: \begin{lemma}
694: \label{lemma-intersection-graph}
695: Let $G$ be the intersection graph of a set system $\allbids$ whose
696: union is $\objs$.
697: Let $G$ be ordered by an ordering $<$ such that for each
698: $A \in \allbids{}$ there exists a ``frontier set'' $S_A \subseteq U$
699: of size at most $k$,
700: so that if
701: $A < B$ and $A \cap B \ne \emptyset$, then
702: $S_A \cap B \ne \emptyset$.
703: Then $\beta(G) \le k$.
704: (Note that $S_A$ need not be contained in $A$.)
705: \end{lemma}
706: \maybe{60}{}{
707: \begin{proof}
708: Let $B_1, \ldots, B_l$ be some independent set of successors of $A$.
709: Under the conditions of the lemma each $B_i$ intersects $S_A$. But
710: since the $B_i$ do not themselves intersect, each must intersect $S_A$
711: in a distinct element. Thus there are at most $k$ of them.
712: \end{proof}
713: }
714:
715: \maybe{60}{The converse of Lemma \ref{lemma-intersection-graph}
716: does not hold, although we
717: observe in the full paper that a result
718: similar to the converse holds if independence
719: number is replaced by clique covering number in the definition of
720: $\beta$.
721: }{
722: The converse of the lemma does not hold.
723: Instead, its proof
724: shows that the \buzz{clique covering number} $\overline{\chi}$ of
725: $\delta^+(A)$
726: % this is standard notation in graph theory
727: (defined as
728: the minimum size of any set of cliques whose union is $\delta^+(A)$)
729: is at most $k$, since the set of all $B$ that intersect
730: $S_A$ at any particular element form a clique.
731: Note that \emph{any} directed acyclic graph in which
732: $\overline{\chi}(\delta^+(v))$ is bounded can be represented as an
733: intersection graph with small frontier sets as in
734: Lemma~\ref{lemma-intersection-graph},\footnote{The trick is to add a new common element to all
735: members of
736: each clique, and let $S_A$ be the set of all such
737: new elements for the cliques that cover $\delta^+(A)$.}
738: in general the
739: independence number of $\delta^+(v)$
740: may be smaller than the clique
741: covering number.
742: }
743:
744: When $\allbids{}$ consists of
745: connected node subsets of some graph $H$, we can obtain good orderings of
746: the intersection graph $G$ of $\allbids{}$ by exploiting the structure of $H$.
747: \suppress{
748: %This is a little misleading in the current context---Jim.
749: In particular, we can
750: generalize one direction of Lemma~\ref{lemma-chordal}, by showing that
751: $H$ itself has low $\beta(H)$ whenever it has low treewidth.}
752:
753: We start by reviewing the definition of treewidth.
754: A \buzz{tree decomposition} of an \emph{undirected}
755: graph $H = (V,E)$ consists of a tree $T$ and a
756: family of sets ${\cal V} = \{V_t\}$ where $t$ ranges over nodes of $T$,
757: satisfying the following three properties:
758: \begin{enumerate}
759: \item $\bigcup_{t\in T} V_t = V$.
760: \item For every edge $uv$ in $E$, there is some $V_t$ that contains
761: both $u$ and $v$.
762: \item If $t_2$ lies on the unique path from $t_1$ to $t_3$ in $T$,
763: then $V_{t_1} \cap V_{t_3} \subseteq V_{t_2}$.
764: \end{enumerate}
765:
766: The \buzz{width} of a tree decomposition $(T, {\cal V})$ is $\max
767: |V_t|-1$. The \buzz{treewidth} $\tw(H)$ of a graph $H$ is the
768: smallest width of any tree decomposition of $H$.
769:
770: \begin{theorem}
771: \label{theorem-treewidth}
772: If $G$ is an intersection graph of connected node subsets $\allbids{}$
773: of some graph
774: $H$ with treewidth $k$, then there is an orientation $G'$ of $G$ with
775: $\beta(G') \le k+1$.
776: Given $\allbids{} = \{A_i\}$ and a tree decomposition
777: $(T, {\cal V} = \{V_t\})$
778: of $H$, this orientation can
779: be computed in time $O(\sum_i |A_i| + |T| + \sum_t |V_t|)$, which is
780: linear in the size of the input.
781: \end{theorem}
782: \maybe{100}{
783: \maybe{10}{}{The proof is given in the full paper.
784: The intuition is that with an appropriate ordering
785: we can
786: get frontier sets for Lemma \ref{lemma-intersection-graph} from
787: cuts in the tree.}}{
788: \begin{proof}
789: Let $(T, {\cal V})$ be a tree decomposition of $H$ with width $k$. We
790: will use this tree decomposition to construct an ordering of the
791: connected node subsets of $H$, with the property that if $A < B$ then
792: either $A \cap B = \emptyset$ or $B$ intersects some frontier
793: set $S_A$ with at most $k+1$ elements.
794: The full result then follows from Lemma \ref{lemma-intersection-graph}.
795:
796: Choose an arbitrary root $r$ for $T$, and let $t_1 \ge t_2$ if
797: $t_1$ is an ancestor of $t_2$ in the resulting rooted tree.
798: Extend the resulting partial order to an arbitrary linear order.
799: For each connected node subset $A$ of $H$, let
800: $t_A$ be the greatest node in $T$ for which $V_{t_A}$ intersects $A$.
801: Given two connected node subsets $A$ and $B$ of $H$, let $A < B$ if $t_A <
802: t_B$ and extend the resulting partial order to any linear order.
803:
804: Ordering $T$ can be done in $O(|T|)$ time using depth first search.
805: We can then compute and the maximum node in $T$ containing each node
806: of $H$ in time $O(\sum_t V_t)$ by considering each $V_t$ in order.
807: The final step of ordering the $A_i$ in the given set system ${\cal
808: S}$ takes $O(\sum_i |A_i|)$ time, since we must examine each element
809: of each $A_i$ to find the maximum one. The total running time is thus
810: linear in the size of the input.
811:
812: Now suppose $A \le B$ in this ordering. We will show that any such $B$
813: intersects $V_{t_A}$, and thus that $V_{t_A}$ is our desired frontier set
814: $S_A$.
815: There are two cases.
816:
817: If $t_A = t_B$, we are done.
818:
819: The case $t_A < t_B$ is more complicated.
820: We will make heavy use of a lemma from \cite{RobertsonS86}, which
821: concern the effect of removing some node $t$ from $T$.
822: Their Lemma 2.3 implies that if
823: $x,x'$ are not in $V_t$, then either $x$ and $x'$ are separated in $H$
824: by $V_t$ or $x$ and $x'$ are in the same branch (connected component)
825: of $T-t$.
826:
827: Let $p$ be the parent of $t_A$ (which exists because $t_A$ is not
828: the greatest element in the tree ordering).
829: We have $A \cap V_p = \emptyset$ since $p > t_A$.
830: Since $A$ is a connected set, it cannot be separated without removing
831: any of its nodes; thus by Lemma 2.3 every element of $A$ is in the
832: same branch of $T-p$, which consists precisely of the subtree of $T$
833: rooted at $t_A$.
834:
835: Now $B$ contains at least one node $x$ in
836: the vertex set of an element of
837: the subtree rooted at $t_A$, and at least one node $x'$ in $V_{t_B}$,
838: which is not in this subtree because $t_B > t_A$.
839: So by Lemma 2.3 of \cite{RobertsonS86}, either one of $x,x'$ is in
840: $V_{t_A}$ or $B$ is separated by $V_{t_A}$. In the latter case $B$
841: intersects $V_{t_A}$ since $B$ is also connected.
842: \end{proof}
843: }
844:
845: Applying Theorem~\ref{theorem-treewidth} to planar graphs gives:
846:
847: \begin{corollary}
848: \label{corollary-planar}
849: If $G$ is the intersection graph of a family $\allbids{}$ of
850: connected node subsets
851: of a planar graph $H$ with $n$ nodes,
852: then there is an orientation $G'$ of $G$ with
853: $\beta(G') = O(\sqrt{n})$.
854: Given $H$,
855: a data structure of size $O(n)$ can be precomputed in
856: time $O(n \log n)$
857: that allows this orientation $G'$ to be computed for
858: any
859: $\allbids{} = \{A_i\}$
860: in time $O(\sum_i |A_i|)$.
861: \suppress{%old version
862: If $G$ is an intersection graph of connected node subsets of a planar
863: graph $H$ with $n$ nodes, then there is an orientation $G'$ of $G$
864: with $\beta = O(\sqrt{n})$.}
865: \end{corollary}
866: \begin{proof}
867: Reed~\cite{Reed92} gives a recursive $O(n \log n)$
868: algorithm for computing tree
869: decompositions of constant-treewidth graphs based on a linear time
870: algorithm for finding approximate separators for small node subsets.
871: Replacing this separator-finding subroutine with the linear time algorithm
872: of Lipton and Tarjan~\cite{LiptonT79} gives
873: an $O(n \log n)$ time algorithm for computing a tree decomposition of
874: a planar graph. Since each separator has size at most $k = O(\sqrt{n})$, the
875: resulting tree decomposition has width at most $4k = O(\sqrt{n})$ by
876: Theorem~1 of \cite{Reed92}.
877:
878: Since all we need to compute a good ordering of $\allbids$ is the
879: ordering of the $n$ nodes, we can compute this ordering as described
880: in the proof of Theorem~\ref{theorem-treewidth} and represent it in
881: $O(n)$ space by assigning each node an index in the range $1$ to $n$.
882: Ordering $\allbids$ then takes linear time as described in the proof
883: of Theorem~\ref{theorem-treewidth}.
884: \end{proof}
885:
886: \subsection{Examples}
887: \label{section-examples}
888:
889: Applying the results of Sections~\ref{section-chordal} and
890: \ref{section-bigger-beta} gives:
891:
892: \begin{enumerate}
893: \item A linear-time
894: algorithm for finding a maximum weight independent set
895: of an interval graph, since $\beta(G) =
896: 1$ by Lemma \ref{lemma-chordal}, and since chordal graphs can be
897: recognized and ordered in linear time using the work of
898: Rose \etal{}~\cite{RoseTL76}.
899:
900: While the maximum independent set problem is easily solved for this
901: case (for example, by using
902: the linear time interval graph recognition
903: algorithm of Hsu and Ma~\cite{HM1999}
904: followed by a simple application of dynamic programming)
905: this is an
906: example of how our general method yields good algorithms as special
907: cases.
908: \item As another
909: special case, a 2-approximation algorithm for
910: interval selection of Berman and DasGupta\cite{BermanDasGupta}.
911: Here intervals are
912: partitioned into groups and we must choose non-overlapping intervals
913: with at most one per group.
914: The bid graph $G$ is of the form
915: $G_1 \cup G_2$
916: where
917: $G_1$
918: is an interval graph
919: and
920: $G_2$
921: is a disjoint union of cliques, one for each group.
922: Thus $\beta(G)=2$ by
923: Lemmas \ref{lemma-chordal}, \ref{lemma-cliques}, and
924: \ref{lemma-unions-and-subgraphs}.
925: \item
926: A 3-approximation algorithm for ``double auction'' interval selection
927: where each interval has both a seller and a buyer, and at most one
928: interval per seller or buyer may be selected. This is the same as the
929: previous case except the graph is now $G_1 \cup G_2 \cup G_3$
930: where
931: $G_2$ and $G_3$ are both disjoint unions of cliques.
932: \item
933: In general, a mechanism for taking \emph{any} bid graph with
934: $\beta = k$ and adding up to $m$ such unique-selection constraints
935: to get a $(k+m)$-approximation algorithm by
936: repeated applications
937: of
938: Lemmas \ref{lemma-cliques} and \ref{lemma-unions-and-subgraphs}.
939: So for example we get a 3-approximation algorithm for
940: maximum weight three-dimensional matching and a 4-approximation
941: algorithm for auctioning off tracts of undeveloped
942: land spanning intervals where each
943: tract must be
944: acceptable to a seller who provides it, a builder who will develop it, and a buyer who will ultimately purchase both the land and the buildings developed
945: on it.
946: \item
947: An algorithm to $k$-approximate a maximum weight independent set of
948: any subgraph of a $k$-dimensional rectangular grid.
949: Orient each edge to leave the point whose
950: coordinates have a smaller sum, giving $\beta \le k$.
951: \item
952: A linear-time algorithm for $2$-approximating a maximum weight
953: independent set of the intersection graph
954: of intervals on a cycle.
955: This follows from Lemma \ref{lemma-intersection-graph}: order
956: connected node subsets by inclusion, extend to a linear order $\prec$,
957: and observe
958: that if $A \prec B$ and $A$ intersects $B$ then $B$ intersects one of
959: $A$'s two endpoints.\footnote{One
960: can do better by breaking the cycle to reduce it to a standard
961: interval graph problem (see, for example, the approach taken by
962: \cite{BarNoyetal2000}), but the $2$-approximation shows how one can
963: still do reasonably well with our general algorithms \opcost{} and
964: \lropcost{}.}
965: \item An algorithm for
966: intersection graphs of bounded-height rectangles in a discrete
967: 2D
968: grid.
969: Order the rectangles by their largest $x$-coordinate, and make the
970: rightmost grid points of each rectangle be its frontier set in the
971: sense of Lemma \ref{lemma-intersection-graph}. If each rectangle is at most
972: $h$ tall, there are at most $h$ grid points in each frontier.
973: This generalizes in the obvious way to higher
974: dimensions given bounds on all but one of the coordinates, in which
975: case
976: the approximation ratio becomes the product of the bounds.
977: \end{enumerate}
978:
979: \subsection{Hardness of computing $\beta$}
980: \label{section-hardness}
981:
982: The difficulty of even approximating the independence
983: number of a graph extends to the directed local independence number.
984:
985:
986: \begin{theorem}
987: \label{theorem-np-hard}
988: Any algorithm that can approximate $\beta(G)$ for an $n$-node
989: directed
990: acyclic graph $G$ with a ratio of
991: $f(n)$ can be used to approximate the size $\alpha(H)$ of a maximum
992: independent set of an undirected $n$-node graph $H$ with ratio
993: $f(n+1)$.
994: Thus by H{\aa}stad's bound on approximating a maximum clique
995: \cite{hastad1999.clique}, we cannot approximate $\beta$
996: by $O(n^{1-\epsilon})$ unless $P=NP$.
997: \end{theorem}
998: \maybe{80}{}{
999: \begin{proof}
1000: Given an undirected $n$-node graph $H$, construct an $(n+1)$-node
1001: directed acyclic graph
1002: $G$ by (a) directing
1003: the edges of $H$ in any consistent order, and (b) adding a new
1004: source node $s$ to $H$ with edges from $s$ to every node in $H$.
1005:
1006: Let $I$ be an independent set in $H$. Then every node in $I$ is a
1007: successor of $s$ in $G$, and furthermore these nodes are all
1008: independent. It follows that $\beta(G) \ge \beta(s) \ge \alpha(H)$.
1009:
1010: Conversely, if $I'$ is an independent set of successors of some node
1011: $v$ in $H$, it cannot contain $s$ (since $s$ is not a successor of any
1012: node), and thus $I'$ is also an independent set in $H$. So we have
1013: $\alpha(H) \ge \beta(G)$.
1014: \end{proof}
1015: }
1016:
1017:
1018: \subsection{Effects of node ordering}
1019: \label{section-ordering}
1020:
1021: % Quibble: This doesn't really fall under properties of $\beta$
1022:
1023: The performance of the opportunity cost
1024: algorithm is strongly sensitive to the order in
1025: which the nodes are processed, as this affects the value of
1026: $\beta(u)$ for each node $u$. For many of the examples given in
1027: the Section \ref{section-examples},
1028: a good ordering is provided by the structure of
1029: the problem. But what happens in a general graph?
1030: \maybe{10}{In the full paper, we show (a) with the best ordering,
1031: the opportunity cost algorithm is optimal, and (b) with the worst
1032: ordering, the algorithm produces the same answer as the greedy
1033: algorithm.}{
1034:
1035: \begin{theorem}
1036: \label{theorem-order-opt}
1037: For any graph $G$ with given weights,
1038: there exists an orientation $G'$ of $G$ for which
1039: both \opcost{} and \lropcost{}
1040: output a maximum independent set of $G$.
1041: \end{theorem}
1042: \maybe{60}{}{
1043: \begin{proof}
1044: Let $A$ be any independent set in $G$. Choose
1045: the ordering so that all nodes in $A$ precede all nodes not in $A$.
1046: Then for any $u \in A$, $u$ has no predecessors in the oriented graph
1047: and $\val(u) = \wt(u)$.
1048:
1049: Let $A'$ be the independent set computed by the algorithm.
1050: If $u$ is in $A$ but not $A'$, it must have a successor $v$ in $A'-A$
1051: with non-negative value.
1052: Since the value of each $v$ is its weight less the
1053: weight of all its
1054: neighbors in $A$,
1055: the total weight of all elements
1056: of $A'-A$ must exceed the total weight of all elements in $A-A'$,
1057: and we have
1058: $\wt(A') = \wt(A'-A) + \wt(A' \cap A) \geq \wt(A-A') + \wt(A' \cap A)
1059: = \wt(A)$.
1060: \end{proof}
1061: }
1062:
1063: \maybe{50}{}{
1064: In a sense what Theorem~\ref{theorem-order-opt}
1065: shows is that finding a good ordering of a
1066: general graph is equivalent to solving the
1067: maximum weight independent set problem.
1068: This is not surprising since evaluating $\beta(u)$ for even a
1069: single node $u$ requires solving this problem. It follows that to
1070: get small approximation ratios we really do need to exploit some
1071: special property of
1072: the given graph.
1073:
1074: In the other direction, we can show that there exist orderings that are
1075: not very good:
1076: }
1077:
1078: \begin{theorem}
1079: \label{theorem-order-greedy}
1080: If all nodes in a graph $G$ have distinct weights, orienting $G$ in
1081: order of decreasing weight causes \opcost{} and \lropcost{}
1082: to return the same independent set as
1083: the greedy algorithm.
1084: \end{theorem}
1085: \maybe{80}{}{
1086: \begin{proof}
1087: We will prove the result for \opcost{}; by Theorem~\ref{theorem-same}
1088: the same result holds for \lropcost{}.
1089:
1090: Let $\pi$ order the nodes in order of
1091: decreasing weight. Let us show by induction on $\pi$ that if
1092: the greedy algorithm chooses a node $v$, then $\val(v) = \wt(v)$; but
1093: if the greedy algorithm does not choose $v$, then $\val(v) < 0$.
1094: Suppose we are processing some node $v$ and that this induction
1095: hypothesis holds for all nodes previously processed. If the greedy
1096: algorithm picks $v$, then all $v$'s predecessors were not chosen and
1097: have negative value, and $\val(v) = \wt(v)$.
1098: If the greedy algorithm does not pick $v$, it is because
1099: it chose some $u \pred v$; now $\val(v) \le \wt(v) - \val(u) = \wt(v)
1100: - \wt(u) < 0$.
1101:
1102: Since the only nodes with non-negative weights are those chosen by the
1103: greedy algorithm, \opcost{} selects them as its output.
1104: \end{proof}
1105: }
1106: }
1107:
1108:
1109:
1110:
1111: \section{Auctions with budget constraints}
1112: \label{section-budget}
1113:
1114: Consider the following bidding scenarios:
1115:
1116: \begin{enumerate}
1117: \item A bidder whose car has broken down wants to buy
1118: either a new engine, a new car, or an umbrella and a taxi ride
1119: home, but doesn't particularly care which. However, she has no
1120: interest in winning more than one of these bids.
1121:
1122: \item Another bidder wants to buy at most three 1968 Volkswagen
1123: Beetle hood ornaments, but she would like to bid on all that are available
1124: so as not to miss any.
1125:
1126: \item Yet another bidder has only \$100 in cash, but would like to
1127: place multiple bids totaling more than \$100, with the understanding that she
1128: can only win bids up to her budget.
1129: \end{enumerate}
1130:
1131: All of these are examples of \buzz{budget constraints}, in which bids in some group consume a common scarce resource. We would like to extend our algorithms to handle such constraints, which are natural in real-world bidding situations.
1132:
1133: The first scenario is an example of a \buzz{1-of-$n$} constraint, where
1134: at most one of a set of $n$ bids can be accepted.
1135: This special case can be handled by
1136: modifying $G$ by forming a clique out of all bids in each set $S_i$;
1137: under the assumption that the $S_i$ are disjoint, this increases
1138: $\beta$ by at most $1$ (using Lemmas \ref{lemma-cliques} and
1139: \ref{lemma-unions-and-subgraphs}).
1140: The second scenario depicts a more general \buzz{$k$-of-$n$} constraint.
1141: Such constraints are handled by extending our algorithms
1142: to account for the possible revenue loss from bids that cannot be
1143: selected because the budget constraint has been exceeded.
1144: Again, the approximation ratio rises by $1$.
1145: We refer to both 1-of-$n$ and $k$-of-$n$ constraints as
1146: \buzz{unweighted budget constraints}, as each bid consumes a single
1147: unit of the budget.
1148:
1149: \buzz{Weighted budget constraints}, exemplified by the third scenario, are
1150: more complicated. With such constraints, we must ensure that the sum
1151: of the weights of accepted bids in some group $S$ is at most some
1152: bound $b$.
1153: A complication arises because
1154: a maximal allowed set of bids might only
1155: fill half of a budget limit. With some additional
1156: modifications to our algorithms, we get a performance bound of
1157: $2\beta+3$.
1158:
1159:
1160: \subsection{Unweighted budget constraints}
1161: \label{section-unweighted}
1162:
1163: Suppose the bids are partitioned into groups $S_1,\ldots,S_r$ and that
1164: no more than $k_i$ bids may be selected from $S_i$, for $1\le i\le
1165: r$. For each bid $u$, let $g(u)$ denote the index of the group to
1166: which $u$ belongs and let $S_u = S_{g(u)}$ and $k_u = k_{g(u)}$.
1167:
1168: \unweighted{\opcost{}} is an extension of \opcost{} to handle unweighted budget constraints. It has a similar two-step structure.
1169:
1170: In the first step, like \oc1, we traverse the nodes in topological order and compute a value for each node. We must extend the definition of value for each node to account for the \emph{possible} revenue loss from previously processed bids that may not be selected in the second step because of the budget constraint:
1171: \begin{equation}
1172: \label{eqn-unweighted-value}
1173: \val(u)
1174: = \wt(u) - \sum_{v\rightarrow u}\max(0, \val(v)) -
1175: \frac{1}{k_u}\cdot\sum_{v\in S_u-\{u\}, v < u} \max(0, \val(v)),
1176: \end{equation}
1177: where the notation $v < u$ means that $v$ has already been processed
1178: (before $u$). Note that the inclusion of $u$ in the set of winning bids
1179: does not necessarily preclude previously processed bids in $S_u$ from
1180: also being selected---they may also be selected if the budget $k_u$
1181: allows. The coefficient $\frac{1}{k_u}$ scales the opportunity cost to account for this fact.
1182:
1183: In the second step, like \oc2, we traverse the bid graph in
1184: reverse topological order,
1185: selecting nodes of positive value whose addition to those already
1186: selected does not violate the independence or budget constraints.
1187:
1188: \maybe{50}{We define the unweighted-budget-constraint local ratio
1189: opportunity cost algorithm similarly (more details are given in the
1190: full paper.)}{
1191: \unweighted{\lropcost{}} solves the same problem using the local ratio technique.
1192: It follows the same structure as \lropcost{.} We begin by deleting all non-positive weight nodes from the graph. If any nodes remain, we select a node $u$ with no predecessors, and decompose the weight function into $w = w_1 + w_2$. This time, the decomposition must account for bids that are in the same budget group. We define
1193: $$ w_1(v) =
1194: \begin{cases}
1195: w(u) & \text{if $v\in \{u\} \cup \delta^+(u)$,} \\
1196: \frac{1}{k_u} w(u) &\text{if $v \in S_u - \{u\}$,} \\
1197: 0 & \text{otherwise,}
1198: \end{cases}
1199: $$
1200: and recursively solve the problem using $w_2$ as the weight function. After the recursive call, we must decide if we should add $u$ to the set of winning bids $\bids_2$. In \lropcost{,} we added $u$ to $\bids_2$ if and only if $\bids_2 \cup \{u\}$ was an independent set. In this algorithm, we must also ensure that the budget constraints are satisfied before adding $u$ to $\bids_2$. We say that a set of bids is \emph{feasible} if they form an independent set and the budget constraints are satisfied.
1201: }
1202:
1203: \begin{theorem}
1204: \label{theorem-unweighted}
1205: Given a directed bid graph $G$, a partition of the nodes of $G$ into
1206: nonempty subsets
1207: $S_1,\ldots,S_r$, and an unweighted budget constraint $k_i$ for each $S_i$,
1208: \begin{enumerate}
1209: \item
1210: \unweighted{\opcost{}} and \unweighted{\lropcost{}} return the same
1211: approximation to a revenue maximizing set of bids.
1212: \item
1213: \unweighted{\opcost{}} and \unweighted{\lropcost{}} $(\beta(G) + 1)$-approximate
1214: an optimal set of bids.
1215: \item
1216: \unweighted{\opcost{}} and \unweighted{\lropcost{}}
1217: run in time linear in the size of $G$.
1218: \end{enumerate}
1219: \end{theorem}
1220: \begin{proof}
1221: The proof that both algorithms return the same approximation is
1222: similar to the proof of Theorem~\ref{theorem-same}.
1223:
1224: The proof of the approximation ratio follows the same structure as
1225: the proof of Theorem~\ref{theorem-approxRatioNoConstraints}. We prove
1226: the result for \unweighted{\lropcost{.}} By
1227: Lemma~\ref{lemma-local-ratio}, we
1228: need only show that the returned set of bids $\bids$ is a $(\beta +
1229: 1)$-approximation with respect to $w_2$ and $w_1$. We do this using
1230: induction on the recursion. The fact that $\bids$ is a $(\beta +
1231: 1)$-approximation with respect to $w_2$ follows trivially from the
1232: inductive assumption.
1233:
1234: In the case of $w_1$, we will derive an upper bound $U$ on the maximum $w_1$-weight of a set of feasible bids and a lower bound $L$ on the $w_1$-weight of any \emph{$u$-maximal} set of bids. A $u$-maximal set of bids either contains $u$ or adding $u$ to it would violate the feasibility constraints. In the case of a set of feasible bids, its total $w_1$-weight is at most
1235: $\beta(u)w(u) + \frac{k_u}{k_u} w(u) \le w(u)(\beta + 1) = U$, since the only nonzero contribution to $w_1$-weight comes from $\delta^+(u)$ and $S_u$. In the case of a $u$-maximal set of bids, if $u$ cannot be added to the set, then either (1) a successor of $u$ is already in the set, in which case the total $w_1$-weight is at least $w(u)$, or (2) the budget constraint is exceeded, in which case the total $w_1$-weight is at least $w(u)$. Therefore, the $w_1$-weight of these bids is at least $w(u)$ and the $w_1$ performance bound is
1236: $$
1237: \frac{U}{L} = \frac{w(u)(\beta + 1)}{w(u)} = \beta + 1.
1238: $$
1239:
1240: The proof of the running time is similar to the proof of
1241: Theorem~\ref{theorem-running-time}.
1242: All of the steps that \unweighted{\opcost{}} and
1243: \unweighted{\lropcost{}}
1244: share with \opcost{} and \lropcost{} take linear time.
1245: \unweighted{\opcost{}} adds the cost of computing the last term in
1246: (\ref{eqn-unweighted-value}).
1247: Storing
1248: $\sum_{v \in S_i} \max(0, \val(v))$ in a variable $\Delta_{S_i}$
1249: for each $S_i$ allows this term
1250: to be computed in time $O(1)$ for each node, with an additional $O(1)$
1251: cost per node to update the appropriate $S_i$.
1252: The same technique allows budget constraints to be tested in $O(1)$
1253: time per node during the second step.
1254: Thus the additional time is linear.
1255:
1256: The corresponding modification to \unweighted{\lropcost{}} similarly adds
1257: only linear time.
1258: Rather than updating the weight of each node $v$
1259: before each recursive call, we will compute the ``current'' weight of
1260: each node $v$ as it is required, subtracting off the total weight
1261: $\Delta_{S_v}$ of all
1262: previously-processed nodes in $S_v$ as in \unweighted\opcost{}.
1263: \end{proof}
1264:
1265: \maybe{20}{The above analysis assumes that the budget constraints
1266: partition the bids. For some applications (e.g., bids involving
1267: matching up buyers with sellers), we may have overlapping constraints.
1268: Overlapping constraints may also be used to handle bids for identical
1269: items in limited supply, by
1270: grouping all bids asking for copies of the same item together.
1271:
1272: In the full paper we give an extended version of the unweighted budget
1273: algorithm, and show:
1274: \begin{theorem}
1275: \label{theorem-overlapping-unweighted}
1276: Given a bid graph $G$ and a set of unweighted budget constraints with
1277: maximum overlap $t$, the extended unweighted budget algorithm
1278: approximates the optimal set of bids within $\beta(G) + t$.
1279: \end{theorem}
1280: }{
1281: \subsection{Overlapping unweighted constraints}
1282: \label{section-overlapping}
1283:
1284: The analysis in Section~\ref{section-unweighted}
1285: assumes that the budget constraints
1286: partition the bids. For some applications (e.g., bids involving
1287: matching up buyers with sellers), we may have overlapping constraints.
1288: Overlapping constraints may also be used to handle bids for identical
1289: items in limited supply, by
1290: grouping all bids asking for copies of the same item together. The algorithms described above can be generalized to handle overlapping constraints.
1291:
1292: Suppose we have a family of $r$ sets of bids
1293: $\mathcal{S} = \{S_1,\ldots, S_r\}$,
1294: that each bid appears in at most $t$ of these sets, and
1295: that at most $k_i$ bids may be accepted from set $S_i$.
1296:
1297: In \overlapping{\unweighted{\opcost{,}}} when computing the value of a node $u$, we need to account for the possible revenue loss from nodes in each set that $u$ belongs to:
1298: $$
1299: \val(u)
1300: = \wt(u)
1301: - \sum_{v\rightarrow u}\max(0, \val(v))
1302: -
1303: \sum_{
1304: 1\le i \le r,
1305: u \in S_i
1306: }
1307: \left(
1308: \frac{1}{k^i}\sum_{
1309: v\in S_u,
1310: v < u
1311: }\max(0, \val(v))\right).
1312: $$
1313: The rest of the algorithm is the same as \unweighted{\opcost{.}}
1314:
1315: In \overlapping{\unweighted{\lropcost{,}}} the only change from \unweighted{\lropcost{}} is in the decomposition of the weight function. We decompose it as
1316: $$ w_1(v) =
1317: \begin{cases}
1318: w(u) & \text{if $v\in \{u\} \cup \delta^+(u)$,} \\
1319: \sum_{1\le i\le r, u,v\in S_i}\frac{1}{k_i} w(u) &\text{if there exist $S_i$ containing both $u$ and $v$,} \\
1320: 0 &\text{otherwise.}
1321: \end{cases}
1322: $$
1323:
1324: \begin{theorem}
1325: \label{theorem-overlapping-unweighted}
1326: Given a directed bid graph $G = (V,E)$, a family of nonempty node subsets
1327: $S_1,\ldots,S_r$, where each node appears in at most $t$ of the $S_i$,
1328: and an unweighted budget constraint $k_i$ for each $S_i$,
1329: \begin{enumerate}
1330: \item
1331: \overlapping{\unweighted{\opcost{}}} and
1332: \overlapping{\unweighted{\lropcost{}}} return the same
1333: approximation to a revenue maximizing set of bids.
1334: \item
1335: \begin{sloppypar}
1336: \overlapping{\unweighted{\opcost{}}} and
1337: \overlapping{\unweighted{\lropcost{}}}
1338: \mbox{$(\beta(G) + t)$-approximate}
1339: an optimal set of bids.
1340: \end{sloppypar}
1341: \item
1342: \overlapping{\unweighted{\opcost{}}} and
1343: \overlapping{\unweighted{\lropcost{}}}
1344: run in time $O(|V|t + |E|)$
1345: \end{enumerate}
1346: \end{theorem}
1347: \begin{proof}
1348: Similar to the proof of Theorem~\ref{theorem-unweighted}.
1349: The additional $O(|V|t)$ term comes from having to apply up to $t$
1350: budget constraints to each node; since $\sum_{i} |S_i| \leq |V|t$,
1351: this term also covers the cost of reading the $S_i$ from the input and
1352: initializing the variables for each subset.
1353: \end{proof}
1354: }
1355:
1356: \subsection{Weighted budget constraints}
1357:
1358: Suppose that bids are partitioned into groups $S_1,\ldots,S_r$ and
1359: that the total value of the winning bids from group $i$ can be no more
1360: than $b_i$. For each bid $u$, let $g(u)$ denote the index of the group
1361: to which $u$ belongs and let $S_u = S_{g(u)}$ and $b_u = b_{g(u)}$.
1362:
1363: This case is more complicated than the unweighted case. The difficulty
1364: arises when estimating a lower bound on the $w_1$-weight of a
1365: $u$-maximal set of bids $S$. If $u$ cannot be added to the set because
1366: the budget constraint will be exceeded, the $w_1$-weight of $S$ can be
1367: as small as $\epsilon$, if $w_1(u) = b_u$.
1368:
1369: \maybe{20}{
1370:
1371: We solve this problem by running the algorithm separately for
1372: ``heavy'' bids with $w(v) > \frac{1}{2}b_v$ and ``light'' bids with
1373: $w(v) \le \frac{1}{2}b_v$. Because a bidder can win at most one heavy
1374: bid, we can approximate the best choice of such bids within $\beta+1$
1375: using the unweighted-budget algorithm of
1376: Section~\ref{section-unweighted}.
1377: For light bids, we use a variant of the algorithm where
1378: the $\frac{1}{k_u}$ multiplier is replaced by $\frac{2}{b_u}$, which
1379: we show gives a $\beta+2$ approximation. We then take the better
1380: solution, to get a $2\beta+3$ approximation overall.
1381:
1382: }{
1383:
1384: We will describe changes required to \lropcost{} to
1385: handle this case. Corresponding changes can be made to \opcost{.}
1386: We will run variations of the algorithm twice, once for the \emph{heavy}
1387: bids $v$ with $w(v) > \frac{1}{2}b_v$ and once for the \emph{light}
1388: bids $v$ with $w(v) \le \frac{1}{2}b_v$. We then return the
1389: better of the two solutions.
1390:
1391: In \heavy\weighted\lropcost{,} we put an unweighted budget constraint of 1 on each bidder and run \unweighted\lropcost{.}
1392:
1393: \begin{lemma}
1394: \label{lemma-heavy}
1395: \heavy\weighted\lropcost{} $(\beta+1)$-approximates an optimal
1396: set of
1397: heavy bids.
1398: \end{lemma}
1399: \begin{proof}
1400: Since each heavy bid consumes more than half a bidder's budget, each
1401: bidder can win at most one bid. This is just a simple unweighted
1402: budget constraint and can be solved as described in Section
1403: \ref{section-unweighted} for a performance bound of $\beta + 1$.
1404: \end{proof}
1405:
1406: In \light\weighted\lropcost{,} when decomposing the weight function, we set
1407: $$
1408: w_1(v) =
1409: \begin{cases}
1410: w(u) & \text{if $v \in \{u\} \cup \delta^+(u)$,} \\
1411: \frac{2}{b_u} w(v) w(u) &\text{if $v \in S_u - \{u\}$,} \\
1412: 0 & \text{otherwise.}
1413: \end{cases}
1414: $$
1415: \maybe{50}{In the full paper, we show that the light-bid algorithm
1416: approximates the best light-bid solution within $\beta+2$.
1417: }{Before adding $u$ to the winning set of bids $\bids_2$, we must ensure that it does not conflict with other bids in $\bids_2$ and that the weighted budget constraint is not violated. The rest of the algorithm is identical to \lropcost{.}
1418: \begin{lemma}
1419: \label{lemma-light}
1420: \light\weighted\lropcost{} $(\beta+2)$-approximates an optimal set of
1421: light bids.
1422: \end{lemma}
1423: \begin{proof}
1424: This proof uses the same structure and notation as the proof of
1425: Theorem~\ref{theorem-unweighted}.
1426: An upper bound $U$ on the $w_1$-revenue of any feasible set of bids is
1427: $w(u)(\beta + 2)$. With regards to a $u$-maximal set of
1428: bids, if $u$ cannot be added to the set because the budget constraint
1429: $b_u$ will be exceeded, the existing bids in the set must have weight
1430: at least $b_u/2$, since $w(u) \le b_u/2$. A lower bound $L$ on the
1431: $w_1$-revenue of any $u$-maximal set of bids is therefore $w(u)$. The performance bound of this algorithm is $\frac{U}{L} = \beta + 2$, as claimed.
1432: \end{proof}
1433: }
1434: \begin{theorem}
1435: \label{theorem-weighted}
1436: Given a directed bid graph $G$, a partition of the nodes of $G$ into
1437: nonempty subsets
1438: $S_1,\ldots,S_r$, and a weighted budget constraint $b_i$ for each $S_i$,
1439: \begin{enumerate}
1440: \item
1441: \weighted{\opcost{}} and \weighted{\lropcost{}} return the same
1442: approximation to a revenue maximizing set of bids.
1443: \item
1444: \weighted{\opcost{}} and \weighted{\lropcost{}}
1445: $(2\beta(G) + 3)$-approximate an optimal set of bids.
1446: \item
1447: \weighted{\opcost{}} and \weighted{\lropcost{}}
1448: run in time linear in the size of $G$.
1449: \end{enumerate}
1450: \end{theorem}
1451: \begin{proof}
1452: The sum of the optimal revenues for the heavy and light bids is at
1453: least equal to the optimum revenue among all bids. From
1454: Lemmas~\ref{lemma-heavy} and ~\ref{lemma-light}, the better of the two
1455: solutions will be within a factor of $2\beta + 3$ of the optimum for
1456: the general problem.
1457:
1458: For the running time, observe that decomposing the bids into heavy and
1459: light bids takes linear time, that \heavy\weighted\opcost{}
1460: and \heavy\weighted\lropcost{} are equivalent to
1461: \unweighted\opcost{} and \unweighted\lropcost{} and thus take linear
1462: time by Theorem~\ref{theorem-unweighted},
1463: and that
1464: \light\weighted\opcost{}
1465: and
1466: \light\weighted\lropcost{}
1467: can be made to run in linear time using techniques similar to those
1468: used for \unweighted\opcost{} and \unweighted\lropcost{}.
1469: \end{proof}
1470: }
1471:
1472: \section{Further Research}
1473: \label{section-open}
1474: This paper opens up several directions for further research. An
1475: immediate open problem is whether overlapping weighted budget
1476: constraints can be processed as efficiently as their unweighted
1477: counterparts are processed in
1478: Theorem~\ref{theorem-overlapping-unweighted}.
1479:
1480: It would be of importance to compare the performance of our algorithms
1481: and others in practice. The comparison could be conducted on
1482: simulations, but it would be more useful to analyze the performance on
1483: real auction data.
1484:
1485: As the examples of car sales and land sales demonstrate,
1486: topological structures exist in actual bids. Another good example is
1487: the FCC auction of airwaves in 1994 and 1995
1488: \cite{MM1996}, where each trading area is an auction object, the
1489: trading areas form a plane graph, and bidders prefer to acquire
1490: contiguous trading areas. It would be useful to examine past auctions
1491: to determine whether similar connectivity structures exist and how
1492: such structures affect the computational complexity of bidding
1493: strategies and winner determination.
1494:
1495: \bibliographystyle{siam}
1496: \bibliography{opcost}
1497:
1498: \end{document}
1499:
1500: %%% JUNK DNA SECTION
1501: \alert{JUNK DNA SECTION}
1502:
1503: However, it is possible to solve maximum weight independent set for
1504: intersection graphs of restricted families of sets, such as
1505: intervals or, more generally, subtrees of a tree (see \cite[Chapter
1506: ???]{GLS} for these and other examples of such graphs).
1507:
1508: \alert{below need to be moved back out of intro maybe}
1509: \subsection{Good bid graphs}
1510:
1511: \subsection{Additional constraints}
1512:
1513: Let us suppose that we will only consider bids that are
1514: \buzz{germane}, in the sense that they consist of objects that are
1515: related in some way.
1516:
1517: \alert{What we are doing: we build a general framework for solving MWIS
1518: in ordered graphs that improves on greedy. We show that intersection
1519: graphs of ``germane'' bids have low $\beta$. We show how to handle
1520: additional constraints without blowing up the ratio too much.}
1521:
1522:
1523: \begin{quotation}
1524:
1525: \alert{\textbf{BOGUS!}}
1526:
1527: We can generalize one direction of Theorem \ref{theorem-subtrees} as
1528: follows.
1529: Say that an undirected graph $G$ is recursively decomposable by node
1530: cuts of size $k$ if (a) $|G| \le k$ or (b) $G$ has a node cut of
1531: size $k$ that divides it into two subgraphs $G_1$ and $G_2$, and $G_1$
1532: and $G_2$ are both recursively decomposable by node cuts of size
1533: $k$. The following lemma shows that this class of graphs gives rise
1534: to intersection graphs with bounded $\beta$ values.
1535: \alert{this definition doesn't work}
1536:
1537: \begin{lemma}
1538: \label{lemma-node-cut-tree}
1539: Let $G$ be recursively decomposable by node cuts of size $k$. Let
1540: $H$ be an intersection graph of connected node subsets of $G$. Then there
1541: is a directed acyclic orientation $H'$ of $H$ such that
1542: $\beta(H') \le k$.
1543: \end{lemma}
1544: \begin{proof}
1545: Consider the tree of node cuts used to decompose $G$, and order the
1546: nodes of $G$ by their closeness to the root of this tree. Order
1547: the sets in $H$ by their maximum element in the $G$-node
1548: ordering. Now if $u \pred v$ in $H$, then $u$ and $v$ contain a
1549: common element, and since $u$ is ordered earlier than $v$ and $v$ is
1550: connected the path
1551: between this common element and the maximum element of $v$ must pass
1552: through the node cut $C$ containing the maximum element of $u$. Now
1553: consider all $v$ in some independent subset of $\delta^+(u)$; since
1554: each $v$ intersects $C$ in at least one element there must be at most $k$
1555: such $v$.
1556: \end{proof}
1557:
1558: \end{quotation}
1559:
1560: The converse of the lemma does not hold. To see this, let $H$ be the
1561: icosahedron. The induced subgraph consisting of the neighbors of any
1562: node is the 5-cycle $C_5$, for which $\alpha = 2$.
1563: It is also not hard to see that any subset of the neighbors has
1564: $\alpha \le 2$ implying $\beta(H') = 2$ for any ordering $H'$ of
1565: $H$.
1566: Yet $H$ cannot be an intersection graph of any graph $G$ that is
1567: recursively decomposable by node cuts of size $2$. If it were,
1568: there would exist an ordering of $H$ as given in the proof of the
1569: lemma such that all successors of the minimal node $v_0$ would be
1570: represented by sets in $G$ each of which intersect some 2-element cut
1571: $C$. Of these five successors at least three must intersect some
1572: particular element of $C$; but then their intersection graph would be
1573: a triangle, and there is no triangle in $C_5$. (What this example
1574: demonstrates is that Lemma \ref{lemma-node-cut-tree} is actually
1575: bounding the clique covering number $\overline{\chi}$ of each
1576: $\delta^+(u)$, which gives an upper bound on $\alpha$ but is not in
1577: general equal to it. What makes Theorem \ref{theorem-subtrees} work
1578: is that these values are equal when either is $1$.)
1579:
1580: \alert{This theorem has to go, as soon as we can find a
1581: reference that contains some reasonably self-contained version of it.
1582: ]]]
1583:
1584: \begin{theorem}
1585: \label{theorem-subtrees}
1586: Let $G$ be an undirected graph. Then $G$ has a directed acyclic
1587: orientation $G'$ with $\beta(G') = 1$ if and only if $G$ is an
1588: intersection graph of subtrees of a forest.
1589: \end{theorem}
1590: \begin{proof}
1591: (If part.)
1592: Choose some node $r$ in the underlying tree $T$ as a root, and
1593: define the root of each subtree $T'$ as the (unique) node
1594: $\treeroot(T')$ closest to $r$.
1595: Observe that two subtrees $T_1$ and $T_2$ intersect if and only if
1596: (a) $\treeroot(T_1) \in T_2 - \treeroot(T_2)$,
1597: (b) $\treeroot(T_1) = \treeroot(T_2)$,
1598: or (c) $\treeroot(T_2) \in T_1 - \treeroot(T_1)$.
1599: Let $T_1 \pred T_2$ in case (a); for each equivalence class of trees
1600: with identical roots, order them arbitrarily and let $T_1 \pred T_2$
1601: if $T_1$ appears before $T_2$ in this arbitrary ordering. The $\pred$
1602: relation now gives our DAG $G'$; it is not difficult to see that it is
1603: in fact an orientation of $G$.
1604:
1605: Now let us fix $T_1$,
1606: and consider the set of all $T_2$ such that
1607: $T_1 = T_2$ or $T_1 \pred T_2$.
1608: The node $\treeroot(T_1)$ is contained in any such $T_2$, so at most
1609: one such $T_2$ can appear in any independent set.
1610: It follows that $\beta(T_1) = 1$.
1611:
1612: (Only if part).
1613: Let $G'$ be a directed acyclic graph with $\beta(G') = 1$, so
1614: that
1615: the set of successors of any node is a clique.
1616: Let $G$ be the undirected graph corresponding to $G'$.
1617: We will first construct a set system $S$ of which $G$ is the
1618: intersection graph. We will then show that this set system consists
1619: of subtrees of a forest constructed by removing edges from $G'$.
1620:
1621: Represent each node v by the set $S_v = \delta^-(v) \cup \{v\}$.
1622: If $u \in \delta^-(v)$ then $S_u \cap S_v \supseteq \{u\} \ne
1623: \emptyset$; the case of $v \in \delta^{-}(u)$ is symmetric. Thus if
1624: $u$ and $v$ are adjacent $S_u \cap S_v \ne \emptyset$.
1625: Conversely suppose $S_u \cap S_v \ne \emptyset$.
1626: let $w \in S_u \cap S_v$. If $w$ equals $u$ or $v$ then $u$ and $v$
1627: are adjacent. Otherwise $u$ and $v$ are adjacent because both are in
1628: $\delta^+(w)$, a clique.
1629: Thus $G$ is the intersection graph of $S = \{S_v | v \in G\}$.
1630:
1631: Now do a topological sort on $G'$ to get a total
1632: ordering of the nodes. Construct the subgraph $T$ of $G'$ in which for
1633: each node only the outgoing edge with the earliest endpoint is
1634: left. Since each node has outdegree 1 in $T$, it is a forest.
1635:
1636: Now suppose $u \pred v$ in $G'$. We will show that there is a path
1637: from $u$ to
1638: $v$ in $T$ that does not leave $S_v$. Observe that if $u \pred v$ in
1639: $G'$ then
1640: its unique successor in $T$ is either equal to $v$ or is an earlier
1641: node $w$ such that $w$ and $v$ are both successors of $u$ in $G'$.
1642: Since $w$ is an
1643: earlier successor of $v$ and $\beta(G') = 1$, $w \pred v$
1644: in $G'$ and $w$ is in $S_v$.
1645:
1646: Since $T$ is finite and acyclic, any path in $S_v$ must eventually reach
1647: $v$ or reach a node of outdegree 0. But any $u$ in $S_v$ except $v$ has
1648: outdegree at least 1. It follows that for each $v$,
1649: $S_v$ forms a directed subtree of
1650: $T$ with $v$ as its root.
1651: \end{proof}
1652:
1653:
1654: \alert{was in ordering section}
1655:
1656: Big open problems:
1657:
1658: \begin{enumerate}
1659: \item How well can we orient an arbitrary graph?
1660:
1661: \item What happens with randomized orientations (and thus random
1662: values for $\beta(u)$ within $G$)? Note that $\beta(u)$ may
1663: be correlated in complicated ways with $\val(u)$.
1664:
1665: \end{enumerate}
1666:
1667: \section{The object graph and the bid graph}
1668:
1669: \alert{object graph: edges indicate relevance, bids must be connected
1670: sets, i.e. germane.}
1671:
1672: \section{Implementation issues}
1673: \label{section-implementation}
1674:
1675:
1676: \paragraph{Overlapping constraints}
1677: Central to the argument has been the fact that the budget constraints
1678: are applied to disjoint sets. This assumption is natural
1679: when the budget constraints do in fact arise from the limited
1680: resources of individual bidders, since the same bid will not be made
1681: by two different bidders. However, one can imagine a more general
1682: situation in which one might wish to allow overlapping budget
1683: constraints. We can handle such a situation by treating the
1684: collection of overlapping constraints as built from layers of
1685: non-overlapping constraints, and applying the construction of this
1686: section repeatedly for each layer. \alert{hm, this will make the size of
1687: the budget graph quite phenomenally huge. I'm leaving this out for
1688: now.}
1689:
1690: \subsection{Comparison with the greedy algorithm}
1691: \label{section-greedy}
1692:
1693: A similar argument to that used to prove Theorem \ref{theorem-ratio}
1694: shows that the greedy algorithm also achieves an approximation ratio
1695: that depends on the local structure of the graph.
1696: Let $A$ be the maximal independent set chosen by the greedy
1697: algorithm, and let $A^*$ be a maximum weight independent set.
1698: Then every element $v^*$ of $A^*$ is adjacent to some element $v$ of $A$ with
1699: equal or higher weight (else $v$ would have been included in $A$ when it was
1700: considered), and the total number of elements of $A^*$ assigned in
1701: this way to each $v$ in $A$ is bounded by $\alpha(\delta(v))$, the
1702: size of the maximum independent set of the neighborhood of $v$.
1703: It follows that the greedy algorithm gets an approximation ratio of at
1704: most $\max_v \alpha(\delta(v))$, which we will call the (undirected)
1705: local independence number of the graph and write as $\alpha_1$.
1706:
1707: An important point is that $\alpha_1$ will often be much larger than
1708: $\beta$ for a carefully-ordered graph. To take an extreme
1709: example, the star mentioned earlier consisting
1710: of a single central node surrounded by $n-1$ radial nodes, each of
1711: which is adjacent only to the center, has $\alpha_1 = n-1$ but has
1712: $\beta = 1$ if the center is ordered last.
1713: However, a careless ordering may give
1714: equally bad results for both algorithms.
1715: The full effects of ordering
1716: are discussed further in Section \ref{section-ordering}.
1717:
1718: \section{Conclusion and open problems}
1719: \label{section-conclusions}
1720:
1721: \alert{need more about what we are doing and why anybody should care
1722: about it.}
1723:
1724: \alert{non-auction applications?}
1725:
1726: \subsection{Related work}
1727: \label{section-related-work}
1728:
1729: \alert{Berman/DasGupta and local-ratio papers}
1730:
1731: \alert{combinatorial auction stuff}
1732:
1733: \alert{other max weight independent set approximation algorithms}
1734:
1735: \alert{inconveniently-named opportunity cost algorithm of Awerbuch and
1736: company for job scheduling :-(}
1737:
1738: %%% pruned from Karhan's write-up
1739:
1740: \section{Introduction}
1741:
1742: With the advent of the Internet Age, auctions have become increasingly
1743: popular as a means of price determination for goods and services. In
1744: an auction, \emph{bidders} compete to purchase \emph{commodities}. An
1745: \emph{auctioneer} determines which bidder wins which commodity. In an
1746: \emph{English} or \emph{ascending-bid auction}, the price of the
1747: commodity is raised until a single bidder remains, who wins the
1748: object. Conversely, in a \emph{Dutch auction}, the price of the
1749: commodity is lowered until a bidder accepts the current price. In a
1750: \emph{first-price sealed-bid auction}, potential buyers submit sealed
1751: bids for the commodity. It is awarded to the highest bidder, who pays
1752: the amount of their bid for it. In each of these cases, the auctioneer
1753: can determine the winner in time linear in the number of bids.
1754:
1755: In a \emph{combinatorial auction}, rather than bidding on a single
1756: object at a time, bidders submit offers for an arbitrary subset of the
1757: commodities in the auction. The bidder will win either all of these
1758: commodities, or none of them. Different bids may share the same
1759: commodity, but the winning bids must be for disjoint subsets of the
1760: commodities. Such a set of bids is said to be \emph{feasible}. The
1761: goal of the auctioneer is to determine a feasible set of bids that
1762: maximize the total revenue of the auction. Combinatorial auctions were
1763: first proposed in \cite{RSB1982} as one-round mechanisms
1764: for airport time slot allocation.
1765:
1766: In general, it is $NP$-hard to determine a feasible set of bids to
1767: maximize the revenue of the auction. In \cite{ming_auction}, the
1768: authors propose a framework to exploit topological structures of the
1769: bids to determine the winning bids with a provably good approximation
1770: ratio in linear time. They also show how their techniques can be used
1771: to approximate the solution when other constraints are placed on the
1772: bids, such as \emph{budget constraints} that specify bounds on the
1773: number or total value of bids an agent may win.
1774:
1775: In this paper, we simplify this framework using the \emph{local ratio
1776: technique}. For simple combinatorial auctions, these techniques
1777: simplify the analysis of the algorithms. When budget constraints are
1778: introduced, the algorithms themselves are simplified and, for
1779: \emph{weighted} budget constraints, we derive improved bounds on the
1780: running time and the accuracy of the algorithms.
1781:
1782: \section{Background Information}
1783:
1784: As introduced in \cite{ming_auction}, the auctioneer can construct a
1785: \emph{bid graph} whose nodes are bids and which has edges between
1786: nodes corresponding to bids that share an object. A feasible set of
1787: bids is an independent set in this graph. Finding the feasible bids
1788: that maximize the revenue of the auction corresponds to finding the
1789: maximum weight independent set of the graph, which is $NP$-hard. To
1790: find an approximate solution, we use the \emph{local ratio technique},
1791: discussed in \cite{BarNoyetal2000}, to augment the \emph{opportunity cost
1792: algorithm} introduced in \cite{ming_auction}.
1793:
1794: %%% old stuff, made obsolete by local ratio argument
1795:
1796: \subsection{Unweighted budget constraints: basic construction}
1797:
1798: Let us begin by describing how to handle $k$-of-$n$ constraints.
1799: Start with a directed acyclic graph $G$, and suppose that we have:
1800:
1801: \begin{enumerate}
1802: \item A collection of disjoint sets of bids $S_1, S_2, S_3, \ldots
1803: S_l$.
1804: \item For each set of bids $S_i$, a bound $k_i$ on how many of those
1805: bids can be accepted.
1806: \end{enumerate}
1807:
1808: We say that a set $A$ \buzz{satisfies} the \buzz{unweighted budget
1809: constraints}
1810: $\{(S_i,k_i)\}$ if the size of $A \cap S_i$ is at most $k_i$ for each
1811: $i$.
1812:
1813: In the $1$-of-$n$ case, where $k_i = 1$ for all $i$, we can simply
1814: extend $G$ by forming a clique out of all bids in each set $S_i$;
1815: under the assumption that the $S_i$ are disjoint, this increases
1816: $\beta$ by at most $1$ (using Lemmas \ref{lemma-cliques} and
1817: \ref{lemma-unions-and-subgraphs}). In the more general case we need to make copies
1818: of bid.
1819:
1820: To construct the budget graph $G'$,
1821: replace each bid $b$ in each $S_i$ with $k_i$ copies $b^1, \ldots b^{k_i}$.
1822: Each copy has the same weight as the original bid.
1823: For a bid $b$ that does not appear in any $S_i$, insert a single copy
1824: $b^1$.
1825: The edges of $G'$ are determined as follows. For the moment, let us
1826: defer orientation issues and think of $G'$ and $G$ as undirected
1827: graphs.
1828:
1829: \begin{enumerate}
1830: \item If $b_1b_2$ is in $G$, then $b^j_1b^k_2$ is in $G'$ for any
1831: copies $b^j_1$ and $b^k_2$ of $b_1$ and $b_2$.
1832: \item For each bid $b$, all copies conflict; that is, $b^jb^k$ is an
1833: edge of $G'$ for any distinct $j$ and $k$.
1834: \item For any distinct $b_1$ and $b_2$ in the same set $S_i$, equal-numbered
1835: copies conflict: there is an edge $b_1^jb_2^j$ for each $j$.
1836: \end{enumerate}
1837:
1838: The idea is that any
1839: independent set in the budget graph should project down (by removing
1840: information about which copies we have chosen) to an
1841: independent set in the underlying bid graph that satisfies the budget
1842: constraints.
1843: Intuitively, the first set of edges enforces independence in $G$,
1844: the second set enforces taking at most one copy of a bid,
1845: and the third enforces the budget constraints by requiring at most one
1846: copy of
1847: some bid in $S_i$ to
1848: be taken from each of at most $k_i$ distinct ``rows'' of bids.
1849: Furthermore, if we order the copies in $G'$
1850: using the ordering of the
1851: bids in $G$ (with copies of the same bid ordered arbitrarily),
1852: it will turn out to be the case that $\beta(G') \le \beta(G) + 1$.
1853: \maybe{30}{Using these ideas, in the full paper we show:
1854: }{
1855:
1856: Formally, we define the projection of a copy $b^j$ as $b$ and the
1857: projection $A$ of a set of copies $A'$ as the \emph{multiset}
1858: of projections of its
1859: members. (For independent $A'$, $A$ will
1860: in fact be a set, but this has yet to
1861: be shown.) We then have:
1862:
1863: \begin{lemma}
1864: \label{lemma-budget-graph-works}
1865: Let $G$ be a bid graph, $\{(S_i,k_i)\}$ a set of unweighted
1866: budget constraints,
1867: and $G'$ the budget graph constructed from them as described
1868: previously. Then if $A'$ is an independent set in $G'$,
1869: its projection is an independent set in $G$ that satisfies
1870: $\{(S_i,k_i)\}$. Conversely, any independent set in $G$ that
1871: satisfies $\{(S_i,k_i)\}$ is the projection of some independent set in
1872: $G'$.
1873: \end{lemma}
1874: \maybe{80}{The proof is easy but long.
1875: We defer it to the full paper.}{
1876: \begin{proof}
1877: Given an independent subset $A'$ of $G'$, let $A$ be the projection of
1878: $A'$. Then:
1879: \begin{enumerate}
1880: \item $A$ is an independent multiset in $G$. If $b_1$, $b_2$ are bids in
1881: $A$, then copies $b_1^j,b_2^k$ appear in $A'$; since $A'$ is
1882: independent, there must be no $b_1^jb_2^k$ edge in $G'$ and thus no
1883: $b_1b_2$ edge in $G$.
1884: \item $A$ is a set; that is, at most one instance of any bid $b$
1885: appears in $A$. The presence of edges $b^jb^k$
1886: and the independence of $A'$ imply at most one copy of each bid is in
1887: $A'$.
1888: \item $A$ satisfies the budget constraints. Let $A'_i$ be the set of
1889: all copies of bids in $S_i$ that appear in $A'$. Using independence
1890: of $A'$ and the existence of edges $b_1^jb_2^j$ for all $b_1b_2$ in
1891: $S_i$ and all $j$, there is at most one element of $A'_i$ whose copy
1892: number is $j$ for each $j$. So there are at most $k_i$ elements of
1893: $A'_i$ altogether, and thus at most $k_i$ elements of $A \cap S_i$.
1894: \end{enumerate}
1895:
1896: In the other direction, suppose we have some independent subset $A$ of
1897: $G$ that satisfies the budget constraints. For any element $b$ of $A$ not in
1898: any $S_i$, use the unique copy $b^1$.
1899: For each $S_i$, there are
1900: at most $k_i$ elements of $A$ in $S_i$; so we can choose
1901: differently-numbered copies for each of them.
1902: It is not hard to see that the resulting set of copies is independent
1903: in $G'$.
1904: \end{proof}
1905: }
1906:
1907: \begin{corollary}
1908: \label{corollary-budget-graph-approximation}
1909: Any algorithm that gives an $r$-approximation to the maximum weight
1910: independent set in $G'$ gives an $r$-approximation (after projection) to the
1911: maximum weight independent set in $G$, subject to the budget constraints
1912: $\{(S_i,k_i)\}$.
1913: \end{corollary}
1914: \maybe{80}{}{
1915: \begin{proof}
1916: Let $A$ be an optimal solution for $G$; then
1917: $A$ is the projection of some independent $A'$ in $G'$ with the same
1918: weight.
1919: The algorithm finds some $B'$ with $\wt(B') \ge \frac{1}{r} \wt(A')$,
1920: whose projection $B$ thus has $\wt(B) \ge \frac{1}{r} \wt(A)$.
1921: \end{proof}
1922: }
1923:
1924: Given that we have an algorithm for approximating maximum weight
1925: independent set, the question now is: what is $\beta(G')$?
1926:
1927: \begin{lemma}
1928: \label{lemma-budget-graph-beta}
1929: Given a bid graph $G$ and a disjoint collection
1930: of unweighted budget constraints, there is an
1931: orientation $G'$ of the resulting budget graph
1932: such that
1933: $\beta(G') \le \beta(G) + 1$.
1934: \end{lemma}
1935: \maybe{80}{The proof is given in the full paper. Informally, we order
1936: copies of distinct bids using the ordering of the bids, and order
1937: copies of the same bid arbitrarily with respect to each other.
1938: Applying a case analysis to the successors of any copy finds at most
1939: $\beta+1$ independent successors, of which at most $\beta$ come from
1940: the edges representing
1941: $G$ and at most $1$ comes from the added edges for the budget group.
1942: }{
1943: \begin{proof}
1944: Order copies $b_1^j$ and $b_2^k$ of distinct bids using the ordering
1945: of $b_1,b_2$ in $G$. Order copies of the same bid arbitrarily.
1946:
1947: Now consider the set of successors of some copy $b^j \in S_i$ in $G'$. It
1948: includes:
1949: \begin{enumerate}
1950: \item Copies of all successors of $b$ in $G$,
1951: \item Zero or more additional copies of $b$, and
1952: \item Copies of other bids in $S_i$ with the same number $j$.
1953: \end{enumerate}
1954:
1955: Let us now consider what elements may appear in an independent subset
1956: $A$ of
1957: $b^j + \delta^+(b^j)$.
1958: Any independent subset of the first set of successors
1959: in the list above contains at
1960: most $\beta(b)$ elements. If another copy of $b$ appears in $A$, then
1961: all elements of the first set are adjacent to it and thus excluded
1962: from $A$. So the first two sets of
1963: successors
1964: between them account for at most $\beta(b)$ elements.
1965:
1966: The third set of successors is a clique, and thus at most one
1967: additional element of $A$ can be drawn from them. We thus have $|A|
1968: \le \beta(b)+1$ and thus $\beta(b^j) \le \beta(b)+1$.
1969: Taking a maximum over all $b$ gives the full result.
1970: \end{proof}
1971: }
1972:
1973: So from Corollary~\ref{corollary-budget-graph-approximation},
1974: applying the opportunity cost algorithm to $G'$
1975: with the ordering given by Lemma \ref{lemma-budget-graph-beta} gives a
1976: $\beta(G)+1$ approximation of the best set of bids given any
1977: disjoint collection of unweighted budget constraints. We thus have:
1978: }
1979:
1980: \begin{theorem}
1981: \label{theorem-unweighted-budget-ratio}
1982: The unweighted-budget-constraint algorithm approximates the optimal
1983: solution within a factor of $\beta(G)+1$.
1984: \end{theorem}
1985:
1986: \subsection{Unweighted budget constraints: implicit graph approach}
1987:
1988: The construction squares the size
1989: of the graph in the worst case. Though the running time is still
1990: polynomial (respectably quadratic, even), it would be nice to avoid
1991: this blow-up.
1992:
1993: \maybe{30}{
1994:
1995: In the full paper, we show that by retroactively choosing the order of
1996: copies of the same bid $b$, we can arrange for at most one copy
1997: to have positive value.
1998: Furthermore, by a non-trivial use of
1999: advanced data structures, we can identify the winning
2000: copy in time proportional to the indegree of $b$ plus $O(\log k)$,
2001: where $k$ is the number of copies of $b$. (An additional $O(\log k)$
2002: cost is paid to update the data structures.)
2003: By throwing away all losing copies, we do not change the approximation
2004: ratio, and we get:
2005:
2006: }{
2007:
2008: The key observation is that in the orientation of the budget graph $G'$
2009: in Lemma \ref{lemma-budget-graph-beta}, the choice of order of copies
2010: of the same bid is arbitrary. For each copy $b^j$ of $b$, we can
2011: compute $\val'(b^j)$, the value $b^j$ gets if it is ordered before all
2012: other copies. If we put the copy that maximizes $\val'(b^j)$ first,
2013: then any other copy $b^k$ has value at most $\val'(b^k) - \val'(b^j)
2014: \le 0$. So at most one copy has positive value, and we can throw away
2015: the others without affecting the approximation ratio. This reduces
2016: the number of copies we need to remember back down to $|V|$.
2017:
2018: In order to reduce the cost, we must also be able to find the
2019: value-maximizing copy without having to examine all $k_i$ copies of
2020: $b$. Here we note that $\val'(b^j) = \wt(b^j) - \val(S_b) -
2021: \val(S^j)$ where $S^b$ is the set of all copies of bids that are
2022: predecessors of $b$ and $S^j$ is the set of all copies of bids in the
2023: same budget constraint group as $b^j$ which have copy number $j$ and
2024: which are not also copies of predecessors of $b$ with positive value.
2025: Computing $\val(S_b)$ need only be done once for all $b^j$, with cost
2026: proportional to the indegree of $b$ in the bid graph. Computing the
2027: best $j$ and the corresponding
2028: minimum value for $S^j$ can be done in $O(\log k_i)$ time using
2029: advanced data structures. (We also must pay $O(\log k_i)$
2030: to update the data structures.)
2031:
2032: \maybe{100}{
2033:
2034: Space does not permit a detailed description of the needed data
2035: structures, which will be given in the full paper. However, we can
2036: state:
2037:
2038: }{
2039:
2040: \alert{can order copies so that at most one has positive value}
2041:
2042: \alert{can find this one in $O(\log n)$ time using data structure for
2043: which we pay an additional $O(\log n)$ for each copy selected.}
2044:
2045: \alert{result is that we can handle unweighted budget constraints in
2046: $O(V \log V + E)$ time.}
2047:
2048: }
2049: }
2050:
2051: \begin{theorem}
2052: \label{theorem-unweighted-budget-time}
2053: Given a bid graph $G = (V,E)$ and a collection of disjoint unweighted budget
2054: constraints $\{(S_i,k_i)\}$,
2055: the unweighted-budget-constraint algorithm approximates the optimal
2056: solution within a factor of $\beta(G)+1$ in
2057: $O(V \log V + E)$ time.
2058: \end{theorem}
2059:
2060: \subsection{Weighted budget constraints}
2061:
2062: As in the unweighted case, we assume bids are divided into groups
2063: $S_i$; but now we wish to choose an
2064: independent set of bids so
2065: that the total \emph{weight}
2066: of all bids in each group $S_i$ does not exceed a
2067: bound $k_i$.
2068:
2069: \maybe{30}{In the full paper, we show that this problem can be reduced
2070: to the unweighted case by rounding weights up to powers of some base
2071: $x > 1$, and taking the best solution from running the algorithm
2072: separately on at most $\log_x \min(n,W)$
2073: induced subgraphs consisting of bids of equal weight, where $n$ is the
2074: number of nodes and $W$ is the ratio between the largest and smallest
2075: weights. The result is:}{
2076: We can reduce this version of the problem to the unweighted case by
2077: partitioning the bid graph. Assume that the weights of bids are
2078: normalized so that the heaviest bid has weight $1$.
2079: Choose some base $x$ ($e$ is optimal in the limit, but
2080: $2$ may be more convenient).
2081: Let $G_i$, $i=0 \ldots$,
2082: be the induced subgraph of $G$
2083: containing all bids with weights
2084: in the half-open interval $(x^{-i+1}, x^{-i}$.
2085:
2086: We will compute an approximate maximum weight independent set using
2087: the unweighted-budget-constraint algorithm in each
2088: $G_i$ separately, and take the best one. Note that there may be as
2089: many as $n$ non-empty $G_i$ if there are $n$ bids. However, any bids
2090: that are in $G_i$ when $i > \log_x n$ have weight less than $1/n$, and
2091: thus all such bids put together have weight less than the maximum bid
2092: taken alone. We can thus ignore any bids with weights below $1/n$
2093: and restrict our attention only to $G_0 \ldots G_{\log_x n}$.
2094:
2095: To run the unweighted-budget-constraint algorithm, we round the
2096: weights of all bids in $G_i$ up to $x^{-i}$, and replace each weighted
2097: bound $k_i$ with an unweighted bound $\lfloor k_i / x^{-i} \rfloor$.
2098: Clearly, any set of bids that satisfies the unweighted constraints
2099: (after rounding) also satisfies the original weighted constraints.
2100:
2101: Finally, we take as the solution to the full problem
2102: the best solution of the $\log_x n + 1$ solutions
2103: obtained from the individual $G_i$.
2104: }
2105:
2106: \begin{theorem}
2107: \label{theorem-weighted-budget}
2108: Given a directed acyclic graph $G$ with $n$ nodes and $m$ edges,
2109: weights for each node ranging from $1$ to $W$,
2110: a collection of weighted budget
2111: constraints,
2112: and any $x > 1$,
2113: the weighted-budget-constraint algorithm
2114: approximates an optimal solution to the weighted-budget-constraint
2115: independent set problem
2116: to within a factor of $x (\beta(G)+1)(\log_x \min(n,W) + 1)$
2117: in time
2118: \maybe{100}{at most}{} % avoids bad line break
2119: $O(n \log_x \min(n,W) + m)$.
2120: \end{theorem}
2121: \maybe{100}{}{
2122: \begin{proof}
2123: Any optimal independent set $A^*$ on $G$ that satisfies
2124: the weighted budget constraints splits into independent subsets
2125: $A^*_i$ on each $G_i$, which each satisfy the budget constraints
2126: individually.
2127:
2128: The algorithm produces some $A_i$ for each $G_i$.
2129: Note that $\beta(G_i) \le \beta(G)$ by Lemma
2130: \ref{lemma-unions-and-subgraphs}.
2131: The weight of $A_i$
2132: \emph{after rounding} is at least $\frac{1}{\beta(G)+1}$ times the weight
2133: of $A^*_i$. Since rounding might increase the weight of each bid by
2134: as much as a factor of $x$, we have $\wt(A_i) \ge
2135: \frac{1}{x(\beta+1)} \wt(A^*_i)$.
2136:
2137: \alert{stopped here --- have to think about $1/n$ issue a bit}
2138:
2139: So our algorithm produces an independent
2140: set $A_i$ for each $G_i$ that (a) satisfies the budget constraints,
2141: and (b) has weight at least $\frac{1}{x(\beta+1)}$ times that of the
2142: corresponding $A^*_i$. Since the total weight of $A^*$ is equal to
2143: the sum of the total weights of the $A^*_i$, the best $A_i$ will have
2144: weight at least $\frac{1}{x(\beta+1)\log_x W}$ times the weight of
2145: $A^*$. Setting $x=e$ optimizes this ratio.
2146: \end{proof}
2147: }
2148:
2149:
2150: \section{Karhan's stuff}
2151:
2152: \alert{Must change title to something other than Karhan's stuff.}
2153:
2154: % was in new stuff from Karhan
2155:
2156: \subsection{The Opportunity Cost Algorithm}
2157:
2158: The opportunity cost algorithm is a variation of a simple greedy
2159: algorithm. In the greedy algorithm, at each step we select the
2160: heaviest remaining node whose neighbors have not been selected. This
2161: algorithm performs badly when it chooses a node $v$ that precludes
2162: it from choosing $v$'s several slightly lighter neighbors. A bound on
2163: the performance ratio of this algorithm is the size of the largest
2164: independent set contained in the neighborhood of any single node in
2165: the graph. The opportunity cost algorithm improves on this algorithm
2166: for certain families of graphs that have an orientation such that
2167: although there may be large independent sets in the undirected
2168: neighborhoods of some nodes, there are no large independent sets in
2169: the directed neighborhoods of the nodes. By processing nodes according
2170: to the orientation of the graph, improved performance bounds are
2171: obtained.
2172:
2173:
2174:
2175:
2176: %%%%%%%%%%%%%%%%%%%%%%%%%
2177: %%%%% The old stuff %%%%%
2178: %%%%%%%%%%%%%%%%%%%%%%%%%
2179:
2180: \suppress{
2181: \section{The Opportunity Cost Algorithm}
2182: \label{section-algorithm}
2183:
2184: In this section, we describe the opportunity cost algorithm for
2185: approximating maximum weight independent set, a
2186: generalization of the two-phase algorithm devised for the interval selection
2187: problem by Berman and DasGupta \cite{BermanDasGupta}.
2188:
2189: The opportunity cost algorithm is in some respects a refinement of a
2190: simple greedy algorithm. To find a high-weight independent set using
2191: the greedy algorithm, we mark at each step the heaviest remaining node
2192: with no marked neighbors. The greedy algorithm may perform badly when
2193: it chooses a node that precludes choosing several lighter (but not
2194: necessarily much lighter) nodes picked by the optimal algorithm.
2195: However, the number of optimally-marked nodes adjacent to any
2196: greedily-marked node is bounded by the size of the largest independent
2197: set contained in the neighborhood of any single node in the graph, and
2198: this quantity, which we will call the
2199: \buzz{local independence number} of a graph,
2200: gives a bound on the ratio between the
2201: optimal total weight and the total weight attained by the greedy
2202: algorithm. For graphs of small degree, or particularly dense graphs,
2203: the local independence number will not be very large.
2204:
2205: However, many graphs of interest will have neither small degree nor
2206: densely-connected neighborhoods, and yet we might reasonably expect
2207: that a more clever algorithm could approximate the maximum weight
2208: independent set more closely. To take an extreme example, imagine a
2209: star consisting of a single central node of weight $1+\epsilon$
2210: connected to $n-1$ radial nodes of weight $1$ each. The maximum weight
2211: independent set consists of the radial nodes, but the greedy algorithm
2212: grabs the center alone.
2213:
2214: In this case, even though there may be
2215: large independent sets in the \emph{undirected} neighborhoods of some
2216: nodes, by orienting all edges toward the center we can arrange that
2217: there are no large independent sets in the \emph{directed}
2218: neighborhoods of any nodes. So if we have an algorithm whose
2219: approximation ratio depends on this latter quantity, it will outperform
2220: the simple greedy algorithm.
2221: It turns out that augmenting the greedy algorithm to consider
2222: additional local
2223: information achieves this desirable behavior without significantly
2224: increasing the running time.
2225:
2226: Given a directed acyclic graph $G = (V,E)$ with weights $\wt(v)$ for
2227: each $v$ in $V$,
2228: the opportunity cost algorithm proceeds in two stages.
2229: In each stage the nodes are
2230: considered in an order consistent with the orientation of the DAG.
2231:
2232: The first stage computes a \emph{value} $\val(u)$ for each node.
2233: This value represents an estimate of the
2234: gain we expect by including $u$ in the independent set; it is computed
2235: by taking the weight of $u$ and subtracting off an \emph{opportunity
2236: cost} consisting of the values of earlier positive-value nodes
2237: that conflict with this one.
2238:
2239: In the second stage, nodes are processed in reverse order; any node
2240: with non-negative value is added to the independent set and its predecessors
2241: discarded.
2242:
2243: Some notation: we will write $u \pred v$ if $uv \in E$ and
2244: call $u$ a predecessor of $v$ and $v$ a successor of $u$.
2245: The set of all predecessors of $u$ will be written as $\delta^-(u)$
2246: and the set of all successors as $\delta^+(u)$.
2247:
2248: Now define:
2249:
2250: \begin{eqnarray}
2251: \val(u) &=& \wt(u) - \sum_{v \pred u} \max(0, \val(v))
2252: \label{eqn-value} \\
2253: \select(u) &=& [\val(u) \ge 0] \wedge \forall_{u \pred v}
2254: \neg \select(v)
2255: \label{eqn-select}
2256: \end{eqnarray}
2257:
2258: The output of the algorithm consists of the set of all $u$ for which
2259: $\select(u)$ is true. It is not hard to see that this set will be an
2260: independent set. It is more difficult to show that it will be a
2261: reasonably good independent set.
2262:
2263: \subsection{Approximation ratio}
2264: \label{section-proof}
2265:
2266: Let us give
2267: a more formal definition of the directed local independence number by
2268: letting
2269: $\beta(u) = \alpha(u+\delta^+(u))$,
2270: the size of the largest independent set in the subgraph
2271: $u+\delta^+(u)$
2272: of $G$ induced $u$ and its successors.
2273: Let $\beta(G) = \max_{u \in V} \beta(u)$.
2274: When $G$ is clear from the context we will simply write $\beta$.
2275:
2276: We will show that the opportunity cost algorithm yields an independent
2277: set whose total weight is within a factor of $\beta$ of optimal.
2278: The argument proceeds in two parts: first we show that the total
2279: weight of any independent set is reflected proportionally
2280: (with ratio $\beta$)
2281: in the total value of those
2282: nodes assigned non-negative value, and then
2283: show that the selection procedure
2284: chooses an independent set whose total weight collects
2285: the total value of all nodes.
2286:
2287: Let $S = \{ u : \val(u) \ge 0 \}$.
2288: Let $S' = \{ u : \select(u) = \mbox{true}\}$.
2289: For any set of nodes $V$, define
2290: $\val(V) = \sum_{v \in V} \val(v)$;
2291: similarly, define $\wt(V) = \sum_{v \in V} \wt(v)$.
2292:
2293: We begin by showing how total value relates to the maximum weight of
2294: any independent set.
2295:
2296: \begin{lemma}
2297: \label{lemma-eval-step}
2298: If $A$ is a independent set of $G$, then
2299: $\wt(A) \le \beta(G) \val(S)$.
2300: \end{lemma}
2301: \maybe{20}{The proof is given in the full paper; the essential idea is
2302: that (\ref{eqn-value}) can be used to show that any $v$ in $A$ outweighs
2303: total value of all $u$ in $S_v$, and that each $u$ precedes at most
2304: $\beta$ many $v$ in $A$.}{
2305: \begin{proof}
2306: We will start by considering how weights and values are related
2307: locally.
2308: For each $v$, let $S_v = \{ u \in S : u = v \vee u \pred v \}$.
2309: Claim: For any $v$, $\wt(v) \le \val(S_v) = \sum_{u \in S_v} \val(u)$.
2310:
2311: The proof of the claim
2312: has two cases depending on whether $v$ itself is in $S$.
2313: If $v$ is not in $S$, then $\val(v) \lt 0$ and
2314: \begin{displaymath}
2315: \val(S_v) = \sum_{u \in S, u \pred v} \val(u) = \wt(v) - \val(v) > \wt(v).
2316: \end{displaymath}
2317: Otherwise if $v$ is in $S$, then
2318: \begin{displaymath}
2319: \val(S_v) = \val(v) + \sum_{u \in S, u \pred v} \val(u)
2320: = \wt(v).
2321: \end{displaymath}
2322:
2323: Now sum over all $v \in A$:
2324: \begin{eqnarray*}
2325: \sum_{v \in A} \wt(v)
2326: &\le& \sum_{v \in A} \sum_{u \in S_v} \val(u) \\
2327: &=& \sum_{u \in S} \left(\sum_{
2328: v \in A :
2329: u \in S_v
2330: } \val(u)\right) \\
2331: &=& \sum_{u \in S} \left|\{ v \in A : u \in S_v \}\right| \cdot
2332: \val(u) \\
2333: &\le& \sum_{u \in S} \beta(u) \val(u) \\
2334: &\le& \beta(G) \val(S).
2335: \end{eqnarray*}
2336: \end{proof}
2337: }
2338:
2339: \maybe{110}{}{
2340: Continuing, we examine the connection between node values and the
2341: weight of selected nodes.
2342: }
2343:
2344: \begin{lemma}
2345: \label{lemma-select-step}
2346: $\val(S) \le \wt(S')$.
2347: \end{lemma}
2348: \maybe{20}{Intuitively, we are again using the fact that selected
2349: nodes outweigh the value of their predecessors; to this we must add
2350: the observation that every unselected positive-value node is the
2351: predecessor of some selected node.}{
2352: \begin{proof}
2353: If $v$ in $S'$ then $\val(v) \ge 0$
2354: and $\wt(v) = \sum_{u \in S_v} \val(u)$.
2355: So
2356: \begin{eqnarray*}
2357: \sum_{v \in S'} \wt(v)
2358: &=& \sum_{v \in S'} \sum_{u \in S_v} \val(u) \\
2359: &=& \sum_{u \in S} \val(u)
2360: \cdot \left|\{v \in S' : u \in S_v \}\right|.
2361: \end{eqnarray*}
2362: Now observe that for any $u$ in $S$,
2363: the set of $v$ in $S'$ with $u$ in $S_v$
2364: contains at least one element: if not $u$ itself, then some successor
2365: of $u$.
2366: \end{proof}
2367: }
2368:
2369: Combining Lemmas \ref{lemma-eval-step} and \ref{lemma-select-step}
2370: gives the final result:
2371:
2372: \begin{theorem}
2373: \label{theorem-ratio}
2374: For any weighted directed acyclic graph $G$, the opportunity cost algorithm
2375: returns a independent set whose total weight is within a factor of
2376: $\beta(G)$ of the maximum.
2377: Furthermore, there exist patterns of weights for which this bound is
2378: tight.
2379: \end{theorem}
2380: \maybe{20}{}{
2381: \begin{proof}
2382: >From Lemmas \ref{lemma-eval-step} and \ref{lemma-select-step},
2383: \[
2384: \wt(S') \ge \val(S) \ge \frac{1}{\beta(G)} \wt(A)
2385: \]
2386: for any independent set $A$ in $G$.
2387:
2388: To show the bound is tight, pick some $u$ that maximizes
2389: $\beta(u)$, and assign it weight $1$ and all of its successors
2390: weight $1-\epsilon$, where $\epsilon > 0$.
2391: Let every other node in $G$ have weight $0$.
2392: Then the value of $u$ is $1$, the value of each of its successors is
2393: $-\epsilon$, and the value of any other node is irrelevant because it
2394: has zero weight. Thus \opcost{} returns a set of total
2395: weight $1$ but the maximum weight independent set has total weight at least
2396: $\beta(u) \cdot (1-\epsilon)$.
2397: \end{proof}
2398: }
2399:
2400: \subsection{Running time}
2401:
2402: If we are given an ordered graph $G=(V,E)$
2403: (where the ordering is given, for example, by labelling the nodes $1$
2404: through $n$),
2405: we can compute $\val(v)$ for each node
2406: in time proportional to its indegree,
2407: and can compute $\select(v)$ for each node
2408: in time proportional to its outdegree,
2409: for a total time of $O(|V|+|E|)$.
2410: If we are presented instead with a directed acyclic graph, we can
2411: first
2412: generate a consistent ordering in time $O(|V|+|E|)$ by doing a
2413: topological sort and then revert to the preceding case.
2414: Again, the total time to run the algorithm is linear
2415: in the size of the graph.
2416:
2417: For some classes of graphs, such as those generated in Section
2418: \ref{section-budget}, we can improve this running time further
2419: using an implicit representation of the graph.
2420:
2421: } %suppress
2422:
2423:
2424:
2425: \suppress{
2426:
2427: \section{Reverse combinatorial auctions}
2428:
2429: \alert{Maybe reverse combinatorial auctions
2430: should be moved to the examples section --Jim}
2431:
2432: Consider the following scenario. The City of New York wants to build a
2433: new subway line. This is a large undertaking, requiring expertise and
2434: products from many different sources. Among other things, engineers
2435: need to design the subway; workers need to dig the tunnels and lay the
2436: tracks; subway stations must be designed and built; and subway cars
2437: must be purchased. Let $\objs$ be the universe of all services and
2438: products that need purchased to build this subway. For each
2439: $s\in\objs$, the city can purchase it individually for a price,
2440: $p(s)$. In the interests of saving taxpayer money however, the city
2441: decides to hold a \emph{reverse combinatorial auction}, \alert{Is this
2442: a good name?} where companies bid to sell a subset of objects
2443: $\{s_1,\ldots,s_k \} \subset \objs$ for a price less than
2444: $\sum_{i=1}^n p(s_i)$. The city must pick the bids to maximize the
2445: savings.
2446:
2447: Let $\bids$ be the set of all bids. For $u\in\bids$, let $S_u\subset
2448: \objs$ be the objects contained in the bid and let $p(u)$ be the price
2449: quoted in the bid. Let $w(u) = \sum_{s\in S_u}p(s) - p(u)$ be the
2450: \emph{savings} bid $u$ offers over individually purchasing the
2451: objects. Our goal is to choose the winning bids so they do not
2452: duplicate each other and the total savings is maximized. This is just
2453: a simple combinatorial auction and can be solved using the techniques
2454: described in Section~\ref{section-noBudgetConstraints} to yield a
2455: $\beta$-approximation to the problem.
2456:
2457: \alert{Hold on--- if it saves me money, why can't I buy an extra 200
2458: yards of track and throw it away? Seems like non-overlapping bids is
2459: not a restriction here.}
2460: }
2461:
2462: \maybe{110}{}{
2463: \alert{Check how much this duplicates intro.}
2464:
2465: These algorithms are refinements of a
2466: simple greedy algorithm. To find a high-weight independent set using
2467: the greedy algorithm, we mark at each step the heaviest remaining node
2468: with no marked neighbors. The greedy algorithm may perform badly when
2469: it chooses a node that precludes choosing several marginally lighter
2470: nodes picked by the optimal algorithm.
2471: However, the number of optimally-marked nodes adjacent to any
2472: greedily-marked node is bounded by the size of the largest independent
2473: set contained in the neighborhood of any single node in the graph, and
2474: this quantity, which we call the
2475: \buzz{local independence number} of a graph,
2476: gives a bound on the ratio between the
2477: optimal total weight and the total weight attained by the greedy
2478: algorithm. For small-degree graphs or dense graphs,
2479: the local independence number is not very large.
2480:
2481: However, many graphs of interest have neither small degree nor
2482: densely-connected neighborhoods, and yet we might reasonably expect
2483: that a more clever algorithm could approximate the maximum weight
2484: independent set more closely. To take an extreme example, imagine a
2485: star consisting of a single central node of weight $1+\epsilon$
2486: connected to $n-1$ radial nodes of weight $1$ each. The maximum weight
2487: independent set consists of the radial nodes, but the greedy algorithm
2488: grabs the center alone.
2489:
2490: In this case, even though there may be
2491: large independent sets in the \emph{undirected} neighborhoods of some
2492: nodes, by orienting all edges toward the root we can arrange that
2493: there are no large independent sets in the \emph{directed}
2494: neighborhoods of any nodes. An algorithm whose
2495: approximation ratio depends on this latter quantity will outperform
2496: the simple greedy algorithm.
2497: Augmenting the greedy algorithm to consider
2498: additional local
2499: information achieves this desirable behavior without significantly
2500: increasing the running time.
2501: }
2502:
2503:
2504: