Martin Milanič

Size: px
Start display at page:

Download "Martin Milanič"

Transcription

1 1 / 75 Algorithmic Graph Theory Part I - Review of Basic Notions in Graph Theory, Algorithms and Complexity Martin Milanič martin.milanic@upr.si University of Primorska, Koper, Slovenia Dipartimento di Informatica Università degli Studi di Verona, March 2013

2 What we ll do 1 / 75 1 Overview. 2 Basic Graph Theoretic Definitions. 3 Algorithms - Basic Definitions. 4 Graph Representations. 5 Basics of Complexity.

3 Routing Problems 2 / 75 Source:

4 Routing Problems 2 / 75 Source:

5 Traffic Flow Modeling 3 / 75 Source:

6 Shortest Paths 4 / 75 Source:

7 Social Networks 5 / 75 Source:

8 Social Networks 5 / 75 Source:

9 Computer Networks 5 / 75 Source:

10 World Wide Web 6 / 75 Source:

11 Protein Networks 7 / 75 Source:

12 Metabolic Networks Source: 8 / 75

13 Phylogenetic Networks 9 / 75 Source:

14 Map Drawing 10 / 75 Source:

15 Boolean Circuits 11 / 75 Source:

16 What we ll do Week 1 12 / 75 1 Tue March 5: Review of basic notions in graph theory, algorithms and complexity 2 Wed March 6: Graph colorings 3 Thu March 7: Perfect graphs and their subclasses, part 1 4 Fri March 8: Perfect graphs and their subclasses, part 2

17 What we ll do Week 2 13 / 75 1 Tue March 19: Further examples of tractable problems, part 1 2 Wed March 20: Further examples of tractable problems, part 2 Approximation algorithms for graph problems 3 Thu March 21: Lectio Magistralis lecture, Graph classes: interrelations, structure, and algorithmic issues

18 BASIC GRAPH THEORETIC DEFINITIONS. 13 / 75

19 Graphs Graph: G = (V, E) ordered pair, where V = finite set of vertices, E ( V 2) (2-element subsets of V ) set of edges Notation: V(G) = V, E(G) = E. Example: V = {1, 2, 3, 4}, E = {{1, 2},{1, 3},{2, 3},{3, 4}} / 75

20 Graphs 14 / 75 e = {x, y} E: we will write e = xy (= yx) x, y endpoints of the edge e x y Petersen graph

21 Multigraphs multigraphs: loop parallel edges (E is a multisubset of ( V 2) V ) notation e = xy can be ambiguous for multigraphs; if necessary we use an incidence function: ψ(e) = xy some authors use different terminology: graph = multigraph simple graph = graph (without loops and parallel edges) 15 / 75

22 Digraphs 16 / 75 directed graphs (digraphs): D = (V, A) V : vertices, A: directed edges A V V A digraph is simple if it has no loops and no directed parallel edges.

23 Neighborhoods and Degrees 17 / 75 We write x y, x is adjacent to y, if xy E (x and y are neighbors). Neighborhood of vertex x: For X V we write N(x) = N G (x) := {y : y x}. N(X) := N(x)\X x X X N(X)

24 Handshaking Lemma The degree of vertex x: d(x) = d G (x) := N G (x). A vertex v is isolated if d(v) = 0. Handshaking Lemma: For every graph G = (V, E), d(x) = 2 E. Proof: x d(x) = x x V y x 1 = 2 E. Corollary: The number of vertices of odd degree in a graph is even. 18 / 75

25 Degrees in Digraphs 19 / 75 If D = (V, A) is a digraph, we define: N + (x) := {y V : xy A} successors of vertex x N (x) := {y V : yx A} predecessors of vertex x out-degree of vertex x: d + (x) := N + (x) in-degree of vertex x: d (x) := N (x)

26 Isomorphisms 20 / 75 An isomorphism of graphs G 1 = (V 1, E 1 ) and G 2 = (V 2, E 2 ) is a bijective mapping ϕ : V 1 V 2 that preserves adjacencies: uv E 1 ϕ(u)ϕ(v) E 2. If there exists an isomorphism of graphs G 1 and G 2, we say that the graphs are isomorphic. We write G 1 = G2. Example: x a ϕ(c) ϕ(x) ϕ(a) y b = z c ϕ(z) ϕ(b) ϕ(y)

27 Isomorphisms 20 / 75 Example: x a ϕ(c) ϕ(x) ϕ(a) y b = z c ϕ(z) ϕ(b) ϕ(y) Isomorphism is an equivalence relation. Typically, we will not distinguish pairwise isomorphic graphs.

28 Subgraphs A subgraph of a graph G = (V, E): a graph G = (V, E ) such that V V and E E (Note: in order for G to be a graph, we must have E E ( V 2).) Example: a V b c d e V g f A subgraph is: induced if E = E ( V 2). Notation: G = G[V ]. spanning if V = V. 21 / 75

29 Walks, Trails and Paths 22 / 75 A walk of length l in a graph G = (V, E) is a sequence x 0 e 1 x 1 e l x l, where x i V and e i = x i x i 1 E. Remarks: l = number of edges we usually write just x 0 x 1 x k (omitting the e i s) (not for multigraphs) A trail is a walk with all edges distinct. A path is a walk with all vertices distinct. Sometimes we consider a path as a subgraph: P = ({x 0, x 1,..., x l },{e 1,..., e l }).

30 Walks, Trails and Paths 23 / 75 Proposition x-y path in G x-y walk in G. Proof: ( ): trivial ( ): Let x = x 0 e 1 x 1 e l x l = y be a shortest x-y walk. We claim that this is a path. If not, then i < j: x i = x j. But then x = x 0 e 1 x 1 e i x i (= x j )e j+1 x j+1 e l x l = y is a shorter x-y walk, a contradiction.

