A Some NP-Complete Problems
Total Page:16
File Type:pdf, Size:1020Kb
A Some NP-Complete Problems To ask the hard question is simple. But what does it mean? What are we going to do? W. H. Auden In this appendix we present a brief list of NP-complete problems; we restrict ourselves to problems which either were mentioned before or are closely related to subjects treated in the book. A much more extensive list can be found in Garey and Johnson [GaJo79]. Chinese postman (cf. Section 14.5) Let G =(V,A,E) be a mixed graph, where A is the set of directed edges and E the set of undirected edges of G. Moreover, let w be a nonnegative length function on A ∪ E,andc be a positive number. Does there exist a cycle of length at most c in G which contains each edge at least once and which uses the edges in A according to their given orientation? This problem was shown to be NP-complete by Papadimitriou [Pap76], even when G is a planar graph with maximal degree 3 and w(e) = 1 for all edges e. However, it is polynomial for graphs and digraphs; that is, if either A = ∅ or E = ∅. See Theorem 14.5.4 and Exercise 14.5.6. Chromatic index (cf. Section 9.3) Let G be a graph. Is it possible to color the edges of G with k colors, that is, does χ(G) ≤ k hold? Holyer [Hol81] proved that this problem is NP-complete for each k ≥ 3; this holds even for the special case where k =3andG is 3-regular. Chromatic number (cf. Section 9.1) Let G be a graph. Is it possible to color the vertices of G with k colors, that is, does χ(G) ≤ k hold? Karp [Kar72] proved that this problem is NP-complete for each k ≥ 3. Even the special case where k =3andG is a planar graph with maximal 502 A Some NP-Complete Problems degree 4 remains NP-complete; see [GaJS76]. Assuming P =NP,thereisnot even a polynomial approximative algorithm which always needs fewer than 2χ(G) colors; see [GaJo76]. For perfect graphs, the chromatic number can be computed in polynomial time; see [GrLS93]. Clique (cf. Exercise 2.8.3) Let G =(V,E) be a graph and c ≤|V | a positive integer. Does G contain a clique consisting of c vertices? This problem is NP-complete by a result of Karp [Kar72]; thus determin- ing the clique number ω(G) is an NP-hard problem. Also, the related question of whether G contains a clique with at least r|V | vertices, where 0 <r<1, is NP-complete for fixed r.AssumingP= NP, there is not even a polynomial ε-approximative algorithm for determining a maximal clique; see [ArSa02]. However, the problem can be solved in polynomial time for perfect (in partic- ular, for bipartite) graphs; see [GrLS93]. Diameter (cf. Section 3.9) Let G =(V,E) be a connected graph, and let c ≤|V | be a positive integer. Recall that the diameter of G can be determined efficiently; see Section 3.9. However, the following two related problems are NP-complete; see [ChTh78] and [GaJo79]. (1) Does there exist a strongly connected orientation H of G with diameter at most c? Note that Robbins’ theorem allows us to check efficiently whether a strongly connected orientation exists (and to find such an orientation, if possible); see Section 1.6. (2) Let C be a given set of at most |E| nonnegative integers. Does there exist a mapping w : E → C such that G has weighted diameter at most c, that is, such that any two vertices u, v have distance d(u, v) ≤ c in the network (G, w)? This problem remains NP-complete even for C = {0, 1}. Discrete metric realization (cf. Section 3.2) Let D =(dxy)beann × n matrix with integer entries representing distances in a finite metric space . Is there a network (G, w) of total length ≤ k realizing D? Winkler [Win88] proved that this problem – and also the the analogous real problem – is NP-complete. Disjoint paths (cf. Section 7.1) Let G =(V,E) be a graph, s and t be two vertices of G,andk and c be two A Some NP-Complete Problems 503 positive integers. Does G contain k vertex disjoint paths of length at most c from s to t? Itai, Pearl and Shiloach [ItPS82] proved that this problem is NP-complete for each fixed k ≥ 5 (whereas it is polynomial for fixed k ≤ 4). Similar results hold for edge disjoint paths from s to t, and for the analogous problems where each path should contain precisely c edges. In contrast, the maximal number of (edge or vertex) disjoint paths from s to t can be determined efficiently using network flow methods if no restrictions are added; see Section 7.1. Graph partitioning (cf. Section 9.2) Let G =(V,E) be a graph and c a positive integer. The question of whether G can be partitioned into at most c subgraphs of a given type is NP-complete for many classes of subgraphs: for triangles and, more generally, for subgraphs with a given isomorphism type, for Hamiltonian subgraphs, for forests, for cliques, and for matchings. We refer the reader to [GaJo79, §A1.1] and the references given there. In particular, determining the clique partition number θ(G)isanNP- hard problem in general. For perfect graphs, this problem can be solved in polynomial time; see [GrLS93]. Hamiltonian cycle (cf. Sections 1.4 and 2.8) Let G =(V,E) be a graph. Does G contain a Hamiltonian cycle? Karp [Kar72] proved that this problem is NP-complete; it remains NP- complete even if we know a Hamiltonian path of G [PaSt77]; see Theorem 15.7.3. The special cases for bipartite graphs and for planar, 3-connected, 3- regular graphs are still NP-complete; see [Kri75] and [GaJT76]. The analogous problem for directed Hamiltonian cycles in digraphs likewise is NP-complete [Kar72]; see Exercise 2.7.6. Hamiltonian path (cf. Exercise 2.7.7) Does the graph G =(V,E) contain a Hamiltonian path? This problem and the analogous directed problem are NP-complete, even if the start and end vertices of the Hamiltonian path are fixed; see [GaJo79]. Independent set (cf. Exercise 2.8.3) Let G =(V,E) be a graph and c ≤|V | a positive integer. Does G contain an independent set with c elements? Note that the independent sets of G are precisely the cliques of the complementary graph G. This problem is therefore NP-complete in general, but polynomial for perfect graphs (see Clique and Vertex cover). 504 A Some NP-Complete Problems The independent set problem remains NP-complete when restricted to 3-regular planar graphs; see [GaJS76]. Induced subgraph Let G =(V,E) be a graph and c a positive integer. The problem of whether G contains an induced subgraph on c vertices that belongs to a prescribed class of graphs is often NP-complete: for cliques and independent sets (see Clique and Independent set), and also for planar subgraphs, for bipartite subgraphs, for subforests, etc. We refer to [GaJo79, §A1.2] and the references given there. Integer linear programming (cf. Section 14.3) Let A be an m × n integer matrix, c ∈ Zn and b ∈ Zm integer vectors, and d an integer. Does there exist an integer vector x ∈ Zn satisfying x ≥ 0, AxT ≤ bT ,andcxT ≥ d? This problem is NP-complete by a result of Karp [Kar72], whereas the corresponding linear program (where x may have rational entries) can be solved in polynomial time by the work of Khachyan [Kha79]. Longest cycle Let N =(G, w) be a network with a nonnegative length function w, where G is a graph, and let c be a positive integer. Does N contain a cycle of length at least c? This problem is NP-complete even when all edges have length 1; see Ex- ercise 2.7.8. Similar results hold for the analogous directed problem. Longest path (cf. Sections 2.7 and 3.1) Let s and t be two vertices in a network N =(G, w) on a graph G, where w is a nonnegative length function, and let c be a positive integer. Does there exist a path from s to t of length at least c? This problem is NP-complete even when all edges have length 1; see Exercise 2.7.8. Similar results hold for the analogous directed problem. Matroid intersection (cf. Section 5.4) Let (E,Si)(i =1, 2, 3) be three matroids on the same set E, and let c be a positive integer. Does E have a subset U of cardinality c which is an indepen- dent set for all three matroids? This problem is NP-complete; see Theorem 5.4.13. Note that the corre- sponding problem for the intersection of two matroids is solvable in polynomial time (even in the weighted case); see [Law75, Law76], [Edm79], [Cun86], and [Whi87]. A Some NP-Complete Problems 505 Max cut (cf. Chapter 6) Let G =(V,E) be a graph with a nonnegative capacity function c, and let b be a positive integer. Does there exist a cut (S, T )ofG with capacity c(S, T ) ≥ b? This problem is NP-complete by a result of Karp [Kar72]; this holds even in the special case where G has maximal degree 3 and c(e) = 1 for all edges e;see [Yan78]. Thus determining a cut of maximal capacity is an NP-hard problem, whereas the analogous problem for cuts of minimal capacity is easy.