Geometric Steiner Trees

Size: px
Start display at page:

Download "Geometric Steiner Trees"

Transcription

1 Geometric Steiner Trees From the book: Optimal Interconnection Trees in the Plane By Marcus Brazil and Martin Zachariasen Part 3: Computational Complexity and the Steiner Tree Problem Marcus Brazil 2015 Marcus Brazil Geometric Steiner Trees / 53

2 Part 3: Computational Complexity and the Steiner Tree Problem 1 Computational Complexity 2 Formal Languages 3 Polynomial Reductions 4 NP -completeness 5 Computational complexity of Steiner tree problems Marcus Brazil Geometric Steiner Trees / 53

3 Computational Complexity Polynomial Time Problems In Week 1 we discussed combinatorial optimisation problems that can be solved by polynomial time algorithms. Polynomial time algorithms are: generally practical robust under different computational models closed under composition. Examples of combinatorial optimisation problems which have polynomial time algorithms include: Minimum Spanning Tree Problem (MST) Shortest Path problems Maximum Network Flow Problems Linear Programming (LP) Marcus Brazil Geometric Steiner Trees / 53

4 Computational Complexity What is an Optimisation Problem? Our aim is to understand and properly classify those problem that appear to be impossible to solve in polynomial time. There are 3 basic ways of viewing an optimisation problem: 1 Constructive Version: for a given instance of a problem find the optimal feasible solution. 2 Evaluative Version: for a given instance find the optimal cost of a feasible solution. 3 Decision Version: for a given instance and a given integer k, is the cost of the optimal feasible solution at most k? Marcus Brazil Geometric Steiner Trees / 53

5 Computational Complexity What is an Optimisation Problem? For example for the MST problem, we have: 1. Constructive Version Input: Connected graph G, weights: c : E(G) Z Output: MST T 2. Evaluative Version Input: Connected graph G, weights: c : E(G) Z Output: c(t ) where T is an MST. 3. Decision Version Input: Connected graph G, weights: c : E(G) Z, integer k. Output: Yes (1) if c(t ) k where T is an MST, otherwise No (0) Marcus Brazil Geometric Steiner Trees / 53

6 Computational Complexity Formal Definitions of Problems An abstract problem Q is a binary relation on a set I of problem instances and a set S of problem solutions. A decision problem is an abstract problem with S = {yes, no}. Hence, a decision problem can be viewed as a function from I to {0, 1}. To a non-decision problem P, such as a combinatorial optimisation problem, one can associate a decision problem P such that: if P can be solved quickly, then so can P. Consequently, if P is hard to solve, then so is P. if P can be solved easily, then so can P. Consequently, if P is hard to solve, then so is P. Marcus Brazil Geometric Steiner Trees / 53

7 Computational Complexity The class P Definition: The class P P is the class of decision problems which can be solved by a polynomial time algorithm. Our aim over the next few lectures is to study properties of combinatorial optimisation problems that do not appear to belong to P, and to look at how we can formally prove that such problems are difficult to solve. Examples of these hard problems include Integer Programming (IP) The Travelling Salesman Problem The Network Steiner Tree Problem The Euclidean Steiner Tree Problem In Order to study the complexity of algorithms, we first develop the Computer Science concept of formal languages. Marcus Brazil Geometric Steiner Trees / 53

8 Formal Languages Formal Languages From now on we focus on Decision problems, as they allow us to use formal methods from computation theory. For each instance I an abstract decision problem Q can be viewed as a mapping: Q : I {0, 1}. Definitions: Alphabets, languages Alphabet Σ set of symbols (here {0, 1}). Σ set of all strings in Σ. Language L a subset of Σ. A basic principle of computation theory is that problem instances can be encoded as binary strings: e : I {0, 1}. Marcus Brazil Geometric Steiner Trees / 53

9 Formal Languages Formal Languages As long as the encoding is reasonable, the complexity of the problem Q will not be dependent on the encoding. We can now view Q as a language over Σ = {0, 1}: L = {x {0, 1} : x e(i ), Q(x) = 1}. For example: L MST = {e(g, k) : G is a weighted graph, k is an integer, c(t ) k for an MST T } Marcus Brazil Geometric Steiner Trees / 53

10 Formal Languages The class P An algorithm decides L in polynomial time if it accepts or rejects any given string x as belonging to L in polynomial time (in the length of x). Formal Definition: The class P P = {L {0, 1} : there exists an algorithm that decides L in polynomial time} Note: in fact, the word decides in the above can be replaced by accepts. Marcus Brazil Geometric Steiner Trees / 53

11 Formal Languages Polynomial Verification Circuit Satifiability (C-S) Problem Given: A boolean combinatorial circuit composed of AND, OR and NOT gates, with a number of inputs and a single output. Decide: Does there exist a set of boolean input values such that the output value is 1? Marcus Brazil Geometric Steiner Trees / 53

12 Formal Languages Polynomial Verification As a formal language we define the C-S Problem as: L CS = {e(c) : C is a satisfiable boolean circuit} No polynomial time algorithm is known for deciding L CS. However, if we were given an instance C and a set of input values satisfying C (known as a certificate), then we could verify that e(c) L CS in polynomial time. Definition: Verification A verification algorithm A is a two-argument algorithm, with arguments in {0, 1}. The algorithm A, verifies a language L if for each x L with certificate y we have A(x, y) = 1 (and otherwise = 0). That is, L = {x {0, 1} : y {0, 1} such that A(x, y) = 1}. Marcus Brazil Geometric Steiner Trees / 53

13 Formal Languages The Class NP Intuitively, we would expect the class of languages that can be verified in polynomial time to be larger than those that can be decided in polynomial time. We call this class NP: (where L {0, 1} ). Theorem 11 P NP. NP = {L : L can be verified in polynomial time} Does P = NP? This is literally a $1M question. The Clay Mathematics Institute in the USA chose this as one of 7 millennium problems for which they are offering $1M as prize money. See: Marcus Brazil Geometric Steiner Trees / 53

14 Formal Languages The Class NP We would expect that P NP. The strongest evidence of this is the existence of thousands of well-studied NP-Complete problems. If any of these are in P then all problems in NP are in P. We think the world probably looks as follows: Marcus Brazil Geometric Steiner Trees / 53

15 Polynomial Reductions Polynomial Reductions Intuitively: Problem P reduces to problem Q if an algorithm for Q can be used to solve P easily. In this case, P is no harder to solve than Q. Definition: Polynomial reduction A language L 1 reduces to another language L 2 in polynomial time, written as L 1 P L 2, if there exists a polynomial-time computable function f : {0, 1} {0, 1} such that x L 1 if and only if f (x) L 2. A polynomial time algorithm F that computes f is called a reduction algorithm. Marcus Brazil Geometric Steiner Trees / 53

16 Polynomial Reductions Polynomial Reductions Essentially, L 1 P L 2 means that deciding L 1 is no harder than deciding L 2 : Theorem 12 (Polynomial Reductions in P) If L 1, L 2 {0, 1} are languages such that L 1 P L 2, then L 2 P implies L 1 P. Marcus Brazil Geometric Steiner Trees / 53