31 Cycles 24 / 75 A walk is closed if x l = x 0. A cycle: a closed trail such that x 0 x 1 x l 1 is a path. l 3, except for multigraphs, where we can also have l = 1 (loop) and l = 2 (a pair of parallel edges). When defining paths and cycles in digraphs we take into account directions of edges.

32 Distances 25 / 75 The distance between two vertices x and y: d(x, y)(= d G (x, y)) = length of a shortest x-y path (= if x-y path) G x y G d G (x,y) = 1,d G (x,y) = 2

33 Components 26 / 75 A graph is connected if for every two vertices u, v V(G) there exists a path between them. [x is a path of length 0] Components of a graph G: maximal connected subgraphs

34 Euler Tours 27 / 75 An Euler tour (in G) is a closed trail passing through every edge exactly once. Source: the 7 bridges of Königsberg source: wikipedia

35 Euler Tours 28 / 75 Theorem (Euler, 1736) A multigraph G without isolated vertices has an Euler tour G is connected and all vertices are of even degree. Hence, the obvious necessary condition is also sufficient.

36 Hamiltonian Cycles 29 / 75 Hamiltonian cycle: a cycle going through every vertex exactly once. Can we give a simple necessary and sufficient condition for the existence of a Hamiltonian cycle in a graph? Most likely not, since the decision problem whether a given graph is Hamiltonian is NP-complete.

37 Operations on Graphs 30 / 75 The complement of a graph G = (V, E) is the graph G = (V, ( V 2) \ E). (This is the graph with the same vertex set as G, in which two vertices are adjacent if and only if they are not adjacent in G.) Example: v 3 v 3 v 2 v 4 v 2 v 4 v 1 G v 5 v 1 G v 5

38 Operations on Graphs 31 / 75 v V : G v = the subgraph of G induced by the vertex set V \{v}. Similarly, we have G U = G[V \ U] for U V. G e = (V, E \{e}) for e E (spanning subgraph) Similarly, G F = (V, E \ F) for F E.

39 Operations on Graphs 32 / 75 union of graphs: G H: graph (V(G) V(H), E(G) E(H)) intersection of graphs: G H: graph (V(G) V(H), E(G) E(H)) G+H: disjoint union of graphs G and H (Formally: V(G + H) = (V(G) {1}) (V(H) {2}), E(G + H) = {(u, 1)(v, 1) : uv E(G)} {(u, 2)(v, 2) : uv E(H)}) G H join of graphs G and H: disjoint union of graphs G and H together with all possible edges between V(G) {1} and V(H) {2}

40 Complete and Complete Bipartite Graphs 33 / 75 A complete graph: K V := (V, ( V 2) ), we usually write just Kn where n = V ng:= disjoint union of n copies of a graph G K 2 2K 2 Complete bipartite graph: K m,n : graph G = (V, E) such that V = A B, A B =, A = m, B = n and E = {ab : a A, b B}.

41 Paths and Cycles 34 / 75 Path P n : graph G = (V, E) with V = {v 1,..., v n } and E = {v 1 v 2,..., v n 1 v n }. Cycle C n : graph G = (V, E) with V = {v 1,..., v n } and E = {v 1 v 2,..., v n 1 v n, v n v 1 }.

42 Forests and Trees 35 / 75 a forest = a graph without cycles (acyclic graph) a tree = a connected forest Proposition Let T = (V, E) be a graph with n vertices. The following are equivalent: 1 T is a tree. 2 T is a connected graph and E = n 1. 3 E = n 1 and T is acyclic. 4 Every pair of vertices in graph T is joined by a unique path. 5 T is connected and for every edge e E(T) the graph T e is not connected. 6 T is an acyclic graph, but if we add an arbitrary edge to T, we obtain exactly one cycle.

43 ALGORITHMS - BASIC DEFINITIONS. 35 / 75

44 Algorithms 36 / 75 An algorithm is every well defined sequence of rules with which we compute something or solve some problem. A mathematical formalization of an algorithm is given by the notion of a Turing machine. An algorithm transforms input data into output data. Example: Algorithm that solves a system of linear equations Ax = b: Gaussian elimination with partial pivoting Input: A (an invertible matrix of order n), b (a vector of order n) Output: x (sought solution) if the decomposition of matrix A succeeded, or a message that due to rounding errors decomposition did not succeed

45 Algorithms 37 / 75 We require from an algorithm that it stops after a finite number of calculation steps. When developing an algorithm for a given problem, we should also provide: an analysis of the time complexity of the algorithm; a proof of correctness. The algorithms can be described either in the natural language or in pseudocode.

46 Algorithms Example: An algorithm that computes the product C of two square matrices A and B of order n: MATRIX MULTIPLICATION Input: Real matrices A and B of size n n. Output: Matrix C = A B. for i = 1,...,n do for j = 1,...,n do C[i, j] := A[i, 1] B[1, j]; for k = 2,...,n do C[i, j] := C[i, j]+a[i, k] B[k, j]; end for end for end for return C; The algorithm makes n 3 multiplications and n 2 (n 1) additions. Proof of correctness is obvious. 38 / 75

47 Instances and Their Sizes 39 / 75 We are given an (optimization, decision,...) problem P. Examples: Compute the product of two given matrices of order n. Find the smallest number among n given rational numbers. Determine whether the given graph G has a Hamiltonian cycle. instance: concrete input data for problem P size of the instance: the number of bits needed to store the instance in the computer. We need to choose an appropriate way of representing the instance.

