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.

792<br />

Chapter !3 Randomized <strong>Algorithm</strong>s<br />

n<br />

Set fli=f(fll fl2"’’fli-l,~i)<br />

Eadfor<br />

Output fl<br />

One could view this is as a type of "stream cipher with feedback." One<br />

problem with this approach is that, if any bit a~ gets corrupted in transmission,<br />

it will corrupt the computed value of ~1 for all ] > i.<br />

We consider the following problem. A sender S wants to transmit the<br />

R k. With each<br />

one, he shares a different secret function f~. Thus he sends a different<br />

encrypted message ~I0 to each receiver, so that a~0 decrypts to fl when<br />

the above algorithm is run with the function f(0.<br />

Unfortunately, the communication channels are very noisy, so each of<br />

the n bits in each of the k transmissions is independently corrupted (i.e.,<br />

flipped to its complement) with probability 1/4. Thus no single receiver<br />

on his or her own is likely to be able to decrypt the message corrhctly.’<br />

Show, however, that ff k is large enough as a function of n, then the k<br />

receivers can jointly reconstruct the plain-text message in the following<br />

way. They get together, and without revealing any of the ~0 or the f~0,<br />

they interactively run an algorithm that will produce the correct fl with<br />

probability at least 9/!0. (How large do you need k to be inyour algorithm?)<br />

17. Consider the following simple model of gambling in the presence of bad<br />

odds. At the beginning, your net profit is 0. You play for a sequence of n<br />

rounds; and in each round, your net profit increases by 1 with probability<br />

1/3, and decreases by 1 with probability 2/3.<br />

Show that the expected number of steps in which your net profit is<br />

positive can be upper-bounded by an absolute constant, independent of<br />

the value of n.<br />

18. In this problem, we will consider the following simple randomized algorithm<br />

for the Vertex Cover <strong>Algorithm</strong>.<br />

Start with S=~<br />

While S is not a vertex cover,<br />

Select au edge e not covered by S<br />

Select one end of e at random (each end equally likely)<br />

Add the selected node to $<br />

Endwhile<br />

Notes and Further Reading<br />

We wi~ be interested in the expected cost of a vertex cover selected by<br />

this algorithm.<br />

(a) Is this algorithm a c-approximation algorithm for the Minimum<br />

Weight Vertex Cover Problem for some constant c? Prove your answer.<br />

Is this algorithm a c-approximation algorithm for the M~h~imum Cardinality<br />

Vertex Cover Problem for some constant c? Prove your answer.<br />

(Hint; For an edge, let Pe denote the probability that edge e is<br />

selected as an uncovered edge in this algorithm. Can you express<br />

the expected value of the solution in terms of these probabilities? To<br />

bound the value of an optimal solution in terms of the Pe probabilities,<br />

try to bound the sum of the probabilities for the edges incident to a<br />

given vertex v, namely, Pe.)<br />

e incident to u<br />

Notes and Further Reading<br />

The use of randomization in algorithms is an active research area; the books<br />

by Motwani and Raghavan (1995) and Mitzenmacher and Upfal (2005) are<br />

devoted to this topic. As the contents of this chapter make clear, the types<br />

of probabilistic arguments used in the study of basic randomized algorithms<br />

often have a discrete, combinatorial flavor; one can get background in this<br />

style of probabilistic analysis from the book by Feller (1957).<br />

The use of randomization for contention resolution is common in many<br />

systems and networking applications. Ethernet-style shared communication<br />

media, for example, use randomized backoff protocols to reduce the number<br />

of collisions among different senders; see the book by Bertsekas and Gallager<br />

(1992) for a discussion of this topic.<br />

The randomized algorithm for the Minimum-Cut Problem described in the<br />

text is due to Karger, and afier further optimizafions due to Karger and Stein<br />

(1996), it has become one of the most efficient approaches to the minimum<br />

cut problem. A number of further extensions and applications of the algorithm<br />

appear in Karger’s (1995) Ph.D. thesis.<br />

The approximation algorithm for MAX 3-SAT is due to Johnson (!974), in<br />

a paper that contains a number of early approximation algorithms for NP-hard<br />

problems. The surprising punch line to that section--that every instance of 3-<br />

SAT has an assignment satisfying at least 7/8 of the clauses--is an example<br />

of the probabilistic method, whereby a combinatorial structure with a desired<br />

property is shown to exist simply by arguing that a random structure has<br />

the property with positive probability. This has grown into a highly refined<br />

793

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

Saved successfully!

Ooh no, something went wrong!