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.

652<br />

Chapter 11 Approximation <strong>Algorithm</strong>s<br />

¯ Every protein in the full collection should be "similar" to some prorein<br />

in the representative set. (in this way, it truly provides some<br />

information about all the proteins.)<br />

More concretely, there is a large set P of proteins. We define similarity<br />

on proteins by a distance function d: Given two proteins p and q, it returns<br />

a number dLo, q) >_ 0. in fact, the function d(-, -) most typically used is<br />

the sequence alignment measure, which we looked at when we studied<br />

dynamic programming in Chapter 6. We’ll assume this is the distance<br />

beingused here. There is a predefined distance cut-off A that’s specified<br />

as part of the input to the problem; two proteins p and q are deemed to<br />

be "similar" to one another ff and ouly ff d(p, q) _< A.<br />

We say that a subset of P is a representative set if, for every protein<br />

p, there is a protein q in the subset that is similar to it--that is, for which<br />

d(p, q) _< A. Our goal is to find a representative set that is as small as<br />

possible.<br />

(a) Give a polynomial-time algorithm that approximates the minimum<br />

representative set to within a factor of O(log n). Specificaliy, your<br />

algorithm should have the following property: If the minimum possine<br />

size of a representative set is s*, your algorithm should return<br />

a representative set of size at most O(s* log n).<br />

(b) Note the dose similarity between this problem and the Center Selection<br />

Problem--a problem for which we considered approximation<br />

algorithms in Section 11.2. Why doesn’t the algorithm described<br />

there solve the current problem?<br />

3.<br />

Suppose you are given a set of positive integers A = {al, a2 ..... a,} and<br />

a positive integer B. A subset S _ A is called feasible ff the sum of the<br />

numbers in S does not e~xceed/3:<br />

Eai

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

Saved successfully!

Ooh no, something went wrong!