48 Representing the Instances 40 / 75 Examples: We usually store a positive integer n with log 2 n +1 bits (sometimes also with n bits as 11 1 (n ones)). We can store a matrix of n 2 positive integers with at most n 2 log 2 M bits where M is the biggest number in the matrix. Or: with a set of triples {(i, j, a ij ) : a ij 0}. This representation is particularly suitable for matrices with many zero elements. We can represent a graph in several ways (more about this later).

49 Time Complexity of Algorithms 41 / 75 Let A be an algorithm that solves a problem P. Running time of algorithm A = number of basic calculation steps performed by A (additions, subtractions, multiplications, comparison of two numbers...). The time complexity of algorithm A is the function T A (n) that measures the running time of A in the worst case: T A : n largest running time of A of input instances of size n.

50 Time Complexity of Algorithms 42 / 75 Remarks: Besides time complexity, space complexity of an algorithm might also be important (how much computer memory the algorithm needs). If we have a probability distribution on the input instances, we can also estimate the expected time complexity of the algorithm.

51 Big O Notation 43 / 75 A function f : N N is of order (at most) O(g), if there exists a constant C > 0 such that f(n) C g(n) for all n N. Notation: f = O(g) If f = O(g), we also write g Ω(f) and say that g is of order (at least) Ω(f). Two functions f and g are of the same order if f = O(g) and f = Ω(g). Notation: f = Θ(g).

52 Big O Notation 44 / 75 Some properties of O: 1 We can ignore the constant factor: For all k > 0, kf = O(f). 2 Higher powers grow faster than lower ones: n r = O(n s ) if r s. 3 The speed of growth of a sum is the speed of the fastest growing summand: If f = O(g), then f + g = O(g). (Example: 6n 3 + 9n 2 = O(n 3 ).) 4 The order of a polynomial is equal to the order of the leading term: A polynomial of degree d is of order O(n d ). 5 Transitivity: If f = O(g) and g = O(h), then f = O(h).

53 Big O Notation 45 / 75 6 Exponential functions grow faster than power functions: For all k 0, b > 1, it holds n k = O(b n ). (Example: n 4 = O(2 n ), n 4 = O(e n ), n 4 = O( n ).) 7 Logarithms grow slower than power functions: For all k > 0, b > 1, it holds log b n = O(n k ). (Example: log 2 n = O(n 1/2 ).) 8 Logarithms are of the same order: For all b, d > 1, it holds log b n = O(log d n). 9 If f = O(g) and h = O(r), then fh = O(gr). (Example: if f = O(n 2 ) and g = O(log n), then fg = O(n 2 log n).)

54 Typical Time Complexities 46 / 75 Typical time complexities of algorithms: linear Θ(n) finding a maximum element in a table inner product of two vectors quadratic Θ(n 2 ) matrix addition, matrix transposition, multiplication of a matrix and a vector (a matrix is of order n n, a vector has n components; we take n for the measure of size) cubic Θ(n 3 ) typical matrix multiplication polynomial O(p(n)), where p is a polynomial exponential O(2 p(n) ), where p is a polynomial of degree 1 with positive leading coefficient

55 Polynomial Algorithms 47 / 75 An algorithm A is polynomial if its time complexity T A (n) is of the order O(n k ) for some k N. Polynomial algorihtms are also said to be efficient. Example: The following table shows the amount of time an algorithm of time complexity f(n) would need on a computer that performs million operations per second. f(n) n = 50 n = 100 n = 200 n s 10 4 s s n s 0.01 s 0.04 s n s 1 s 8 s 1.1 n s s 190 s 2 n 35.7 years years years

56 Polynomial Algorithms 48 / 75 On a 1000 times faster computer: f(n) n = 50 n = 100 n = 200 n s 10 7 s s n s 10 5 s s n s 10 3 s s 1.1 n s s 0.19 s 2 n 13 days years years

57 GRAPH REPRESENTATIONS. 48 / 75

58 Graph Representations 49 / 75 How to represent a graph in a computer? This depends on what graphs we will work with and what operations we want to preform on them. Let G = (V, E) where V = {v 1,..., v n }, E = {e 1,...,e m }.