17 Polynomial Reductions Polynomial Reductions - Examples Example 1: The problem of deciding if a polynomial of degree 2 has integer roots reduces to the problem of deciding if a polynomial of degree 3 has integer roots. If and L 2 = {e(a, b, c) : ax 2 + bx + c has an integer root} L 3 = {e (a, b, c, d) : ax 3 + bx 2 + cx + d has an integer root} then L 2 P L 3, since we can construct a suitable polynomial time reduction algorithm F with f (e(a, b, c)) = e (0, a, b, c). Marcus Brazil Geometric Steiner Trees / 53

18 Polynomial Reductions Polynomial Reductions - Examples Example 2: Let L CS be the formal language of Circuit Satisfiability, and L IP the formal language for Integer Linear Programming (as a decision problem). We claim that L CS P L IP Consider, for example, the following circuit: This circuit can be expressed as a boolean formula: Marcus Brazil Geometric Steiner Trees / 53

19 Polynomial Reductions Polynomial Reductions - Example 2 contd.. y 8 = y 4 y 7 y 6 = (y 1 x 2 ) (y 5 y 3 ) x 5 = ((x 1 x 4 ) x 2 ) ( x 2 (x 3 x 4 )) x 5 = (x 1 x 2 ) (x 4 x 2 ) ( x 2 x 3 ) ( x 2 x 4 ) x 5 Note that the conversion from the circuit to the above conjunctive normal form can be done in polynomial time. For the formula to be satisfied, each clause must be satisfied; ie, for each clause C there must be at least one true literal: x + x C(1 x) 1 x C Thus, satisfying the conjunctive normal form is equivalent to showing that the following IP has a feasible solution: Marcus Brazil Geometric Steiner Trees / 53

20 Polynomial Reductions Polynomial Reductions - Example 2 contd.. x 1 + x 2 1 x 4 + x 2 1 (1 x 2 ) + x 3 1 (1 x 2 ) + (1 x 4 ) 1 (1 x 5 ) 1 0 x i 1 and x i Z for i = 1,..., 5 Clearly this is a polynomial time transformation Such a transformation can be applied to any circuit, showing that L CS P L IP. Marcus Brazil Geometric Steiner Trees / 53

21 NP -completeness NP-completeness Definitions: NP-complete, NP-hard A language L {0, 1} is said to be NP-complete if 1 L NP, and 2 L P L for every L NP. The language L is said to be NP-hard if it satisfies Condition (2) above, but not necessarily Condition (1). Intuitively, problems that are NP-complete are the hardest problems to solve in the class NP. If P NP then these problems will not have a polynomial-time solution. Which problems are NP-complete? Marcus Brazil Geometric Steiner Trees / 53

22 NP -completeness L CS is NP-complete Recall: Circuit Satifiability (C-S) Problem Given a boolean combinatorial circuit composed of AND, OR and NOT gates, with a number of inputs and a single output, is there a set of boolean input values such that the output value is 1? The following theorem is also known as Cook s Theorem. Theorem 13 The Circuit Satifiability Problem is NP-complete. Clearly L CS is in NP. The difficult part of the theorem is to show that any given language L in NP can be polynomially reduced to L CS. Marcus Brazil Geometric Steiner Trees / 53

23 NP -completeness L CS is NP-complete Proof Outline In essence the proof becomes a circuit building exercise. The idea is to build a hardware implementation (in the form of a boolean combinatorial circuit) that corresponds precisely to the running of the verification algorithm A, for the language L Consider a computer that is running a certificate-checking algorithm A. At any point in the execution of the program we can take a snapshot of the relevant areas of the memory, and call this a configuration. The mapping from one configuration to the next can be determined by a boolean circuit M, and the execution of the algorithm A can be viewed as a sequence of at most T (n) such mappings where T is a polynomial function and n is the size of the input strings for A. Marcus Brazil Geometric Steiner Trees / 53

24 NP -completeness L CS is NP-complete Proof Outline Marcus Brazil Geometric Steiner Trees / 53

25 NP -completeness L CS is NP-complete Proof Outline For each x we can build a boolean circuit f (x) composed of copies of M such that x L if and only if f (x) L CS. It is straightforward (but beyond the scope of these lectures) to show that this can be done in polynomial time. Hence L P L CS. QED Marcus Brazil Geometric Steiner Trees / 53

26 NP -completeness General NP-completeness Proofs In general, to show that a language L is NP-complete, we do not have to go through the process of showing every language in NP reduces to L. Instead, we can use the transitivity of P (see Problem Sheet). Theorem 14 (Polynomial reduction for NP-completeness) If L is a language such that L P L for some NP-complete language L, then L is NP-hard. Moreover, if L NP then L is NP-complete. In other words, by reducing a known NP-complete language L to L we implicitly reduce every language in NP to L. Marcus Brazil Geometric Steiner Trees / 53

27 NP -completeness General NP-completeness Proofs This gives a general method for proving that a language is NP-complete. 1 Prove L NP. 2 Select a known NP-complete language L. 3 Design an algorithm F computing a function f : {0, 1} {0, 1} satisfying x L if and only if f (x) L. 4 Prove F runs in polynomial time. Note that as we develop a catalog of known NP-complete problems this methodology becomes easier. Marcus Brazil Geometric Steiner Trees / 53

28 NP -completeness The complexity of IP As a decision problem. we can state IP as follows: Integer Programming (IP) Problem Given: An m n integer matrix A and an integer m-vector b. Decide: Does there exist an integer n-vector x 0 such that Ax = b? The language L IP is the language of instances for which the answer to the above question is yes. Theorem 15 (Complexity of IP) The language L IP is NP-complete. Proof: We prove this by showing that: (1) L IP NP; and (2) L CS P L IP. Marcus Brazil Geometric Steiner Trees / 53

29 NP -completeness The complexity of IP Part (2) we already established in the previous lecture, hence it only remains to prove (1). To prove (1), we have to find bounds on the size of feasible solutions for the IP. It can be shown that if an IP has a feasible solution, then there exists a solution whose components are bounded in size by n (ma max ) 2m+3 (1 + b max ). Hence any such feasible solution to the IP can act as a certificate for verifying the instance, since its representation is polynomial in the size of the input. QED Marcus Brazil Geometric Steiner Trees / 53

30 NP -completeness NP-Complete Problems It follows from the previous part of the Notes that the following decision problems are NP-complete: Circuit Satisfiability (CS): Given a boolean combinatorial circuit composed of AND, OR and NOT gates, with a number of inputs and a single output, decide if there exists a set of boolean input values such that the output value is 1? Conjunctive Normal Form Satisfiability (CNF-SAT): Given a boolean formula in CNF, decide if there exists a truth assignment for the boolean variables such that the formula is satisfied (has a value of 1)? Integer Linear Programming (IP): Given an m n integer matrix A and an integer m-vector b, decide if there exists an integer n-vector x 0 such that Ax = b? Marcus Brazil Geometric Steiner Trees / 53

31 NP -completeness 3-Dimensional Matching is NP-Complete Our aim now is to get a feel for how to prove that other hard decision problems are NP-complete, by treating the construction of the proof as a design problem. 3-Dimensional Matching (3DM) Given: Three sets U, V, W such that U = V = W, and a subset T of U V W. Decide: Does there exist a subset M of T with M = U such that every element of U, V, W is contained in exactly one triple in M? Theorem 16 (Complexity of 3DM) 3DM is NP-complete. Proof: 3DM is clearly in NP. We will show that CNF-SAT P 3DM. Marcus Brazil Geometric Steiner Trees / 53

