Martin Milanič
|
|
- Kathlyn Griffith
- 5 years ago
- Views:
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
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 informationCorrectness 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 informationPreliminaries 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 informationP 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 informationDesign 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 informationP, 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 informationCS 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 informationCS/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 informationUC 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 information1.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 informationNP-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 informationIntroduction 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 informationCombinatorial 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 informationAlgorithms 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 informationChapter 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 informationNP-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 informationAlgorithms: 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 informationPolynomial-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 informationList 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 informationChapter 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 informationDiscrete 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 informationNP-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 informationGraph 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 informationInduced 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 informationNP-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 informationGeometric 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 information8. 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 informationSummer 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 informationP 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 informationNP 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 informationNP-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 informationNP-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 informationComplexity 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 informationOutline. 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 informationLimitations 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 informationPreliminaries. 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 informationNP 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 informationLecture 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 informationMore 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 informationChapter 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 informationComplexity 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 informationCOMP 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 informationGraph 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 informationComputational 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
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 informationNP-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 informationNP-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 informationSAT, 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 informationCHAPTER 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 informationGraph 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 informationComplexity, 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 informationEasy 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 informationCS 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 informationComputability 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 informationNP-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 informationNP 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 informationAlgorithms. 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 informationTheory 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 informationTHE 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 informationICS 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 informationTheory 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 informationEssential 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 informationSAT, 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 informationi 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 informationGraduate 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 informationChapter 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 informationComputational 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 informationarxiv: 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 informationOutline. 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 informationCS 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 informationAdmin 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 informationGRAPHS 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 informationNP-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 informationMINIMALLY 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 informationComputer 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 informationClassical 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 information1. 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 informationPolynomial-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 informationSome 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 information1 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 informationCS 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 informationShow 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 informationThe 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 informationBounds 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 informationCOP 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 informationGraphs & 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 informationIntroduction. 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 informationNP-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 informationCS 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 informationIn 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 informationIntroduction 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 informationProblem 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 informationSpring 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 informationStrongly 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 informationNP 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 informationAdvanced 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 informationLecture 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 informationarxiv: 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 informationCS 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