59 Adjacency Matrix A(G) 50 / 75 Adjacency matrix of a graph G: A(G) = a 11 a a 1n a 21 a a 2n a n1 a n2... a nn, a ij = { 1, if vi v j ; 0, otherwise. Order of magnitude of this representation: O(n 2 )

60 Adjacency Matrix A(G) 51 / 75 Example: v 4 G v 3 A(G) v 1 v 2 v 3 v 4 v 1 v 2 v 3 v v 1 v 2 The definition of adjacency matrix can also be generalized to digraphs and multigraphs. (How?)

61 Adjacency List Representation 52 / 75 Adjacency list representation: A collection of unordered lists, one for each vertex in the graph. Each list describes the set of neighbors of its vertex (in arbitrary order). Example: v 4 G v 3 Adjacency lists: v 1 v 2 v 3 v 4 v 2 v 1 v 3 v 1 v 4 v 2 v 3 v 3 v 1 v 2 Order of magnitude of this representation: n n [1+d(v i )] = n+ d(v i ) = O(n+m) i=1 i=1

62 Adjacency List Representation 53 / 75 This representation is particularly useful for sparse graphs (graphs with O(n) edges). Many useful graphs are sparse : In a country there are several 1000 cities, but only a small number of roads goes out of each city. In Italy there are about 60 million people, but each person has only several 10 or several 100 acquaintances. The adjacency list representation can also be generalized to digraphs and multigraphs. (How?)

63 Comparison of Representations 54 / 75 With adjacency matrix representation each of the following operations takes constant time O(1): 1 check if v i v j, 2 remove an edge, 3 add an edge. With adjacency list representation we need the following time for the three operations: 1 O(d(v i )), since we need to traverse the list of neighbors of v i (or v j ), 2 O(max{d(v i ), d(v j )}), since we need to traverse both lists of neighbors (of v i and of v j ), 3 O(1), since we need to add vertex v i on the list of neighbors of v j and vice versa

64 Comparison of Representations 55 / 75 The space complexity of the adjacency matrix representation is Θ(n 2 ), independently of the number of edges. The space complexity of the adjacency list representation is O(n+m), which is O(n) for sparse graphs. We say that a graph problem is solvable in linear time if it can be solved by an algorithm of time complexity O(n+m) (where n = V, m = E ). We assume adjacency list representation.

65 BASICS OF COMPLEXITY. 55 / 75

66 Decision Problems, Classes P, NP, and co-np 56 / 75 Decision problem: a problem in which the set of instances divides into two sets depending on whether the answer is YES or NO. We define three classes of decision problems: P is the set of decision problems that can be solved by a polynomial algorithm Intuitively: P is the set of problems that can be solved efficiently.

67 Decision Problems, Classes P, NP, and co-np 56 / 75 Decision problem: a problem in which the set of instances divides into two sets depending on whether the answer is YES or NO. We define three classes of decision problems: NP is the set of decision problems with the following property: If the answer is YES then there exists a certificate that enables us to verify this fact in polynomial time.

68 Decision Problems, Classes P, NP, and co-np 56 / 75 Decision problem: a problem in which the set of instances divides into two sets depending on whether the answer is YES or NO. We define three classes of decision problems: NP is the set of decision problems with the following property: If the answer is YES then there exists a certificate that enables us to verify this fact in polynomial time. Intuitively: NP is the set of problems for which we can quickly verify a positive answer if we are given a solution.

69 Decision Problems, Classes P, NP, and co-np Decision problem: a problem in which the set of instances divides into two sets depending on whether the answer is YES or NO. We define three classes of decision problems: NP is the set of decision problems with the following property: If the answer is YES then there exists a certificate that enables us to verify this fact in polynomial time. Intuitively: NP is the set of problems for which we can quickly verify a positive answer if we are given a solution. (Formally: NP is the set of languages recognizable by some Turing machine in polynomial time.) 56 / 75

70 Decision Problems, Classes P, NP, and co-np 56 / 75 Decision problem: a problem in which the set of instances divides into two sets depending on whether the answer is YES or NO. We define three classes of decision problems: co-np is the set of decision problems with the following property: If the answer is NO then there exists a certificate that enables us to verify this fact in polynomial time.

71 Some Polynomial Graph Problems 57 / 75 The following problems are all in P: TOPOLOGICAL SORT: find an ordering of the vertices of a given digraph such that the first endpoint of each edge will precede the last endpoint in the order BREADTH-FIRST SEARCH (BFS): systematically check everything reachable from a given starting vertex DEPTH-FIRST SEARCH (DFS): like BFS, but in a different order SHORTEST PATHS: every edge has a length, find a shortest path between two vertices

72 Some Polynomial Graph Problems (cont d) 57 / 75 The following problems are all in P: MINIMUM SPANNING TREE: every edge has a length, find a set of edges with minimum total length such that every vertex is covered by an edge MAXIMUM FLOW: every (directed) edge has a capacity, find the maximum amount of flow from a source to a sink so that the conservation of flow is preserved MAXIMUM MATCHING: find a largest set of pairwise disjoint edges in a graph

73 Example of a Problem in NP Example: SATISFIABILITY Input: Boolean variables x 1,...,x n, clauses C 1,..., C m over x 1,..., x n [clause = a disjunction of literals Question: (variables or their negations)] Is there a satisfying truth assignment? SATISFIABILITY is in NP : If the answer is YES then every satisfiable truth assignment is a certificate: we can verify in polynomial time whether this is indeed a satisfying assignment. It is widely believed that SATISFIABILITY is not in P and not in co-np, though nobody knows for sure. 58 / 75

74 Decision Problems, Classes P, NP, and co-np Proposition P NP co-np. Proof: P NP : certificate is empty. We can verify a positive answer in polynomial time by solving the problem completely! Similarly for P co-np. Conjecture: P NP. One of the most important mathematical open questions. Clay Mathematics Institute offers million $ for a correct solution to this problem. Conjecture: NP co-np. (If we are able to quickly verify a positive answer, there should be no reason why we should be able to quickly verify a negative answer as well.) Conjecture: P = NP co-np. 59 / 75

75 Decision Problems, Classes P, NP, and co-np 60 / 75 Jack Edmonds believes P = NP co-np : Source:

76 NP-hard Problems 61 / 75 A problem Π is NP-hard if the existence of a polynomial algorithm for Π would imply the existence of a polynomial algorithm for every problem in NP. In other words: Π is NP-hard If Π is solvable in polynomial time then P = NP. Intuitively: if we could solve efficiently just one NP-hard problem Π, then we would be able to solve efficiently every problem whose solution we can verify quickly, by means of an algorithm for problem Π. NP-hard problems are at least as hard as an arbitrary problem in NP.

77 NP-complete Problems 62 / 75 A problem is NP-complete if it is NP-hard and it belongs to NP. These are the hardest problems in NP. If there exists a polynomial time algorithm for just one NP-complete problem, then all NP-complete problems are polynomially solvable. Thousands of NP-complete problems are known. A polynomial algorithm for either of them is very unlikely.

78 NP-complete Problems 63 / 75 NP-hard co-np NP NP-complete P Figure: Most likely relations between classes NP, co-np, NP -complete and NP -hard problems The existence of NP-complete problems is not immediately evident. Theorem (Cook, Levin) SATISFIABILITY is NP-complete.

79 Polynomial Reductions Π 1, Π 2 decision problems Definition Problem Π 1 is polynomially reducible to Π 2, if for every instance I for Π 1 we can construct in polynomial time an instance J = J(I) for problem Π 2 such that the answer to Π 1 given I is the same as the answer to Π 2 given J. Notation: Π 1 Π / 75

80 Polynomial Reductions 65 / 75 To show that a problem Π NP is NP -complete, we reduce a known NP -complete problem to Π. Proposition Suppose that for a problem Π NP there exists an NP -complete problem Π 1 such that Π 1 Π. Then Π is NP-complete.

81 Examples of NP-complete Problems 66 / 75 INDEPENDENT SET Input: Graph G = (V, E), k N Question: Does G contain an independent set of size k? independent set: a subset I V such that u, v I uv E Proposition The INDEPENDENT SET problem is NP -complete. Proof: 1. INDEPENDENT SET NP : we can verify in polynomial time whether I is an independent set of size k.

82 Examples of NP-complete Problems 67 / Reduction from SATISFIABILITY. Example: The set of clauses x 1 x 2, x 2 x 3 x 4, x 1 x 3 x 4, x 1 x 2 x 3 x 4 over the variables x 1, x 2, x 3, x 4 gets mapped to (G, 4), where 4 is the number of clauses and G is the following graph: x 2 x 4 x 3 x 1 x 1 x 3 x 2 x 4 x 1 x 2 x 3 x 4

83 Examples of NP-complete Problems (cont d) CLIQUE Input: Graph G = (V, E), k N Question: Does G contain a clique of size k? clique: a subset C V such that u, v C u v uv E Proposition The CLIQUE problem is NP -complete. Proof: 1. CLIQUE NP : we can verify in polynomial time whether C is a clique of size k. 2. INDEPENDENT SET CLIQUE I = (G, k) instance for INDEPENDENT SET J(I) = (G, k) instance for CLIQUE 68 / 75

84 Examples of NP-complete Problems (cont d) VERTEX COVER Input: Graph G = (V, E), k N Question: Does G contain a vertex cover of size k? vertex cover: a subset C V such that for all e E, e C Proposition The VERTEX COVER problem is NP -complete. Proof: 1. VERTEX COVER NP : we can verify in polynomial time whether C is a vertex cover of size k. 2. INDEPENDENT SET VERTEX COVER I = (G = (V, E), k) instance for INDEPENDENT SET J(I) = (G, V k) instance for VERTEX COVER 69 / 75

85 Examples of NP-complete Problems (cont d) 70 / 75 DOMINATING SET Input: Graph G = (V, E), k N Question: Does G contain a dominating set of size k? dominating set: a set D V such that every vertex is either in D or has a neighbor in D Proposition The DOMINATING SET problem is NP -complete. Proof: 1. DOMINATING SET NP : we can verify in polynomial time whether D is a dominating set of size k.

86 Examples of NP-complete Problems (cont d) 71 / VERTEX COVER DOMINATING SET I = (G = (V, E), k) instance for VERTEX COVER J(I) = (G = (V, E ), k) instance for DOMINATING SET where: V = V E, V is a clique in G, E is an independent set in G, ve E(G ) v V, e E, v is an endpoint of e.

87 Some Further NP-complete Problems 72 / 75 The following problems are NP-complete: 3-SATISFIABILITY: just like SATISFIABILITY, except that every clause consists of exactly 3 literals (2-SATISFIABILITY P.) 3-COLORABILITY: can the vertex set of a given graph be partitioned into 3 (possibly empty) independent sets? (2-COLORABILITY P.) HAMILTIONIAN CYCLE: does a given graph have a Hamiltonian cycle?

88 Some Further NP-complete Problems (cont d) 72 / 75 The following problems are NP-complete: TRAVELING SALESMAN: does a given edge-weighted graph have a Hamiltonian cycle of total length L METRIC TRAVELING SALESMAN: like TRAVELING SALESMAN, except that the lengths satisfy triangle inequality MAX CUT: does a given graph admit a partition of its vertex set into two sets such that there are at least k edges between them?

89 How to Deal With NP -complete Problems? 73 / 75 There are several approaches on how to deal with the intractability of NP -complete problems: polynomial algorithms for particular input instances approximation algorithms heuristics, local optimization efficient exponential algorithms (e.g., 1.5 n instead of 2 n ) randomized algorithms parameterized complexity (fixed-parameter tractable (FPT) algorithms)

90 What we ll do Week 1 74 / 75 1 Tue March 5: Review of basic notions in graph theory, algorithms and complexity 2 Wed March 6: Graph colorings 3 Thu March 7: Perfect graphs and their subclasses, part 1 4 Fri March 8: Perfect graphs and their subclasses, part 2

91 What we ll do Week 2 75 / 75 1 Tue March 19: Further examples of tractable problems, part 1 2 Wed March 20: Further examples of tractable problems, part 2 Approximation algorithms for graph problems 3 Thu March 21: Lectio Magistralis lecture, Graph classes: interrelations, structure, and algorithmic issues

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

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

Preliminaries and Complexity Theory

Preliminaries and Complexity Theory Preliminaries and Complexity Theory Oleksandr Romanko CAS 746 - Advanced Topics in Combinatorial Optimization McMaster University, January 16, 2006 Introduction Book structure: 2 Part I Linear Algebra

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

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

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

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

CS/COE

CS/COE CS/COE 1501 www.cs.pitt.edu/~nlf4/cs1501/ P vs NP But first, something completely different... Some computational problems are unsolvable No algorithm can be written that will always produce the correct

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

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

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

Introduction to Complexity Theory

Introduction to Complexity Theory Introduction to Complexity Theory Read K & S Chapter 6. Most computational problems you will face your life are solvable (decidable). We have yet to address whether a problem is easy or hard. Complexity

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

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

Chapter 3. Complexity of algorithms

Chapter 3. Complexity of algorithms Chapter 3 Complexity of algorithms In this chapter, we see how problems may be classified according to their level of difficulty. Most problems that we consider in these notes are of general character,

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

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

Polynomial-Time Reductions

Polynomial-Time Reductions Reductions 1 Polynomial-Time Reductions Classify Problems According to Computational Requirements Q. Which problems will we be able to solve in practice? A working definition. [von Neumann 1953, Godel

More information

List of Theorems. Mat 416, Introduction to Graph Theory. Theorem 1 The numbers R(p, q) exist and for p, q 2,

List of Theorems. Mat 416, Introduction to Graph Theory. Theorem 1 The numbers R(p, q) exist and for p, q 2, List of Theorems Mat 416, Introduction to Graph Theory 1. Ramsey s Theorem for graphs 8.3.11. Theorem 1 The numbers R(p, q) exist and for p, q 2, R(p, q) R(p 1, q) + R(p, q 1). If both summands on the

More information

Chapter 3: Proving NP-completeness Results

Chapter 3: Proving NP-completeness Results Chapter 3: Proving NP-completeness Results Six Basic NP-Complete Problems Some Techniques for Proving NP-Completeness Some Suggested Exercises 1.1 Six Basic NP-Complete Problems 3-SATISFIABILITY (3SAT)

More information

Discrete Optimization 2010 Lecture 10 P, N P, and N PCompleteness

Discrete Optimization 2010 Lecture 10 P, N P, and N PCompleteness Discrete Optimization 2010 Lecture 10 P, N P, and N PCompleteness Marc Uetz University of Twente m.uetz@utwente.nl Lecture 9: sheet 1 / 31 Marc Uetz Discrete Optimization Outline 1 N P and co-n P 2 N P-completeness

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

Graph Theory and Optimization Computational Complexity (in brief)

Graph Theory and Optimization Computational Complexity (in brief) Graph Theory and Optimization Computational Complexity (in brief) Nicolas Nisse Inria, France Univ. Nice Sophia Antipolis, CNRS, I3S, UMR 7271, Sophia Antipolis, France September 2015 N. Nisse Graph Theory

More information

Induced Subgraph Isomorphism on proper interval and bipartite permutation graphs

Induced Subgraph Isomorphism on proper interval and bipartite permutation graphs Induced Subgraph Isomorphism on proper interval and bipartite permutation graphs Pinar Heggernes Pim van t Hof Daniel Meister Yngve Villanger Abstract Given two graphs G and H as input, the Induced Subgraph

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

Geometric Steiner Trees

Geometric Steiner Trees 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

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

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

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

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

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

NP-Complete Problems and Approximation Algorithms

NP-Complete Problems and Approximation Algorithms NP-Complete Problems and Approximation Algorithms Efficiency of Algorithms Algorithms that have time efficiency of O(n k ), that is polynomial of the input size, are considered to be tractable or easy

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

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

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)}

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} Preliminaries Graphs G = (V, E), V : set of vertices E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) 1 2 3 5 4 V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} 1 Directed Graph (Digraph)

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

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

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

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

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