32 NP -completeness 3-Dimensional Matching is NP-Complete Let F be a CNF boolean formula with variables x 1, x 2,..., x n and clauses C 1, C 2,..., C m. We construct an instance (U, V, W, T ) of 3DM such that the required matching M exists if and only if F is satisfiable. Define: U = {x j i, x j i : i = 1,..., n; j = 1,..., m}. V = {a j i : i = 1,..., n; j = 1,..., m} {v j : j = 1,..., m} {c j i : i = 1,..., n 1; j = 1,..., m}. W = {b j i : i = 1,..., n; j = 1,..., m} {w j : j = 1,..., m} {d j i : i = 1,..., n 1; j = 1,..., m}. Marcus Brazil Geometric Steiner Trees / 53

33 NP -completeness 3-Dimensional Matching is NP-Complete We define T as the union of three types of triples: (1) The triples (x j i, aj i, bj i ) and ( x j i, aj+1 i, b j i ), where i = 1,..., n, j = 1,..., m, a m+1 i = ai 1. The a and b nodes are not in any other triples, which means that in each of these subgraphs (for each i) all the x j i or all the x j i will be involved in matchings. If x i = 0 in a particular truth assignment then we choose the red triples in our matching (and vice versa). 1 x i 2 x i 1 x i 2 x i 3 x i 3 x i Marcus Brazil Geometric Steiner Trees / 53

34 NP -completeness 3-Dimensional Matching is NP-Complete (2) The second type of triple is the set {(λ j, v j, w j ) : j = 1,..., m; λ a literal of C j }. The v and w nodes are not in any other triples, which means that in each of these subgraphs contains exactly one matching. For example, if C j = (x 1 x 2 x 4 ) then the triples in T are: j x1 j x2 j x4 By (1), only true literals are available, so there is a matching only if we can find a true literal for clause C j. Marcus Brazil Geometric Steiner Trees / 53

35 NP -completeness 3-Dimensional Matching is NP-Complete (3) The c and d node triples are garbage collectors, picking up the remaining copies of different literals. They form the set: {(λ k, c j i, d j i ) : i = 1,..., n; j = 1,..., m; k = i,..., m; λ a literal}. It is now easily checked that F is satisfiable if and only if (U, V, W, T ) contains a 3D matching. QED We illustrate this with a construction for the instance F = (x 1 x 2 ) ( x 1 x 2 ) (where the c and d nodes are not shown). Marcus Brazil Geometric Steiner Trees / 53

36 NP -completeness 3-Dimensional Matching is NP-Complete The matching shown corresponds to x 1 = 1, x 2 = 0. Marcus Brazil Geometric Steiner Trees / 53

37 NP -completeness NP-Complete Problems A related NP-complete decision problem is the following: Exact Cover by 3-Sets (X3S): Given a set X such that X = 3p and a collection C of 3-element subsets of X, is there a subcollection C C such that each element of X occurs in exactly one member of C The proof that this is NP-complete is an exercise (see the Problem Sheet). Marcus Brazil Geometric Steiner Trees / 53

38 Computational complexity of Steiner tree problems The Steiner Tree Problem in Graphs Recall the following definition of this problem. Steiner tree problem in graphs Given: An undirected, connected and edge-weighted graph G = (V, E), where c(e) > 0 denotes the weight of edge e E, and a set of terminals N G V. Find: A connected subgraph T = (V (T ), E(T )) in G, such that N G V (T ), and such that T := e E(T ) c(e) is minimised. Since the edge weights are positive, it is easy to see that the subgraph T must be a tree. A tree T = (V (T ), E(T )) that represents a solution to the Steiner tree problem in graphs is called a minimum Steiner tree. We now consider the decision version of this problem. Marcus Brazil Geometric Steiner Trees / 53

39 Computational complexity of Steiner tree problems The Steiner Tree Problem in Graphs Steiner Tree problem in Graphs (STG) Given: An undirected, connected and edge-weighted graph G = (V, E), where c(e) > 0 denotes the weight of edge e E; a set of terminals N G V ; a positive integer k. Decide: Does there exist a connected subgraph T = (V (T ), E(T )) in G, such that N G V (T ), and such that T k? A more specific decision problem is the following: Steiner Tree problem in Bipartite Graphs (STBG) Given: An undirected, connected bipartite graph G = (V, E); a set of terminals N G V such that there are no adjacent vertices in N or V N; a positive integer k. Decide: Does there exist a connected subgraph T = (V (T ), E(T )) in G, such that N G V (T ), and such that E(T ) k? Marcus Brazil Geometric Steiner Trees / 53

40 Computational complexity of Steiner tree problems The Steiner Tree Problem in Graphs Trivially, STBG P STG. Theorem 17 (Complexity of STBG) STBG is NP-complete (and hence STG is NP-complete). Proof: STBG is clearly in NP. We will show that X3C P STBG. For any given instance (X, C, p, q : X = 3p, C = q) of X3C we construct an instance of STBG with graph G = (V, E) as follows: V = v 0 X C N = v 0 X E = {(v 0, C i ) : i = 1,..., q} k = 4p {(x j, C i ) : x j C i, i = 1,..., q, j = 1,..., 3p} Marcus Brazil Geometric Steiner Trees / 53

41 Computational complexity of Steiner tree problems The Steiner Tree Problem in Graphs This construction can clearly be done in polynomial time. x 1 x 2 x 3 x 4 x 5 C 1 C 2 v 0 x 3p 2 x 3p 1 x 3p C q If the given instance of X3C is satisfied clearly STBG is also satisfied. If C does not contain an exact cover of X then the Steiner minimum tree for the above instance contains at least 4p + 2 vertices and hence at least 4p + 1 edges. QED Marcus Brazil Geometric Steiner Trees / 53

42 Computational complexity of Steiner tree problems The Euclidean Steiner Tree Problem Before proving that the Euclidean Steiner Tree Problem is NP-complete we first require two lemmas. This figure shows one of the two possible infinite regions R ab for two given points a and b. The other region is obtained by reflecting the diagram through the line through a and b. Lemma 18 Let a and b be terminals of a Euclidean minimum Steiner tree T. If there exists a region R ab, as above, containing no terminals of T, then that region also contains no Steiner points of T. R ab a t ab b Marcus Brazil Geometric Steiner Trees / 53

43 Computational complexity of Steiner tree problems The Euclidean Steiner Tree Problem We also make use of the computational complexity of the following problem. Subset sum problem Given: A set S = {d 1,..., d n } of integers and an integer d. Decide: Is there a set J {1,..., n} such that i J d i = d? Lemma 19 The subset sum problem is NP-complete. This can be proved via a polynomial reduction of 3BCNFS (as defined in Problem sheet 2). Marcus Brazil Geometric Steiner Trees / 53

44 Computational complexity of Steiner tree problems The Euclidean Steiner Tree Problem We now consider a restricted version of the Steiner Tree problem. Parallel lines Euclidean Steiner tree decision problem Given: A finite set of points N lying on two parallel lines in the Euclidean plane and a positive integer L. Decide: Does there exist a Euclidean Steiner tree T with terminal set N such that T L? In order to avoid issues related to the theoretical complexity of computing with exact real arithmetic, we consider a discretised version of the problem, where the coordinates of the terminals are constrained to be integers and the length of an edge is the Euclidean length rounded up to the nearest integer. In the proof outline we initially ignore this technical issue, and address it at the end. Marcus Brazil Geometric Steiner Trees / 53

