VIEWS: 2 PAGES: 30 POSTED ON: 5/19/2012 Public Domain
Network Algorithms Set Problems: Vertex Cover, Dominating set, Clique, Independent set Basic problems • Several basic graph problems: – Finding subsets of vertices or edges with simple property – as small or as large as possible – Coloring (next time) • Relations • NP-completeness • Algorithms 2 Network Algorithms Vertex cover • Set of vertices W V with for all {x,y} E: x W or y W. • Vertex Cover problem: – Given G, find vertex cover of minimum size 3 Network Algorithms Dominating Set • Set of vertices W such that for all v V: v W or v has a neighbor w with w W. • Dominating Set problem: find dominating set of minimum size • E.g.: facility location problems 4 Network Algorithms Clique and Independent Set • Clique: Set of vertices W with for all v, w W: {v,w} E. • Independent set: Set of vertices W with for all v, w W: {v,w} E. • Clique problem: find largest clique. • Independent set problem: find largest independent set 5 Network Algorithms Relations • The following are equivalent – G has an independent set with at least k vertices – The complement of G has a clique with at least k vertices – G has a vertex cover with at most n-k vertices 6 Network Algorithms NP-completeness • Theorem: Dominating Set is NP-complete • Membership in NP: OK • Transformation from 3-Sat. – One vertex for x(i) = true – One vertex for x(i) = false, with edge to the above – One vertex extra per x(i) with edges to the two above – One vertex per clause with edges to literals in it – Ask for a dominating set of size n (= nb of variables) 7 Network Algorithms NP-completeness of Vertex Cover • In NP: OK • Transformation from 3-sat – One triangle per clause – One edge per variable – Take edge between occurrence of variable in variable-edge and in clause-triangle – Ask for vertex cover of size 2r+n, when r clauses and n variables 8 Network Algorithms Corollaries • Clique and independent set are NP- complete • By equivalence lemma 9 Network Algorithms Approximation • Clique, IS are very hard to approximate • Approximation algorithm with ratio 2 for vertex cover – H = G, S = – Repeat until H is empty • Select an edge {v,w} . Put v and w in S, and remove v, w, and all adjacent edges from H • Does not translate to approx. algorithm for clique or independent set – E.g., take a graph with 1000 vertices and a vertex cover of size 498. 10 Network Algorithms Vertex cover in bipartite graphs • In a bipartite graph: the minimum size of a vertex cover equals the maximum size of a matching – If we have a matching: each edge must have an endpoint in the vertex cover – In the other direction: • Let X be a vertex cover. Take flow model. Look at the edges from s to vertices in X, and from vertices in X to t. These form a cut. Now use the min-cut max-flow theorem. 11 Network Algorithms Bipartite graphs • We saw: min vertex cover in bipartite graph equals maximum matching • Corollary: independent set in bipartite graph is polynomial time computable 12 Network Algorithms Special cases for independent set • For many types of graphs (e.g., planar) IS stays NP-complete when restricted to these graphs. • Some special cases are polynomial – Trees, bounded treewidth – Bipartite graphs – Interval graphs, circular arc graphs 13 Network Algorithms Interval graphs • Each vertex represents an interval • Edge between two vertices when their intervals have non- empty intersection • Independent set on interval graphs models room-booking problem • Greedy algorithm for IS on interval graphs is optimal: – Repeat: • Select vertex v with leftmost right-endpoint of interval • Remove v and its neighbors • Clique is trivial on interval graphs 14 Network Algorithms Circular arc graphs • Like interval graphs, but now `intervals on a circle’. • If we remove a vertex and its neighbors from an circular arc graph, then we get an interval graph • Algorithm, e.g.: – for all vertices v do • Compute the maximum independent set of G minus v and its neighbors – If the largest i.s. is found for v*, output that set with v* added. 15 Network Algorithms Perfect graphs • A graph G is perfect if for each induced subgraph H of G: the size of the maximum clique in H equals the chromatic number of H (nb of colors needed to `vertex color H’). • Strong perfect graph theorem (conjectured Berge 1966, proven Chudnowsky, Robertson, Seymour, Thomas, 2002). – G is perfect, if and only if G does not contain an induced subgraph that is a cycle without additional edges of odd length at least four, and the complement of G also does not contain such a cycle. (`No odd hole or antihole’) 16 Network Algorithms Coloring and independent set in perfect graphs • Polynomial time algorithm for finding the maximum independent set and the coloring number of a perfect graph – Grötschel, Lovasz, Schrijver (1981) – Uses Linear Programming methods 17 Network Algorithms Approximating Dominating Set • Can be done with ratio O( log n) • Here: algorithm for generalization: set covering problem • Given: set X, collection C of subsets of X • Find: smallest number of sets from C such that its union is X. – From DS to Set Covering: For each vertex v, take a set Sv in the collection, with Sv = {v} N(v). 18 Network Algorithms Greedy approximation of Set Covering problem • U=X • A= • While U • Do – Select an S from C with maximum | S U| – A = A {S} –U=U–S • Output A 19 Network Algorithms Ratio • H(n) = Si=1…n 1/i • Theorem. Greedy algorithm gives a number of sets that is at most H( max{|S| | S C}) times the optimal number of sets. • Corollary: Greedy algorithm has ratio O(log n). 20 Network Algorithms Proof (1) • Assign a cost 1 to each selected set. • Spread this cost evenly over the newly covered elements, cx. • Say A* is optimal solution, A solution by algorithm. • |A| = Sx X cx SS A* Sx S cx • We’ll proof: Sx S cx H(|S|) • That proves the theorem. 21 Network Algorithms Sx S cx H(|S|) • Consider some S in C. • Write ui = number of elements of S that still are in U after i sets have been taken = |S – (S1 … Si). u0 = |S|. • Suppose uk = 0; uk-1 >0. • ui-1 – ui > 0 elements from S were covered for the first time by Si. Sx S cx = Si=1…k (ui-1 – ui)* 1/(|Si –((S1 … Si-1)| Si=1…k (ui-1 – ui)/ ui-1 22 Network Algorithms Proof continues Sx S cx Si=1…k (ui-1 – ui)/ ui-1 Si=1…k (H(ui-1) – H(ui)) = H(u0) – H(uk) = H(|S|) – 0. • Use H(b) – H(a) (b – a)/b • Now we showed: Sx S cx H(|S|) 23 Network Algorithms Comments • (I)LP methods work also: log n ratio • O(log n) is the best one can hope for unless P=NP 24 Network Algorithms Facility location problem • Given: complete graph G, distances d between vertices fulfilling triangle inequality, integer k • Question: find a set S of k vertices, such that the maximum over all vertices v of minw S d(v,w) is as small as possible 25 Network Algorithms Restating the problem • Find the smallest r and a set S such that S is a dominating set of size at most k for the graph Gr formed by the edges of length at most r. • OPT is smallest r. • G2 is square of a graph: edge in G2 when there is a path of length 2 26 Network Algorithms A Lemma • Let I be an independent set in H2. Then |I| is at most the minimum size of a dominating set in H. • Proof: Let D be a minimum dominating set of H. For each v D, N(v) {v} contains at most one vertex from I. 27 Network Algorithms Approximation algorithm for facility location • Sort the values of the lengths of the edges in G, say d1 … dm • For i = 1 to m do – Compute Gx with x = di – Compute Gx2 – Find a maximal independent set I in Gx2 – If it has size at most k, then return I; stop. 28 Network Algorithms Analysis • The optimal solution has cost at least x=di – For y<x: the minimum size of a dominating set in Gy is k+1 or more (use lemma) • Ratio of algorithm is 2 – Each maximal independent set is a domination set, so I is a dominating set in Gx2. – Each vertex has a path of length at most 2 to a vertex in I in Gx: so, I is a k-center with `cost’ at most 2x. 29 Network Algorithms Graphs that are not complete • Given: graph G, distance for each edge d(e), integer k. • Question: find a set S of k vertices, such that the maximum over all vertices of the length of the shortest path to a vertex in S is as small as possible. Can be translated to previous problem: make complete graph with d(v,w) the length of the shortest path from v to w 30 Network Algorithms