COMP Analysis of Algorithms & Data Structures

COMP Analysis of Algorithms & Data Structures COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Computational Complexity CLRS 34.1-34.4 University of Manitoba COMP 3170 - Analysis of Algorithms & Data Structures 1 / 50 Polynomial

More information

Graph G = (V, E). V ={vertices}, E={edges}. V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),( a,h),(a,k),(b,c),(b,k),...,(h,k)}

Graph G = (V, E). V ={vertices}, E={edges}. V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),( a,h),(a,k),(b,c),(b,k),...,(h,k)} Graph Theory Graph G = (V, E). V ={vertices}, E={edges}. a b c h k d g f e V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),( a,h),(a,k),(b,c),(b,k),...,(h,k)} E =16. Digraph D = (V, A). V ={vertices}, E={edges}.

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

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: NP-Completeness I Date: 11/13/18

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: NP-Completeness I Date: 11/13/18 601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: NP-Completeness I Date: 11/13/18 20.1 Introduction Definition 20.1.1 We say that an algorithm runs in polynomial time if its running

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-Completeness. NP-Completeness 1

NP-Completeness. NP-Completeness 1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979. NP-Completeness 1 General Problems, Input Size and

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

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

Graph Theory. Thomas Bloom. February 6, 2015

Graph Theory. Thomas Bloom. February 6, 2015 Graph Theory Thomas Bloom February 6, 2015 1 Lecture 1 Introduction A graph (for the purposes of these lectures) is a finite set of vertices, some of which are connected by a single edge. Most importantly,

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

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