45 Computational complexity of Steiner tree problems The Euclidean Steiner Tree Problem Theorem 20 The discretised parallel lines Euclidean Steiner tree decision problem is NP-complete. Proof: Let d(a, b) represent the Euclidean distance between the points or parallel lines a and b. Let S = {d 1,..., d n } and d < n i=1 d i := D be a given instance of the subset sum problem. We show how to use this instance to construct (in polynomial time) an equivalent instance of the parallel lines Euclidean Steiner tree problem. The theorem then follows. We describe the construction in four stages: Marcus Brazil Geometric Steiner Trees / 53

46 Computational complexity of Steiner tree problems Theorem 20 construction - Stage 1 Let V 1, V 1, V 2, V 2 be four vertical lines ordered from left to right such that V 1 V 1 V 2 V 2 v d(v 1, V 2 ) d(v 1, V 1) = d(v 2, V 2 ) D. Let u 0 be a fixed point on V 2, and construct a zigzag path P between u 0 and a point on V 1 (labelled v), such that: P is composed of line segments with alternating polar angles 2π/3 and π/3; P has 2n internal vertices (where n is the cardinality of S); and these internal vertices lie alternatively on V 1 and V 2. u 0 Marcus Brazil Geometric Steiner Trees / 53

47 Computational complexity of Steiner tree problems Theorem 20 construction - Stage 2 From each internal vertex of P on V 1 extend a horizontal line segment to a point on V 1. Label these n points x 1 to x n in ascending order. Similarly, from each internal vertex of P on V 2 extend a horizontal line segment to a point on V 2, and label these points u 1 to u n in ascending order. This results in a Euclidean Steiner tree interconnecting u 0, the u i s, x i s and v. In fact, this is a minimum Steiner tree on these vertices by Lemma 17 (see Problem sheet 2). We call this tree the base tree T x. V 1 V 1 V 2 V 2 v x 2 x 1 u n u 1 u 0 Marcus Brazil Geometric Steiner Trees / 53

48 Computational complexity of Steiner tree problems Theorem 20 construction - Stage 3 Replace each point x i by 3 points on V 1 labelled, from bottom to top, a i, b i and c i, satisfying: a i b i = b i c i = d i ; and x i is the midpoint of a i b i. We also alter T x, so that it connects to a i, b i and c i, instead of x i, as shown. Let N v be the set consisting of u 0, the u i s, a i s, b i s, c i s and v. We denote this Steiner tree on N v by T v. We refer to the topology of the base tree T x (from Stage 2) as the base topology of T v. Claim 1 T x and T v are each the unique minimum Steiner tree for their respective terminal sets. d i d i x i V 1 c i b i a i Marcus Brazil Geometric Steiner Trees / 53

49 Computational complexity of Steiner tree problems Theorem 20 construction - Stage 4 Let v 0 be the point on V 1 below v such that v 0 v = 2d. Let N 0 be the set N v where v has been replaced by v 0. Let T 0 be a minimum Steiner tree for N 0. Claim 2 The minimum Steiner tree T 0 has the same base topology as T v. Furthermore, for each triple, a i, b i and c i, the main full component of T 0 either connects directly to a i and b i only, as in the figure in the previous slide, or to b i and c i only, as in the figure on this slide. d i d i V 1 c i b i x i a i We can think of T 0 as being the new minimum Steiner tree obtained from T v by moving the terminal v vertically downwards by 2d. Marcus Brazil Geometric Steiner Trees / 53

50 Computational complexity of Steiner tree problems Theorem 20 proof - Claim 3 It is straightforward to compute T v in terms of d(v 1, V 2 ), d(v 1, V 1 ), n and the elements of S (see Problem Sheet). Let L v := T v. Also, observe that in the main full component of T v, containing all the Steiner points, one of the three orientations of edges is horizontal. We describe such a tree as a horizontal-edge Steiner tree. Claim 3 The following three statements are equivalent: (A) The answer to the given instance of the subset sum problem is yes. (B) There exists a horizontal-edge minimum Steiner tree on N 0 with the same base topology as T v. (C) There exists a Steiner tree on N 0 with length at most L v 3d. Marcus Brazil Geometric Steiner Trees / 53

