# CS38 Introduction to Algorithms Lecture 18 May 29, CS38 Introduction to Algorithms Lecture 18 May 29, 2014 May 29, 2014 CS38 Lecture 18 1 Outline coping with intractibility approximation algorithms set cover TSP center selection randomness in algorithms

May 29, 2014 CS38 Lecture 18 2 Optimization Problems many hard problems (especially NP-hard) are optimization problems e.g. find shortest TSP tour e.g. find smallest vertex cover e.g. find largest clique may be minimization or maximization problem OPT = value of optimal solution May 29, 2014 CS38 Lecture 18

3 Approximation Algorithms often happy with approximately optimal solution warning: lots of heuristics we want approximation algorithm with guaranteed approximation ratio of r meaning: on every input x, output is guaranteed to have value at most r*opt for minimization at least opt/r for maximization May 29, 2014 CS38 Lecture 18 4 Set Cover

Given subsets S1, S2, , Sn of a universe U of size m, and an integer k is there a cover J of size k cover: [j 2J Sj = U Theorem: set-cover is NP-complete in NP (why?) reduce from vertex cover (how?) May 29, 2014 CS38 Lecture 18 5 Set cover Greedy approximation algorithm: at each step, pick set covering largest number of remaining uncovered items

Theorem: greedy set cover algorithm achieves an approximation ratio of (ln m + 1) May 29, 2014 CS38 Lecture 18 6 Set cover Theorem: greedy set cover algorithm achieves an approximation ratio of (ln m + 1) Proof: let ri be # of items remaining after iteration i r0 = |U| = m Claim: ri (1 1/OPT)ri-1 proof: OPT sets cover all remaining items so some set covers at least 1/OPT fraction May 29, 2014

CS38 Lecture 18 7 Set cover Theorem: greedy set cover algorithm achieves an approximation ratio of (ln m + 1) Proof: Claim: ri (1 1/OPT)ri-1 (1-1/x)x 1/e so ri (1 1/OPT)i m after OPTln m + 1 iterations, # remaining elements is at most m/(2m) so must have covered all m elements. May 29, 2014

CS38 Lecture 18 8 Travelling Salesperson Problem given a complete graph and edge weights satisfying the triangle inequality wa,b + wb,c wa,c for all vertices a,b,c find a shortest tour that visits every vertex Theorem: TSP with triangle inequality is NP-complete in NP (why?) reduce from Hamilton cycle (how?) May 29, 2014 CS38 Lecture 18

9 TSP approximation algorithm two key observations: tour that visits vertices more than once can be short-circuited without increasing cost, by triangle inequality short-circuit = skip already-visited vertices (multi-)graph with all even degrees has Eulerian tour: a tour that uses all edges proof? May 29, 2014 CS38 Lecture 18 10 TSP approximation algorithm

First approximation algorithm: find a Minimum Spanning Tree T double all the edges output an Euler tour (with short-circuiting) Theorem: this approximation algorithm achieves approximation ratio 2 May 29, 2014 CS38 Lecture 18 11 TSP approximation algorithm Theorem: this approximation algorithm achieves approximation ratio 2 Proof: optimal tour includes a MST, so wt(T) OPT

tour we output has weight at most 2wt(T) May 29, 2014 CS38 Lecture 18 12 Christofides algorithm Second approximation algorithm: find a Minimum Spanning Tree T even number of odd-degree vertices (why?) find a min-weight matching M on these output an Euler tour on M [ T (with shortcircuiting) Theorem: this approximation algorithm achieves approximation ratio 1.5 May 29, 2014

CS38 Lecture 18 13 Christofides algorithm Theorem: this approximation algorithm achieves approximation ratio 1.5 Proof: as before OPT wt(T) let R be opt. tour on odd deg. vertices W only even/odd edges of R both constitute perfect matchings on W thus wt(M) wt(R)/2 OPT/2 total: wt(M) + wt(T) 1.5OPT May 29, 2014 CS38 Lecture 18 14

Center selection problem Input. Set of n sites s1, , sn and an integer k > 0. Center selection problem. Select set of k centers C so that maximum distance r(C) from a site to nearest center is minimized. k = 4 centers r(C) center site 1 5 Center selection problem Input. Set of n sites s1, , sn and an integer k > 0. Center selection problem. Select set of k centers C so that maximum

distance r(C) from a site to nearest center is minimized. Notation. dist(x, y) = distance between sites x and y. dist(s , C) = min dist(s , c) = distance from s to closest center. r(C) = max dist(s , C) = smallest covering radius. i cC i i i i Goal. Find set of centers C that minimizes r(C), subject to | C | = k.

Distance function properties. [ identity ] dist(x, x) = 0 [ symmetry ] dist(x, y) = dist(y, x) dist(x, y) dist(x, z) + dist(z, y) [ triangle inequality ] 1 6 Center selection example Ex: each site is a point in the plane, a center can be any point in the plane, dist(x, y) = Euclidean distance. Remark: search can be infinite! k = 4 centers r(C)

center site 1 7 Greedy algorithm: a false start Greedy algorithm. Put the first center at the best possible location for a single center, and then keep adding centers so as to reduce the covering radius each time by as much as possible. Remark: arbitrarily bad! k = 2 centers greedy center 1 center site

1 8 Center selection: greedy algorithm Repeatedly choose next center to be site farthest from any existing center. GREEDY-CENTER-SELECTION (k, n, s1, s2, , sn) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ C .. REPEAT k times Select a site si with maximum distance dist(si, C). C C si. site farthest from any center

RETURN C. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Property. Upon termination, all centers in C are pairwise at least r(C) apart. 1 9 Center selection: analysis of greedy algorithm Theorem. Let C* be an optimal set of centers. Then r(C) 2r(C*). Pf. [by contradiction] Assume r(C*) < r(C). For each site ci C, consider ball of radius r(C) around it. Exactly one c in each ball; let c be the site paired with c . Consider any site s and its closest center c C*. dist(s, C) dist(s, c ) dist(s, c *) + dist(c *, c ) 2r(C*). Thus, r(C) 2r(C*).

* i i i i i -inequalityinequality i i i

r(C) ci r(C) site * r(C*) since ci* is closest center r(C) C* * s

ci* 2 0 Center selection Lemma. Let C* be an optimal set of centers. Then r(C) 2r (C*). Theorem. Greedy algorithm is a 2-inequalityapproximation for center selection problem. Remark. Greedy algorithm always places centers at sites, but is still within a factor of 2 of best solution that is allowed to place centers anywhere. e.g., points in the plane Question. Is there hope of a 3/2-inequalityapproximation? 4/3? 2 1

Randomness in algorithms May 29, 2014 CS38 Lecture 18 22 Randomization Algorithmic design patterns. Greedy. Divide-inequalityand-inequalityconquer. Dynamic programming. Network flow. Randomization. in practice, access to a pseudo-inequalityrandom number generator

Randomization. Allow fair coin flip in unit time. Why randomize? Can lead to simplest, fastest, or only known algorithm for a particular problem. Ex. Symmetry breaking protocols, graph algorithms, quicksort, hashing, load balancing, Monte Carlo integration, cryptography. 2 3 Contention resolution May 29, 2014 CS38 Lecture 18 24

Contention resolution in a distributed system Contention resolution. Given n processes P1, , Pn, each competing for access to a shared database. If two or more processes access the database simultaneously, all processes are locked out. Devise protocol to ensure all processes get through on a regular basis. Restriction. Processes can't communicate. Challenge. Need symmetry-inequalitybreaking paradigm. P1 P2 . . . Pn 2 5

Contention resolution: randomized protocol Protocol. Each process requests access to the database at time t with probability p = 1/n. Claim. Let S[i, t] = event that process i succeeds in accessing the database at time t. Then 1 / (e n) Pr [S(i, t)] 1/(2n). Pf. By independence, Pr [S(i, t)] = p (1 p) process i requests access n1 . none of remaining n-inequality1 processes request access Setting p = 1/n, we have Pr [S(i, t)] value that maximizes Pr[S(i, t)] = 1/n (1 1/n) n 1. between 1/e and 1/2

Useful facts from calculus. As n increases from 2, the function: (1 1/n) (1 1/n) n -inequality1 converges monotonically from 1/4 up to 1 / e. n1 converges monotonically from 1/2 down to 1 / e. 2 6 Contention Resolution: randomized protocol Claim. The probability that process i fails to access the database in

en rounds is at most 1 / e. After e n (c ln n) rounds, the probability n -inequalityc. Pf. Let F[i, t] = event that process i fails to access database in rounds 1 through t. By independence and previous claim, we have Pr [F[i, t]] (1 1/(en)) t. Choose t = e n: Choose t = e n c ln n: 2 7 Contention Resolution: randomized protocol Claim. The probability that all processes succeed within 2e n ln n rounds is 1 1 / n. Pf. Let F[t] = event that at least one of the n processes fails to access database in any of the rounds 1 through t. union bound

Choosing t = 2 en c ln n yields previous slide Pr[F[t]] n n-inequality2 = 1 / n. Union bound. Given events E1, , En, 2 8 Global min cut May 29, 2014 CS38 Lecture 18 29

Global minimum cut Global min cut. Given a connected, undirected graph G = (V, E), find a cut (A, B) of minimum cardinality. Applications. Partitioning items in a database, identify clusters of related documents, network reliability, network design, circuit design, TSP solvers. Network flow solution. Replace every edge (u, v) with two antiparallel edges (u, v) and (v, u). Pick some vertex s and compute min s-inequality v cut separating s from each other vertex v V. False intuition. Global min-inequalitycut is harder than min s-inequalityt cut. 3 0 Contraction algorithm Contraction algorithm. [Karger 1995]

Pick an edge e = (u, v) uniformly at random. Contract edge e. -inequality replace u and v by single new super-inequalitynode w -inequality preserve edges, updating endpoints of u and v to w -inequality keep parallel edges, but delete self-inequalityloops Repeat until graph has just two nodes v1 and v1' Return the cut (all nodes that were contracted to form v ). 1 a b c u

d e v f a c b w contract u-inequalityv f

3 1 Contraction algorithm Contraction algorithm. [Karger 1995] Pick an edge e = (u, v) uniformly at random. Contract edge e. -inequality replace u and v by single new super-inequalitynode w -inequality preserve edges, updating endpoints of u and v to w -inequality keep parallel edges, but delete self-inequalityloops Repeat until graph has just two nodes v1 and v1' Return the cut (all nodes that were contracted to form v ). 1 Reference: Thore Husfeldt

3 2 Contraction algorithm Claim. The contraction algorithm returns a min cut with prob 2 / n2. Pf. Consider a global min-inequalitycut (A*, B*) of G. Let F* be edges with one endpoint in A* and the other in B*. Let k = | F* | = size of min cut. In first step, algorithm contracts an edge in F* probability k / | E |. Every node has degree k since otherwise (A*, B*) would not be a min-inequalitycut | E | k n. Thus, algorithm contracts an edge in F* with probability 2 / n. B*

A* F* 3 3 Contraction algorithm Claim. The contraction algorithm returns a min cut with prob 2 / n2. Pf. Consider a global min-inequalitycut (A*, B*) of G. Let F* be edges with one endpoint in A* and the other in B*. Let k = | F* | = size of min cut. Let G' be graph after j iterations. There are n' = n j supernodes. Suppose no edge in F* has been contracted. The min-inequalitycut in G' is still k. Since value of min-inequalitycut is k, | E' | k n'. Thus, algorithm contracts an edge in F* with probability 2 / n'.

Let E = event that an edge in F* is not contracted in iteration j. j 3 4 Contraction algorithm Amplification. To amplify the probability of success, run the contraction algorithm many times. with independent random choices, Claim. If we repeat the contraction algorithm n2 ln n times, then the probability of failing to find the global min-inequalitycut is 1 / n2. Pf. By independence, the probability of failure is at most (1 1/x)x 1/e 3 5

Contraction algorithm: example execution trial 1 trial 2 trial 3 trial 4 trial 5 (finds min cut) trial 6 ... Reference: Thore Husfeldt

3 6 Global min cut: context Remark. Overall running time is slow since we perform (n2 log n) iterations and each takes (m) time. Improvement. [Karger-inequalityStein 1996] O(n2 log3 n). Early iterations are less risky than later ones: probability of contracting an edge in min cut hits 50% when n / 2 nodes remain. Run contraction algorithm until n / 2 nodes remain. Run contraction algorithm twice on resulting graph and return best of two cuts. Extensions. Naturally generalizes to handle positive weights. Best known. [Karger 2000] O(m log3 n). faster than best known max flow algorithm or

deterministic global min cut algorithm 3 7