CS 350 Algorithms and Complexity

CS 350 Algorithms and Complexity CS 350 Algorithms and Complexity Winter 2019 Lecture 15: Limitations of Algorithmic Power Introduction to complexity theory Andrew P. Black Department of Computer Science Portland State University Lower

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

NP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness

NP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness Lecture 19 NP-Completeness I 19.1 Overview In the past few lectures we have looked at increasingly more expressive problems that we were able to solve using efficient algorithms. In this lecture we introduce

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

Algorithms. NP -Complete Problems. Dong Kyue Kim Hanyang University

Algorithms. NP -Complete Problems. Dong Kyue Kim Hanyang University Algorithms NP -Complete Problems Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr The Class P Definition 13.2 Polynomially bounded An algorithm is said to be polynomially bounded if its worst-case

More information

Theory of Computation Chapter 9

Theory of Computation Chapter 9 0-0 Theory of Computation Chapter 9 Guan-Shieng Huang May 12, 2003 NP-completeness Problems NP: the class of languages decided by nondeterministic Turing machine in polynomial time NP-completeness: Cook

More information

THE COMPLEXITY OF DISSOCIATION SET PROBLEMS IN GRAPHS. 1. Introduction

THE COMPLEXITY OF DISSOCIATION SET PROBLEMS IN GRAPHS. 1. Introduction THE COMPLEXITY OF DISSOCIATION SET PROBLEMS IN GRAPHS YURY ORLOVICH, ALEXANDRE DOLGUI, GERD FINKE, VALERY GORDON, FRANK WERNER Abstract. A subset of vertices in a graph is called a dissociation set if