51 Computational complexity of Steiner tree problems Theorem 20 Sketch proof of Claim 3 The claims (A) (B) and (B) (C) essentially follow from the geometry of the construction. In T x, if we treat v and one of the terminals x i as movable points along V 1, and we move x i vertically upwards by a distance δ, how does the position of v on V 1 change so that T x remains a horizontal-edge Steiner tree? As shown in the figure, the answer is 2δ downwards. V 1 V 1 V 2 V 2 v 2δ { x i+1 δ { x i 2δ 3 u n u i Marcus Brazil Geometric Steiner Trees / 53

52 Computational complexity of Steiner tree problems Theorem 20 Sketch proof of Claim 3 The final step is to show that (B) (C). The length of the main component of a horizontal-edge Steiner tree on N 0 (if it exists) can be realised by a horizontal Simpson line, as shown. If the minimum Steiner tree on N 0 is not horizontal-edge, then the corresponding Simpson line can be shown to be strictly longer, and the result follows. V i V 1 c i e i t i e i bi s i p 0 a i Marcus Brazil Geometric Steiner Trees / 53

53 Computational complexity of Steiner tree problems Theorem 20 descretisation The last step in proving the theorem is to show that the above arguments still apply when considering the descretised problem. We need to be able to distinguish between yes and no instances in the discretised problem. More precisely, as shown in the proof of Claim 3 above, we need to be able to distinguish between horizontal-edge minimum Steiner trees and non horizontal-edge minimum Steiner trees. A technical argument (not given here) shows this can be done given a suitable polynomial scaling of the construction. QED Theorem 21 The parallel lines Euclidean Steiner tree decision problem is NP-hard and hence the general Euclidean Steiner tree decision problem is NP-hard. Marcus Brazil Geometric Steiner Trees / 53

NP-completeness. Chapter 34. Sergey Bereg

NP-completeness. Chapter 34. Sergey Bereg NP-completeness Chapter 34 Sergey Bereg Oct 2017 Examples Some problems admit polynomial time algorithms, i.e. O(n k ) running time where n is the input size. We will study a class of NP-complete problems

More information

CS 320, Fall Dr. Geri Georg, Instructor 320 NP 1

CS 320, Fall Dr. Geri Georg, Instructor 320 NP 1 NP CS 320, Fall 2017 Dr. Geri Georg, Instructor georg@colostate.edu 320 NP 1 NP Complete A class of problems where: No polynomial time algorithm has been discovered No proof that one doesn t exist 320

More information

NP-Complete problems

NP-Complete problems NP-Complete problems NP-complete problems (NPC): A subset of NP. If any NP-complete problem can be solved in polynomial time, then every problem in NP has a polynomial time solution. NP-complete languages

More information

P is the class of problems for which there are algorithms that solve the problem in time O(n k ) for some constant k.

P is the class of problems for which there are algorithms that solve the problem in time O(n k ) for some constant k. Complexity Theory Problems are divided into complexity classes. Informally: So far in this course, almost all algorithms had polynomial running time, i.e., on inputs of size n, worst-case running time

More information

NP Completeness. CS 374: Algorithms & Models of Computation, Spring Lecture 23. November 19, 2015

NP Completeness. CS 374: Algorithms & Models of Computation, Spring Lecture 23. November 19, 2015 CS 374: Algorithms & Models of Computation, Spring 2015 NP Completeness Lecture 23 November 19, 2015 Chandra & Lenny (UIUC) CS374 1 Spring 2015 1 / 37 Part I NP-Completeness Chandra & Lenny (UIUC) CS374

More information

P P P NP-Hard: L is NP-hard if for all L NP, L L. Thus, if we could solve L in polynomial. Cook's Theorem and Reductions

P P P NP-Hard: L is NP-hard if for all L NP, L L. Thus, if we could solve L in polynomial. Cook's Theorem and Reductions Summary of the previous lecture Recall that we mentioned the following topics: P: is the set of decision problems (or languages) that are solvable in polynomial time. NP: is the set of decision problems

More information

P, NP, NP-Complete, and NPhard

P, NP, NP-Complete, and NPhard P, NP, NP-Complete, and NPhard Problems Zhenjiang Li 21/09/2011 Outline Algorithm time complicity P and NP problems NP-Complete and NP-Hard problems Algorithm time complicity Outline What is this course

More information

Essential facts about NP-completeness:

Essential facts about NP-completeness: CMPSCI611: NP Completeness Lecture 17 Essential facts about NP-completeness: Any NP-complete problem can be solved by a simple, but exponentially slow algorithm. We don t have polynomial-time solutions

More information

SAT, NP, NP-Completeness

SAT, NP, NP-Completeness CS 473: Algorithms, Spring 2018 SAT, NP, NP-Completeness Lecture 22 April 13, 2018 Most slides are courtesy Prof. Chekuri Ruta (UIUC) CS473 1 Spring 2018 1 / 57 Part I Reductions Continued Ruta (UIUC)

More information

Algorithms: COMP3121/3821/9101/9801

Algorithms: COMP3121/3821/9101/9801 NEW SOUTH WALES Algorithms: COMP3121/3821/9101/9801 Aleks Ignjatović School of Computer Science and Engineering University of New South Wales LECTURE 9: INTRACTABILITY COMP3121/3821/9101/9801 1 / 29 Feasibility

More information

Chapter 34: NP-Completeness

Chapter 34: NP-Completeness Graph Algorithms - Spring 2011 Set 17. Lecturer: Huilan Chang Reference: Cormen, Leiserson, Rivest, and Stein, Introduction to Algorithms, 2nd Edition, The MIT Press. Chapter 34: NP-Completeness 2. Polynomial-time

More information

1.1 P, NP, and NP-complete

1.1 P, NP, and NP-complete CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: Introduction to NP-complete Problems Date: 11/01/2008 Lecturer: Lap Chi Lau Scribe: Jerry Jilin Le This lecture gives a general introduction

More information

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013 Chapter 2 Reductions and NP CS 573: Algorithms, Fall 2013 August 29, 2013 2.1 Reductions Continued 2.1.1 The Satisfiability Problem SAT 2.1.1.1 Propositional Formulas Definition 2.1.1. Consider a set of

More information

Lecture 18: P & NP. Revised, May 1, CLRS, pp

Lecture 18: P & NP. Revised, May 1, CLRS, pp Lecture 18: P & NP Revised, May 1, 2003 CLRS, pp.966-982 The course so far: techniques for designing efficient algorithms, e.g., divide-and-conquer, dynamic-programming, greedy-algorithms. What happens

More information

NP-Complete Problems. More reductions

NP-Complete Problems. More reductions NP-Complete Problems More reductions Definitions P: problems that can be solved in polynomial time (typically in n, size of input) on a deterministic Turing machine Any normal computer simulates a DTM

More information

NP-Completeness Review

NP-Completeness Review CS124 NP-Completeness Review Where We Are Headed Up to this point, we have generally assumed that if we were given a problem, we could find a way to solve it. Unfortunately, as most of you know, there

More information

Lecture #14: NP-Completeness (Chapter 34 Old Edition Chapter 36) Discussion here is from the old edition.

Lecture #14: NP-Completeness (Chapter 34 Old Edition Chapter 36) Discussion here is from the old edition. Lecture #14: 0.0.1 NP-Completeness (Chapter 34 Old Edition Chapter 36) Discussion here is from the old edition. 0.0.2 Preliminaries: Definition 1 n abstract problem Q is a binary relations on a set I of

More information

Intro to Theory of Computation

Intro to Theory of Computation Intro to Theory of Computation LECTURE 25 Last time Class NP Today Polynomial-time reductions Adam Smith; Sofya Raskhodnikova 4/18/2016 L25.1 The classes P and NP P is the class of languages decidable

More information

A An Overview of Complexity Theory for the Algorithm Designer

A An Overview of Complexity Theory for the Algorithm Designer A An Overview of Complexity Theory for the Algorithm Designer A.1 Certificates and the class NP A decision problem is one whose answer is either yes or no. Two examples are: SAT: Given a Boolean formula

More information

NP-Completeness. Andreas Klappenecker. [based on slides by Prof. Welch]

NP-Completeness. Andreas Klappenecker. [based on slides by Prof. Welch] NP-Completeness Andreas Klappenecker [based on slides by Prof. Welch] 1 Prelude: Informal Discussion (Incidentally, we will never get very formal in this course) 2 Polynomial Time Algorithms Most of the

More information

UC Berkeley CS 170: Efficient Algorithms and Intractable Problems Handout 22 Lecturer: David Wagner April 24, Notes 22 for CS 170

UC Berkeley CS 170: Efficient Algorithms and Intractable Problems Handout 22 Lecturer: David Wagner April 24, Notes 22 for CS 170 UC Berkeley CS 170: Efficient Algorithms and Intractable Problems Handout 22 Lecturer: David Wagner April 24, 2003 Notes 22 for CS 170 1 NP-completeness of Circuit-SAT We will prove that the circuit satisfiability

More information

Announcements. Friday Four Square! Problem Set 8 due right now. Problem Set 9 out, due next Friday at 2:15PM. Did you lose a phone in my office?

Announcements. Friday Four Square! Problem Set 8 due right now. Problem Set 9 out, due next Friday at 2:15PM. Did you lose a phone in my office? N P NP Completeness Announcements Friday Four Square! Today at 4:15PM, outside Gates. Problem Set 8 due right now. Problem Set 9 out, due next Friday at 2:15PM. Explore P, NP, and their connection. Did

More information

Lecture 15 - NP Completeness 1

Lecture 15 - NP Completeness 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) February 29, 2018 Lecture 15 - NP Completeness 1 In the last lecture we discussed how to provide

More information

1. Introduction Recap

1. Introduction Recap 1. Introduction Recap 1. Tractable and intractable problems polynomial-boundness: O(n k ) 2. NP-complete problems informal definition 3. Examples of P vs. NP difference may appear only slightly 4. Optimization

More information

Summer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA.

Summer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA. Summer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA NP Completeness Susmita Sur-Kolay Advanced Computing and Microelectronics Unit

More information

Instructor N.Sadagopan Scribe: P.Renjith

Instructor N.Sadagopan Scribe: P.Renjith Indian Institute of Information Technology Design and Manufacturing, Kancheepuram Chennai 600 127, India An Autonomous Institute under MHRD, Govt of India http://www.iiitdm.ac.in COM 501 Advanced Data

More information

Lecture 14 - P v.s. NP 1

Lecture 14 - P v.s. NP 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) February 27, 2018 Lecture 14 - P v.s. NP 1 In this lecture we start Unit 3 on NP-hardness and approximation

