04.09.2013 Views

Algorithm Design

Algorithm Design

Algorithm Design

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

598<br />

Chapter 10 Extending the Limits of Tractability<br />

sets of equal size so that the weight of the cut between the two sets is<br />

as large as possible (i.e., the total weight of edges with one end in each<br />

set is as large as possible). Note that the restriction that the graph is a<br />

tree is crucial here, but the assumption that the tree is binary is not. The<br />

problem is NP-hard in general graphs.<br />

Notes and Further Reading<br />

The first topic in this chapter, on how to avoid a rhnning time of O(kn ~+1) for<br />

Vertex Cover, is an example of the general theme of parameterized complexity:<br />

for problems with two such "size parameters" n and k, one generally prefers<br />

running times of the form O(f(k) -p(n)), where p(-) is a polynomial, rather<br />

than running times of the form O(n~). A body of work has grown up around<br />

this issue, including a methodology for identifying NP-complete problems that<br />

are unlikely to allow for such improved running times. This area is covered in<br />

the book by Downey and Fellows (1999).<br />

The problem of coloring a collection of circular arcs was shown to be<br />

NP-complete by Garey, Johnson, Miller, and Papadimitriou (1980). They also<br />

described how the algorithm presented in this chapter follows directly from<br />

a construction due to Tucker (1975). Both Interval Coloring and circular-<br />

Arc Coloring belong to the following class of problems: Take a collection of<br />

geometric objects (such as intervals or arcs), define a graph by joining pairs<br />

of objects that intersect, and study the problem of coloring this graph. The<br />

book on graph co!oring by Jensen and Toff (1995) includes descriptions of a<br />

number of other problems in this style.<br />

The importance of tree decompositions and tree-width was brought into<br />

prominence largely through the work of Robertson and Seymour (1990). The<br />

algorithm for constructing a tree decomposition described in Section 10.5 is<br />

due to Diestel et al. (!999). Further discussion of tree-width and its.role in both<br />

algorithms and graph theory can be found in the survey by Reed (1997) and<br />

the book by Diestel (2000). Tree-width has also come to play an important role<br />

in inference algorithms for probabilistic models in machine learning (Jordan<br />

1998).<br />

Notes on the Exercises Exercise 2 is based on a result of Uwe Sch~ning; and<br />

Exercise 8 is based on a problem we learned from Amit Kumar.<br />

Chapter<br />

Approximation A ~gorithms<br />

Following our encounter with NP-completeness and the idea of computational<br />

intractability in general, we’ve been dealing with a fimdamental question: How<br />

should we design algorithms for problems where polynomial time is probably<br />

an unattainable goal?<br />

In this chapter, we focus On a new theme related to this question: approximation<br />

algorithms, which run in polynomial time and find solutions that are<br />

guaranteed to be close to optimal. There are two key words to notice in this<br />

definition: close and guaranteed. We will not be seeking the optimal solution,<br />

and as a result, it becomes feasible to aim for a polynomial running time. At<br />

the same time, we will be interested in proving that our algorithms find solutions<br />

that are guaranteed to be close to the optimum. There is something<br />

inherently tricky in trying to do this: In order to prove an approximation guarantee,<br />

we need to compare our solution with--and hence reason about--an<br />

optimal solution that is computationally very hard to find. This difficulty wil!<br />

be a recurring issue in the analysis of the algorithms in this chapter.<br />

We will consider four general techniques for designing approximation algorithms.<br />

We start with greedy algorithms, analogous to the kind of algorithms<br />

we developed in Chapter 4. These algorithms will be simple and fast, as in<br />

Chapter 4, with the challenge being to find a greedy rule that leads to solulions<br />

provably close to optimal. The second general approach we pursue is<br />

the pricing method. This approach is motivated by an economic perspective;<br />

we will consider a price one has to pay to enforce each constraint of the problem.<br />

For example, in a graph problem, we can think of the nodes or edges of<br />

the graph sha~ng the cost of the solution in some equitable way. The pricing<br />

method is often referred to as the primal-dual technique, a term inherited from

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!