More information

ICS 252 Introduction to Computer Design

ICS 252 Introduction to Computer Design ICS 252 fall 2006 Eli Bozorgzadeh Computer Science Department-UCI References and Copyright Textbooks referred [Mic94] G. De Micheli Synthesis and Optimization of Digital Circuits McGraw-Hill, 1994. [CLR90]

More information

Theory of Computation Chapter 1: Introduction

Theory of Computation Chapter 1: Introduction Theory of Computation Chapter 1: Introduction Guan-Shieng Huang Sep. 20, 2006 Feb. 9, 2009 0-0 Text Book Computational Complexity, by C. H. Papadimitriou, Addison-Wesley, 1994. 1 References Garey, M.R.

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, Coloring, Hamiltonian Cycle, TSP

SAT, Coloring, Hamiltonian Cycle, TSP 1 SAT, Coloring, Hamiltonian Cycle, TSP Slides by Carl Kingsford Apr. 28, 2014 Sects. 8.2, 8.7, 8.5 2 Boolean Formulas Boolean Formulas: Variables: x 1, x 2, x 3 (can be either true or false) Terms: t

More information

i times p(p(... (p( n))...) = n ki.

i times p(p(... (p( n))...) = n ki. Chapter 7 NP Completeness Exercise 7.1 Show that an algorithm that makes at most a constant number of calls to polynomial-time subroutines runs in polynomial time, but that a polynomial number of calls

More information

Graduate Algorithms CS F-21 NP & Approximation Algorithms

Graduate Algorithms CS F-21 NP & Approximation Algorithms Graduate Algorithms CS673-2016F-21 NP & Approximation Algorithms David Galles Department of Computer Science University of San Francisco 21-0: Classes of Problems Consider three problem classes: Polynomial

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

Computational Complexity

Computational Complexity Computational Complexity Problems, instances and algorithms Running time vs. computational complexity General description of the theory of NP-completeness Problem samples 1 Computational Complexity What

More information

arxiv: v3 [cs.ds] 24 Jul 2018

arxiv: v3 [cs.ds] 24 Jul 2018 New Algorithms for Weighted k-domination and Total k-domination Problems in Proper Interval Graphs Nina Chiarelli 1,2, Tatiana Romina Hartinger 1,2, Valeria Alejandra Leoni 3,4, Maria Inés Lopez Pujato

More information

Outline. 1 NP-Completeness Theory. 2 Limitation of Computation. 3 Examples. 4 Decision Problems. 5 Verification Algorithm

Outline. 1 NP-Completeness Theory. 2 Limitation of Computation. 3 Examples. 4 Decision Problems. 5 Verification Algorithm Outline 1 NP-Completeness Theory 2 Limitation of Computation 3 Examples 4 Decision Problems 5 Verification Algorithm 6 Non-Deterministic Algorithm 7 NP-Complete Problems c Hu Ding (Michigan State University)

More information

CS 350 Algorithms and Complexity

CS 350 Algorithms and Complexity 1 CS 350 Algorithms and Complexity Fall 2015 Lecture 15: Limitations of Algorithmic Power Introduction to complexity theory Andrew P. Black Department of Computer Science Portland State University Lower

More information

Admin NP-COMPLETE PROBLEMS. Run-time analysis. Tractable vs. intractable problems 5/2/13. What is a tractable problem?

Admin NP-COMPLETE PROBLEMS. Run-time analysis. Tractable vs. intractable problems 5/2/13. What is a tractable problem? Admin Two more assignments No office hours on tomorrow NP-COMPLETE PROBLEMS Run-time analysis Tractable vs. intractable problems We ve spent a lot of time in this class putting algorithms into specific

More information

GRAPHS WITH MAXIMAL INDUCED MATCHINGS OF THE SAME SIZE. 1. Introduction

GRAPHS WITH MAXIMAL INDUCED MATCHINGS OF THE SAME SIZE. 1. Introduction GRAPHS WITH MAXIMAL INDUCED MATCHINGS OF THE SAME SIZE PHILIPPE BAPTISTE, MIKHAIL Y. KOVALYOV, YURY L. ORLOVICH, FRANK WERNER, IGOR E. ZVEROVICH Abstract. A graph is well-indumatched if all its maximal

More information

NP-Completeness. Subhash Suri. May 15, 2018

NP-Completeness. Subhash Suri. May 15, 2018 NP-Completeness Subhash Suri May 15, 2018 1 Computational Intractability The classical reference for this topic is the book Computers and Intractability: A guide to the theory of NP-Completeness by Michael

More information

MINIMALLY NON-PFAFFIAN GRAPHS

MINIMALLY NON-PFAFFIAN GRAPHS MINIMALLY NON-PFAFFIAN GRAPHS SERGUEI NORINE AND ROBIN THOMAS Abstract. We consider the question of characterizing Pfaffian graphs. We exhibit an infinite family of non-pfaffian graphs minimal with respect

More information

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms Computer Science 385 Analysis of Algorithms Siena College Spring 2011 Topic Notes: Limitations of Algorithms We conclude with a discussion of the limitations of the power of algorithms. That is, what kinds

More information

Classical Complexity and Fixed-Parameter Tractability of Simultaneous Consecutive Ones Submatrix & Editing Problems

Classical Complexity and Fixed-Parameter Tractability of Simultaneous Consecutive Ones Submatrix & Editing Problems Classical Complexity and Fixed-Parameter Tractability of Simultaneous Consecutive Ones Submatrix & Editing Problems Rani M. R, Mohith Jagalmohanan, R. Subashini Binary matrices having simultaneous consecutive

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

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

Some Complexity Problems on Single Input Double Output Controllers

Some Complexity Problems on Single Input Double Output Controllers Some Complexity Problems on Single Input Double Output Controllers K. M. Hangos 1 Zs. Tuza 1,2, A. Yeo 3 1 Computer and Automation Institute, Hungarian Academy of Sciences, H-1111 Budapest, Kende u. 13

More information

1 Matchings in Non-Bipartite Graphs

1 Matchings in Non-Bipartite Graphs CS 598CSC: Combinatorial Optimization Lecture date: Feb 9, 010 Instructor: Chandra Chekuri Scribe: Matthew Yancey 1 Matchings in Non-Bipartite Graphs We discuss matching in general undirected graphs. Given

More information

CS Fall 2011 P and NP Carola Wenk

CS Fall 2011 P and NP Carola Wenk CS3343 -- Fall 2011 P and NP Carola Wenk Slides courtesy of Piotr Indyk with small changes by Carola Wenk 11/29/11 CS 3343 Analysis of Algorithms 1 We have seen so far Algorithms for various problems Running

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

The Mixed Chinese Postman Problem Parameterized by Pathwidth and Treedepth

The Mixed Chinese Postman Problem Parameterized by Pathwidth and Treedepth The Mixed Chinese Postman Problem Parameterized by Pathwidth and Treedepth Gregory Gutin, Mark Jones, and Magnus Wahlström Royal Holloway, University of London Egham, Surrey TW20 0EX, UK Abstract In the

More information

Bounds on the Traveling Salesman Problem

Bounds on the Traveling Salesman Problem Bounds on the Traveling Salesman Problem Sean Zachary Roberson Texas A&M University MATH 613, Graph Theory A common routing problem is as follows: given a collection of stops (for example, towns, stations,

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

Graphs & Algorithms: Advanced Topics Nowhere-Zero Flows

Graphs & Algorithms: Advanced Topics Nowhere-Zero Flows Graphs & Algorithms: Advanced Topics Nowhere-Zero Flows Uli Wagner ETH Zürich Flows Definition Let G = (V, E) be a multigraph (allow loops and parallel edges). An (integer-valued) flow on G (also called

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

NP-complete problems. CSE 101: Design and Analysis of Algorithms Lecture 20

NP-complete problems. CSE 101: Design and Analysis of Algorithms Lecture 20 NP-complete problems CSE 101: Design and Analysis of Algorithms Lecture 20 CSE 101: Design and analysis of algorithms NP-complete problems Reading: Chapter 8 Homework 7 is due today, 11:59 PM Tomorrow

More information

CS 301: Complexity of Algorithms (Term I 2008) Alex Tiskin Harald Räcke. Hamiltonian Cycle. 8.5 Sequencing Problems. Directed Hamiltonian Cycle

CS 301: Complexity of Algorithms (Term I 2008) Alex Tiskin Harald Räcke. Hamiltonian Cycle. 8.5 Sequencing Problems. Directed Hamiltonian Cycle 8.5 Sequencing Problems Basic genres. Packing problems: SET-PACKING, INDEPENDENT SET. Covering problems: SET-COVER, VERTEX-COVER. Constraint satisfaction problems: SAT, 3-SAT. Sequencing problems: HAMILTONIAN-CYCLE,

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

Introduction to Computational Complexity

Introduction to Computational Complexity Introduction to Computational Complexity Tandy Warnow October 30, 2018 CS 173, Introduction to Computational Complexity Tandy Warnow Overview Topics: Solving problems using oracles Proving the answer to

More information

Problem Complexity Classes

Problem Complexity Classes Problem Complexity Classes P, NP, NP-Completeness and Complexity of Approximation Joshua Knowles School of Computer Science The University of Manchester COMP60342 - Week 2 2.15, March 20th 2015 In This

More information

Spring Lecture 21 NP-Complete Problems

Spring Lecture 21 NP-Complete Problems CISC 320 Introduction to Algorithms Spring 2014 Lecture 21 NP-Complete Problems 1 We discuss some hard problems: how hard? (computational complexity) what makes them hard? any solutions? Definitions Decision

More information

Strongly chordal and chordal bipartite graphs are sandwich monotone

Strongly chordal and chordal bipartite graphs are sandwich monotone Strongly chordal and chordal bipartite graphs are sandwich monotone Pinar Heggernes Federico Mancini Charis Papadopoulos R. Sritharan Abstract A graph class is sandwich monotone if, for every pair of its

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

Advanced topic: Space complexity

Advanced topic: Space complexity Advanced topic: Space complexity CSCI 3130 Formal Languages and Automata Theory Siu On CHAN Chinese University of Hong Kong Fall 2016 1/28 Review: time complexity We have looked at how long it takes to

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

arxiv: v1 [cs.dm] 29 Oct 2012

arxiv: v1 [cs.dm] 29 Oct 2012 arxiv:1210.7684v1 [cs.dm] 29 Oct 2012 Square-Root Finding Problem In Graphs, A Complete Dichotomy Theorem. Babak Farzad 1 and Majid Karimi 2 Department of Mathematics Brock University, St. Catharines,

More information

CS 5114: Theory of Algorithms

CS 5114: Theory of Algorithms CS 5114: Theory of Algorithms Clifford A. Shaffer Department of Computer Science Virginia Tech Blacksburg, Virginia Spring 2014 Copyright c 2014 by Clifford A. Shaffer CS 5114: Theory of Algorithms Spring

More information