More information

Combinatorial Optimization

Combinatorial Optimization Combinatorial Optimization Problem set 8: solutions 1. Fix constants a R and b > 1. For n N, let f(n) = n a and g(n) = b n. Prove that f(n) = o ( g(n) ). Solution. First we observe that g(n) 0 for all

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 26 Computational Intractability Polynomial Time Reductions Sofya Raskhodnikova S. Raskhodnikova; based on slides by A. Smith and K. Wayne L26.1 What algorithms are

More information

1 Primals and Duals: Zero Sum Games

1 Primals and Duals: Zero Sum Games CS 124 Section #11 Zero Sum Games; NP Completeness 4/15/17 1 Primals and Duals: Zero Sum Games We can represent various situations of conflict in life in terms of matrix games. For example, the game shown

More information

On the Computational Hardness of Graph Coloring

On the Computational Hardness of Graph Coloring On the Computational Hardness of Graph Coloring Steven Rutherford June 3, 2011 Contents 1 Introduction 2 2 Turing Machine 2 3 Complexity Classes 3 4 Polynomial Time (P) 4 4.1 COLORED-GRAPH...........................

More information

NP-Complete Reductions 1

NP-Complete Reductions 1 x x x 2 x 2 x 3 x 3 x 4 x 4 CS 4407 2 22 32 Algorithms 3 2 23 3 33 NP-Complete Reductions Prof. Gregory Provan Department of Computer Science University College Cork Lecture Outline x x x 2 x 2 x 3 x 3

More information

NP and Computational Intractability

NP and Computational Intractability NP and Computational Intractability 1 Polynomial-Time Reduction Desiderata'. Suppose we could solve X in polynomial-time. What else could we solve in polynomial time? don't confuse with reduces from Reduction.

More information

Computability and Complexity Theory: An Introduction

Computability and Complexity Theory: An Introduction Computability and Complexity Theory: An Introduction meena@imsc.res.in http://www.imsc.res.in/ meena IMI-IISc, 20 July 2006 p. 1 Understanding Computation Kinds of questions we seek answers to: Is a given

More information

Instructor N.Sadagopan Scribe: P.Renjith. Lecture- Complexity Class- P and NP

Instructor N.Sadagopan Scribe: P.Renjith. Lecture- Complexity Class- P and NP Indian Institute of Information Technology Design and Manufacturing, Kancheepuram Chennai 600 127, India An Autonomous Institute under MHRD, Govt of India http://www.iiitdm.ac.in COM 501 Advanced Data

More information

NP and NP-Completeness

NP and NP-Completeness 0/2/206 Algorithms NP-Completeness 7- Algorithms NP-Completeness 7-2 Efficient Certification NP and NP-Completeness By a solution of a decision problem X we understand a certificate witnessing that an

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms Design and Analysis of Algorithms CSE 5311 Lecture 25 NP Completeness Junzhou Huang, Ph.D. Department of Computer Science and Engineering CSE5311 Design and Analysis of Algorithms 1 NP-Completeness Some

More information

BBM402-Lecture 11: The Class NP

BBM402-Lecture 11: The Class NP BBM402-Lecture 11: The Class NP Lecturer: Lale Özkahya Resources for the presentation: http://ocw.mit.edu/courses/electrical-engineering-andcomputer-science/6-045j-automata-computability-andcomplexity-spring-2011/syllabus/

More information

COP 4531 Complexity & Analysis of Data Structures & Algorithms

COP 4531 Complexity & Analysis of Data Structures & Algorithms COP 4531 Complexity & Analysis of Data Structures & Algorithms Lecture 18 Reductions and NP-completeness Thanks to Kevin Wayne and the text authors who contributed to these slides Classify Problems According

More information

CS154, Lecture 15: Cook-Levin Theorem SAT, 3SAT

CS154, Lecture 15: Cook-Levin Theorem SAT, 3SAT CS154, Lecture 15: Cook-Levin Theorem SAT, 3SAT Definition: A language B is NP-complete if: 1. B NP 2. Every A in NP is poly-time reducible to B That is, A P B When this is true, we say B is NP-hard On

More information

Computational Complexity. IE 496 Lecture 6. Dr. Ted Ralphs

Computational Complexity. IE 496 Lecture 6. Dr. Ted Ralphs Computational Complexity IE 496 Lecture 6 Dr. Ted Ralphs IE496 Lecture 6 1 Reading for This Lecture N&W Sections I.5.1 and I.5.2 Wolsey Chapter 6 Kozen Lectures 21-25 IE496 Lecture 6 2 Introduction to

More information

NP Completeness and Approximation Algorithms

NP Completeness and Approximation Algorithms Winter School on Optimization Techniques December 15-20, 2016 Organized by ACMU, ISI and IEEE CEDA NP Completeness and Approximation Algorithms Susmita Sur-Kolay Advanced Computing and Microelectronic

More information

More on NP and Reductions

More on NP and Reductions Indian Institute of Information Technology Design and Manufacturing, Kancheepuram Chennai 600 127, India An Autonomous Institute under MHRD, Govt of India http://www.iiitdm.ac.in COM 501 Advanced Data

More information

Theory of Computation Time Complexity

Theory of Computation Time Complexity Theory of Computation Time Complexity Bow-Yaw Wang Academia Sinica Spring 2012 Bow-Yaw Wang (Academia Sinica) Time Complexity Spring 2012 1 / 59 Time for Deciding a Language Let us consider A = {0 n 1

More information

Easy Problems vs. Hard Problems. CSE 421 Introduction to Algorithms Winter Is P a good definition of efficient? The class P

Easy Problems vs. Hard Problems. CSE 421 Introduction to Algorithms Winter Is P a good definition of efficient? The class P Easy Problems vs. Hard Problems CSE 421 Introduction to Algorithms Winter 2000 NP-Completeness (Chapter 11) Easy - problems whose worst case running time is bounded by some polynomial in the size of the

More information

CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1

CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1 CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY E. Amaldi Foundations of Operations Research Politecnico di Milano 1 Goal: Evaluate the computational requirements (this course s focus: time) to solve

More information

Polynomial-time Reductions

Polynomial-time Reductions Polynomial-time Reductions Disclaimer: Many denitions in these slides should be taken as the intuitive meaning, as the precise meaning of some of the terms are hard to pin down without introducing the

More information

More NP-Complete Problems

More NP-Complete Problems CS 473: Algorithms, Spring 2018 More NP-Complete Problems Lecture 23 April 17, 2018 Most slides are courtesy Prof. Chekuri Ruta (UIUC) CS473 1 Spring 2018 1 / 57 Recap NP: languages/problems that have

More information

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard

More information

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181. Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität

More information

NP and Computational Intractability

NP and Computational Intractability NP and Computational Intractability 1 Review Basic reduction strategies. Simple equivalence: INDEPENDENT-SET P VERTEX-COVER. Special case to general case: VERTEX-COVER P SET-COVER. Encoding with gadgets:

More information

5. Complexity Theory

5. Complexity Theory Course: Combinatorial Optimisation DOCUMENT LAST MODIFIED: MARCH 2, 2011 VU University Amsterdam 5. Complexity Theory Guido Schäfer March 2011 These lecture notes cover the material of the lectures given

More information

CS21 Decidability and Tractability

CS21 Decidability and Tractability CS21 Decidability and Tractability Lecture 18 February 16, 2018 February 16, 2018 CS21 Lecture 18 1 Outline the complexity class NP 3-SAT is NP-complete NP-complete problems: independent set, vertex cover,

More information

Introduction. Pvs.NPExample

Introduction. Pvs.NPExample Introduction Computer Science & Engineering 423/823 Design and Analysis of Algorithms Lecture 09 NP-Completeness (Chapter 34) Stephen Scott (Adapted from Vinodchandran N. Variyam) sscott@cse.unl.edu I

More information

Limitations of Algorithm Power

Limitations of Algorithm Power Limitations of Algorithm Power Objectives We now move into the third and final major theme for this course. 1. Tools for analyzing algorithms. 2. Design strategies for designing algorithms. 3. Identifying

More information

NP and NP Completeness

NP and NP Completeness CS 374: Algorithms & Models of Computation, Spring 2017 NP and NP Completeness Lecture 23 April 20, 2017 Chandra Chekuri (UIUC) CS374 1 Spring 2017 1 / 44 Part I NP Chandra Chekuri (UIUC) CS374 2 Spring

More information

CS311 Computational Structures. NP-completeness. Lecture 18. Andrew P. Black Andrew Tolmach. Thursday, 2 December 2010

CS311 Computational Structures. NP-completeness. Lecture 18. Andrew P. Black Andrew Tolmach. Thursday, 2 December 2010 CS311 Computational Structures NP-completeness Lecture 18 Andrew P. Black Andrew Tolmach 1 Some complexity classes P = Decidable in polynomial time on deterministic TM ( tractable ) NP = Decidable in polynomial

More information

CS21 Decidability and Tractability

CS21 Decidability and Tractability CS21 Decidability and Tractability Lecture 20 February 23, 2018 February 23, 2018 CS21 Lecture 20 1 Outline the complexity class NP NP-complete probelems: Subset Sum NP-complete problems: NAE-3-SAT, max

More information

In complexity theory, algorithms and problems are classified by the growth order of computation time as a function of instance size.

In complexity theory, algorithms and problems are classified by the growth order of computation time as a function of instance size. 10 2.2. CLASSES OF COMPUTATIONAL COMPLEXITY An optimization problem is defined as a class of similar problems with different input parameters. Each individual case with fixed parameter values is called

More information

8. INTRACTABILITY I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 2/6/18 2:16 AM

8. INTRACTABILITY I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 2/6/18 2:16 AM 8. INTRACTABILITY I poly-time reductions packing and covering problems constraint satisfaction problems sequencing problems partitioning problems graph coloring numerical problems Lecture slides by Kevin

More information

CS 583: Algorithms. NP Completeness Ch 34. Intractability

CS 583: Algorithms. NP Completeness Ch 34. Intractability CS 583: Algorithms NP Completeness Ch 34 Intractability Some problems are intractable: as they grow large, we are unable to solve them in reasonable time What constitutes reasonable time? Standard working

More information

Complexity and NP-completeness

Complexity and NP-completeness Lecture 17 Complexity and NP-completeness Supplemental reading in CLRS: Chapter 34 As an engineer or computer scientist, it is important not only to be able to solve problems, but also to know which problems

More information

NP-Complete Reductions 2

NP-Complete Reductions 2 x 1 x 1 x 2 x 2 x 3 x 3 x 4 x 4 12 22 32 CS 447 11 13 21 23 31 33 Algorithms NP-Complete Reductions 2 Prof. Gregory Provan Department of Computer Science University College Cork 1 Lecture Outline NP-Complete

More information

U.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan August 30, Notes for Lecture 1

U.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan August 30, Notes for Lecture 1 U.C. Berkeley CS278: Computational Complexity Handout N1 Professor Luca Trevisan August 30, 2004 Notes for Lecture 1 This course assumes CS170, or equivalent, as a prerequisite. We will assume that the

More information

The Complexity of Maximum. Matroid-Greedoid Intersection and. Weighted Greedoid Maximization

The Complexity of Maximum. Matroid-Greedoid Intersection and. Weighted Greedoid Maximization Department of Computer Science Series of Publications C Report C-2004-2 The Complexity of Maximum Matroid-Greedoid Intersection and Weighted Greedoid Maximization Taneli Mielikäinen Esko Ukkonen University

More information

CS151 Complexity Theory. Lecture 1 April 3, 2017

CS151 Complexity Theory. Lecture 1 April 3, 2017 CS151 Complexity Theory Lecture 1 April 3, 2017 Complexity Theory Classify problems according to the computational resources required running time storage space parallelism randomness rounds of interaction,

More information

Show that the following problems are NP-complete

Show that the following problems are NP-complete Show that the following problems are NP-complete April 7, 2018 Below is a list of 30 exercises in which you are asked to prove that some problem is NP-complete. The goal is to better understand the theory

More information

CMPT307: Complexity Classes: P and N P Week 13-1

CMPT307: Complexity Classes: P and N P Week 13-1 CMPT307: Complexity Classes: P and N P Week 13-1 Xian Qiu Simon Fraser University xianq@sfu.ca Strings and Languages an alphabet Σ is a finite set of symbols {0, 1}, {T, F}, {a, b,..., z}, N a string x

More information

NP-Completeness. Until now we have been designing algorithms for specific problems

NP-Completeness. Until now we have been designing algorithms for specific problems NP-Completeness 1 Introduction Until now we have been designing algorithms for specific problems We have seen running times O(log n), O(n), O(n log n), O(n 2 ), O(n 3 )... We have also discussed lower

More information

NP-Hardness reductions

NP-Hardness reductions NP-Hardness reductions Definition: P is the class of problems that can be solved in polynomial time, that is n c for a constant c Roughly, if a problem is in P then it's easy, and if it's not in P then

More information

Lecture 25: Cook s Theorem (1997) Steven Skiena. skiena

Lecture 25: Cook s Theorem (1997) Steven Skiena.   skiena Lecture 25: Cook s Theorem (1997) Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Prove that Hamiltonian Path is NP

More information

Recap from Last Time

Recap from Last Time NP-Completeness Recap from Last Time Analyzing NTMs When discussing deterministic TMs, the notion of time complexity is (reasonably) straightforward. Recall: One way of thinking about nondeterminism is

More information

Lecture 19: NP-Completeness 1

Lecture 19: NP-Completeness 1 Lecture 19: NP-Completeness 1 Revised Sun May 25, 2003 Outline of this Lecture Polynomial-time reductions. CLRS pp.984-5 The class N PC. CLRS p. 986 Proving that problems are N PC. SAT, CLIQUE, INDEPENDENT

More information

Part V. Intractable Problems

Part V. Intractable Problems Part V Intractable Problems 507 Chapter 16 N P-Completeness Up to now, we have focused on developing efficient algorithms for solving problems. The word efficient is somewhat subjective, and the degree

More information

NP-Complete Problems. Complexity Class P. .. Cal Poly CSC 349: Design and Analyis of Algorithms Alexander Dekhtyar..

NP-Complete Problems. Complexity Class P. .. Cal Poly CSC 349: Design and Analyis of Algorithms Alexander Dekhtyar.. .. Cal Poly CSC 349: Design and Analyis of Algorithms Alexander Dekhtyar.. Complexity Class P NP-Complete Problems Abstract Problems. An abstract problem Q is a binary relation on sets I of input instances

More information

Lecture 18: More NP-Complete Problems

Lecture 18: More NP-Complete Problems 6.045 Lecture 18: More NP-Complete Problems 1 The Clique Problem a d f c b e g Given a graph G and positive k, does G contain a complete subgraph on k nodes? CLIQUE = { (G,k) G is an undirected graph with

More information

Algorithms Design & Analysis. Approximation Algorithm

Algorithms Design & Analysis. Approximation Algorithm Algorithms Design & Analysis Approximation Algorithm Recap External memory model Merge sort Distribution sort 2 Today s Topics Hard problem Approximation algorithms Metric traveling salesman problem A

More information

Classes of Problems. CS 461, Lecture 23. NP-Hard. Today s Outline. We can characterize many problems into three classes:

Classes of Problems. CS 461, Lecture 23. NP-Hard. Today s Outline. We can characterize many problems into three classes: Classes of Problems We can characterize many problems into three classes: CS 461, Lecture 23 Jared Saia University of New Mexico P is the set of yes/no problems that can be solved in polynomial time. Intuitively

More information

NP-problems continued

NP-problems continued NP-problems continued Page 1 Since SAT and INDEPENDENT SET can be reduced to each other we might think that there would be some similarities between the two problems. In fact, there is one such similarity.

More information

Umans Complexity Theory Lectures

Umans Complexity Theory Lectures Complexity Theory Umans Complexity Theory Lectures Lecture 1a: Problems and Languages Classify problems according to the computational resources required running time storage space parallelism randomness

More information

Lecture 4: NP and computational intractability

Lecture 4: NP and computational intractability Chapter 4 Lecture 4: NP and computational intractability Listen to: Find the longest path, Daniel Barret What do we do today: polynomial time reduction NP, co-np and NP complete problems some examples

More information

CS154, Lecture 13: P vs NP

CS154, Lecture 13: P vs NP CS154, Lecture 13: P vs NP The EXTENDED Church-Turing Thesis Everyone s Intuitive Notion of Efficient Algorithms Polynomial-Time Turing Machines More generally: TM can simulate every reasonable model of

More information

Computational Complexity and Intractability: An Introduction to the Theory of NP. Chapter 9

Computational Complexity and Intractability: An Introduction to the Theory of NP. Chapter 9 1 Computational Complexity and Intractability: An Introduction to the Theory of NP Chapter 9 2 Objectives Classify problems as tractable or intractable Define decision problems Define the class P Define

More information

1 More finite deterministic automata

1 More finite deterministic automata CS 125 Section #6 Finite automata October 18, 2016 1 More finite deterministic automata Exercise. Consider the following game with two players: Repeatedly flip a coin. On heads, player 1 gets a point.

More information

Correctness of Dijkstra s algorithm

Correctness of Dijkstra s algorithm Correctness of Dijkstra s algorithm Invariant: When vertex u is deleted from the priority queue, d[u] is the correct length of the shortest path from the source s to vertex u. Additionally, the value d[u]

More information

Formal definition of P

Formal definition of P Since SAT and INDEPENDENT SET can be reduced to each other we might think that there would be some similarities between the two problems. In fact, there is one such similarity. In SAT we want to know if

More information

The Cook-Levin Theorem

The Cook-Levin Theorem An Exposition Sandip Sinha Anamay Chaturvedi Indian Institute of Science, Bangalore 14th November 14 Introduction Deciding a Language Let L {0, 1} be a language, and let M be a Turing machine. We say M

More information

34.1 Polynomial time. Abstract problems

34.1 Polynomial time. Abstract problems < Day Day Up > 34.1 Polynomial time We begin our study of NP-completeness by formalizing our notion of polynomial-time solvable problems. These problems are generally regarded as tractable, but for philosophical,

More information

CS154, Lecture 13: P vs NP

CS154, Lecture 13: P vs NP CS154, Lecture 13: P vs NP The EXTENDED Church-Turing Thesis Everyone s Intuitive Notion of Efficient Algorithms Polynomial-Time Turing Machines More generally: TM can simulate every reasonable model of

More information

Notes for Lecture 21

Notes for Lecture 21 U.C. Berkeley CS170: Intro to CS Theory Handout N21 Professor Luca Trevisan November 20, 2001 Notes for Lecture 21 1 Tractable and Intractable Problems So far, almost all of the problems that we have studied

More information

CS 5114: Theory of Algorithms. Tractable Problems. Tractable Problems (cont) Decision Problems. Clifford A. Shaffer. Spring 2014

CS 5114: Theory of Algorithms. Tractable Problems. Tractable Problems (cont) Decision Problems. Clifford A. Shaffer. Spring 2014 Department of Computer Science Virginia Tech Blacksburg, Virginia Copyright c 2014 by Clifford A. Shaffer : Theory of Algorithms Title page : Theory of Algorithms Clifford A. Shaffer Spring 2014 Clifford

More information

Lecture 21: Algebraic Computation Models

Lecture 21: Algebraic Computation Models princeton university cos 522: computational complexity Lecture 21: Algebraic Computation Models Lecturer: Sanjeev Arora Scribe:Loukas Georgiadis We think of numerical algorithms root-finding, gaussian

More information

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Nathan Brunelle Department of Computer Science University of Virginia www.cs.virginia.edu/~njb2b/theory

More information

Week Cuts, Branch & Bound, and Lagrangean Relaxation

Week Cuts, Branch & Bound, and Lagrangean Relaxation Week 11 1 Integer Linear Programming This week we will discuss solution methods for solving integer linear programming problems. I will skip the part on complexity theory, Section 11.8, although this is

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 31 P and NP Self-reducibility NP-completeness Adam Smith 12/1/2008 S. Raskhodnikova; based on slides by K. Wayne Central ideas we ll cover Poly-time as feasible most

More information

NP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof

NP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof T-79.5103 / Autumn 2006 NP-complete problems 1 NP-COMPLETE PROBLEMS Characterizing NP Variants of satisfiability Graph-theoretic problems Coloring problems Sets and numbers Pseudopolynomial algorithms

More information

CS Lecture 29 P, NP, and NP-Completeness. k ) for all k. Fall The class P. The class NP

CS Lecture 29 P, NP, and NP-Completeness. k ) for all k. Fall The class P. The class NP CS 301 - Lecture 29 P, NP, and NP-Completeness Fall 2008 Review Languages and Grammars Alphabets, strings, languages Regular Languages Deterministic Finite and Nondeterministic Automata Equivalence of

More information

Complexity, P and NP

Complexity, P and NP Complexity, P and NP EECS 477 Lecture 21, 11/26/2002 Last week Lower bound arguments Information theoretic (12.2) Decision trees (sorting) Adversary arguments (12.3) Maximum of an array Graph connectivity

More information

Computational Intractability 2010/4/15. Lecture 2

Computational Intractability 2010/4/15. Lecture 2 Computational Intractability 2010/4/15 Professor: David Avis Lecture 2 Scribe:Naoki Hatta 1 P and NP 1.1 Definition of P and NP Decision problem it requires yes/no answer. Example: X is a set of strings.

More information